Решение

Создайте новый проект. Сохраните новое приложение в папке Calculator – файл модуля под именем Main.pas, файл проекта – Angle.dpr.

1 этап. Создадим визуальный интерфейс приложения (рис. 4.2.2).

Рис. 4.

Измените значения свойств формы следующим образом:

Name MainF
Caption Перевод из градусной меры угла в радианную

Поместите на форму компонент Label, измените значения свойств следующим образом:

Name DegreeLbl
Caption Введите градусную меру угла

Поместите на форму компонент Edit, измените значения свойств следующим образом:

Name DegreeEdt
Text  

Поместите на форму компонент Button, измените значения свойств следующим образом:

Name ExecuteBtn
Caption Перевести

Поместите на форму компонент Label, измените значения свойств следующим образом:

Name RadianLbl
Caption Радианная мера угла

Поместите на форму компонент Edit, измените значения свойств следующим образом:

Name RadianEdt
Enabled False
Text  

Измените размеры формы в соответствии с расположенными компонентами (рис. 4.).

2 этап. Создание программного кода.

Создайте обработчик события OnClick кнопки ExecuteBtn. Нужно взять информацию, введенную в компонент DegreeEdt преобразовать в соответствии с математической формулой:

Радианная_мера_угла = Градусная_мера_угла * ПИ / 180)

и отобразить результат в компоненте RadianEdt.

При выполнении этих манипуляций может возникнуть проблема преобразования форматов данных. Исходные данные (градусная мера угла – это вещественное число) представлены строкой, хранящейся в компоненте DegreeEdt. Для преобразования строки в вещественное число воспользуемся процедурой Val:

procedure Val(S; var V; var Code: integer),

где s – строковое представление числа, v – параметр, через который процедура возвращает число целого или вещественного типа, Code – если строка s не является представлением числа, то параметр Code содержит номер ошибочного символа.

Итак, в обработчике события OnClick кнопки ExecuteBtn введем следующую последовательность операторов:

procedure TForm1.Button1Click(Sender: TObject);

var Angle_degree, Angle_radian: real;

Error: integer;

Begin

val(DegreeEdt.text, Angle_degree, Error);

if Error = 0 Then begin

Angle_radian:= Angle_degree*Pi/180;

RadianEdt.text:=FloatToStr(Angle_Radian);

End


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: