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

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 и щелкнуть на кнопке ОК.