- •Министерство науки и образования российской федерации
- •Лабораторная работа №1
- •Цель работы
- •Среда визуального проектирования Delphi
- •4.1. Форма приложения
- •3.2. Компоненты формы
- •4.3. Событие и обработчик события
- •4.4. Сохранение проекта
- •5. Запуск приложения
- •6. Структура простой программы Delphi
- •7. Усовершенствование приложения
- •8. Задание
- •8. Контрольные вопросы
4.3. Событие и обработчик события
Вид созданной формы подсказывает, как работает приложение. Очевидно, что пользователь должен ввести значения коэффициентов в поля редактирования, затем щелкнуть на кнопке Вычислить. Щелчок кнопки мыши это пример события. Событие это то, что происходит во время работы приложения. В Delphi у каждого события есть имя, например щелчок кнопкой мыши это OnClick, двойной щелчок — OnDblClick.
Реакцией на событие должно быть какое-либо действие. Например реакцией на событие OnClick, произошедшее на кнопке Вычислить, должно быть вычисление корней уравнения. В Delphi реакция на событие реализуется как процедура его обработки, называемая обработчиком события. Таким образом, задача программиста состоит в написании необходимых обработчиков событий.
Методику создания обработчика события (или просто обработчика) рассмотрим на примере обработчика для кнопки Вычислить.
|
|
|
Сначала надо выделить объект, для которого создается обработчик. Затем щелкнуть на ярлычке вкладки Events (События) окна Object Inspector. В результате этих действий в окне Object Inspector появится карточка со списком событий, которые способен воспринимать маркированный компонент, в данном случае — командная кнопка (рис. 10).
В левой колонке вкладки перечислены имена событий, на которые может реагировать маркированный объект. Если для него определен обработчик события, то в правой колонке рядом с наименованием события выводится его имя.
Чтобы создать обработчик события, надо сделать двойной щелчок в поле имени события. В результате открывается окно редактора кода (в Delphiкодом называется текст программы) с макетом процедуры — обработчика события (рис. 11).
Рис. 11. Окно редактора кода с макетом обработчика события
Delphi автоматически присваивает обработчику имя, состоящее из двух частей. Первая идентифицирует форму, содержащую объект, для которого создается обработчик события. Вторая часть имени идентифицирует сам объект и событие. В нашем случае имя формы — Form1, имя командной кнопкиВычислить — Button1, а имя события — Click. Теперь между BEGIN и END можно печатать инструкции языка Pascal, реализующие обработчик события.
Ниже приведен текст процедуры для события Click кнопки Выполнить.
Procedure Tform1.Button1Click(Sender:TObject) ;
var
a,b,с:real; { коэффициенты уравнения }
d:real; { дискриминант }
xl,x2:real; { корни уравнения }
si,s2:string[7 ] ;
code:integer;
begin
{ввод исходных данных из полей редактирования }
val(edit1.text,a,code);
val(edit2.text,b,code);
val(edit3.text,c,code);
if a=0
then (вывод сообщения об ошибке }
label1.caption:='Ошибка!'+chr(13)
+'Коэффициент при второй степени' +chr(13)+'неизвестного равен нулю'
else begin
{ вычисление корней уравнения }
d:=b*b-4*a*c;
xl:=(-b+sqrt(d))/(2*а);
x2:=(-b-sqrt(d))/(2*a);
{ вывод результата }
str(xl:7:3,sl);
str(x2:7:3,s2);
labell.caption = 'Корни уравнения:' +chr(13)+'xl='+sl
+chr(13)+'x2='+s2;
end;
end;
В приведенном тексте программы нет обычных для Turbo Pascal инструкций READ и WRITE. Исходные данные программа получает из полей редактирования, обращаясь к свойству Text. Вспомните, что именно свойство Text определяет содержимое поля редактирования. Так как характеристикаText содержит текст — данные символьного типа, то для преобразования изображения числа в число в программе используется процедура VAL. ПроцедураSTR помещает в переменные s1 и s2 строковое изображение корней уравнения. Вывод значений вычисленных корней программа осуществляет присвоением свойству Caption метки Labell значения — текста сообщения.
Примечание
Если при наборе текста программы вместо русских букв появляются буквы европейских языков или символы, то надо изменить шрифт, используемый редактором кода. Для этого надо в меню Tools (Параметры) выбрать команду Environment Options (Параметры среды). В появившемся диалоговом окнеEnvironment Options следует выбрать вкладку Display (Окно редактора кода).
Из раскрывающегося списка Editor font (Шрифт редактора кода) надо выбрать шрифт, содержащий русские буквы, например, Courier New и щелкнуть на кнопке ОК.