Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
(3)Визуальные компоненты.doc
Скачиваний:
9
Добавлен:
22.08.2019
Размер:
133.63 Кб
Скачать

Задания для самостоятельного решения

  1. Проследите за изменением состояния компонентов Label, Edit и Button при изменении свойств, перечисленных выше.

  2. Поместите в правый нижний угол формы кнопку на расстоянии 5 пикселей от ее края. Создайте обработчик события, который при изменении размеров формы сохраняет местоположение кнопки.

Упражнение 1. Напишите программу для перевода градусной меры угла в радианную.

Решение

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

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

Рис. 4.

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

Name

MainF

Caption

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

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

Name

DegreeLbl

Caption

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

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

Name

DegreeEdt

Text

0

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

Name

ExecuteBtn

Caption

Перевести

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

Name

RadianLbl

Caption

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

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

Name

RadianEdt

Enabled

False

Text

0

Измените размеры формы в соответствии с расположенными компонентами (рис. 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

else begin

Application.MessageBox(‘Ошибка при вводе градусной меры угла', 'Ошибка', MB_OK);

DegreeEdt.text:='0';

RadianEdt.text:='0';

end;

end;

Поясним операторы обработчика события OnClick.

Первый оператор преобразует введенную в строковом формате градусную меру угла в вещественное число.

Если параметр Error равен нулю, то ошибок при введении числа нет. В этом случае получаем радианную меру угла, функция FloatToStr преобразует вещественное число в строку. В противном случае воспользуемся методом объекта Application для отображения диалогового окна об ошибке, и восстановим нулевые значения в компонентах DegreeEdt и RadianEdt.

Сохраните изменения, внесенные в проект.

Эксперимент. Запустите приложение. Убедитесь в корректной работе созданного приложения. 