Borland Delphi. "Обработчик событий"

Разделы: Информатика


Цели:

  • Обучающая: дать понятие события в ОС Windows и обработчика события в среде Delphi. Изучить основные события и возможности компонентов: Edit, Button, Label.

Оборудование:

  • персональные компьютеры с приложением Boland Delphi for Microsoft Windows;
  • компьютер учителя;
  • мультимедийный проектор;

Учебный и раздаточный материал:

  • учебное пособие;
  • электронный практикум;
  • карточки с заданиями для самостоятельной работы;
  • презентация к уроку.

План урока:

  1. Повторение темы предыдущего урока в форме опроса.
  2. Изучение нового материала.
  3. Самостоятельная работа.
  4. Итог урока.
  5. Домашнее задание.

Ход урока

1. Повторение темы предыдущего урока в форме опроса. Тема предыдущего занятия: "Компонент. Свойства компонента".

Вопросы:

  • что такое компонент?
  • как выбрать и разместить компоненты на форме?
  • какие общие свойства компонентов вы знаете?
  • как можно поменять свойства компонента (например, поменять размер или цвет компонента)?

2. Изучение нового материала.

Сопровождается показом презентации (Приложение1).

Основная идея ООП связана не с выполнением некоторой, заранее написанной последовательности инструкций, а с реагированием на те или иные события. Если не происходит ни одного события из тех, на которые предусмотрена реакция в приложении, оно ничего и не выполняет. Нажали клавишу - приложение отреагировало: его обработчик событий вывел что-либо на экран компьютера, что-то напечатал, то есть вызвал какую-либо процедуру.

Обработчик событий

Любой объект реальной жизни вынужден реагировать на те или иные события окружающего мира: зазвонил телефон - человек берёт трубку, пошёл дождь - мы открываем зонт.

С компьютером тоже связаны различные события: включение питания, нажатие клавиши на клавиатуре, щелчок кнопкой мыши и пр. Среда Delphi предоставляет возможность своим клиентам реагировать на них: она по указанию программиста устанавливает связь специальных процедур компонента, называемых обработчиками событий, с соответствующим механизмом операционной системы.

Событие - это реакция компонента на определённое воздействие.

Windows первой узнает о любом событии, и если связь с обработчиком такого события установлена, передаёт ему управление.

В общем случае это выглядит следующим образом:

На генерацию события программист обычными средствами повлиять не может. В его компетенции только обработать событие, то есть написать процедуру, которая будет выполняться при его возникновении.

Среда Delphi хранит для каждого компонента имена всех его обработчиков событий и выводит их на экран в окне "Инспектор объектов" (Object Inspector) во вкладке "События" (Events).

Для того, чтобы создать обработчик события, необходимо выполнить следующие действия:

  • выберите компонент, для которого необходимо обработать событие.
  • откройте вкладку "События" (Events) и два раза щелкните по правому столбцу выбранного события.

В результате этих действий Delphi автоматически сгенерирует процедуру

обработки события. Имя этой процедуры состоит из имени компонента и названия события. Оно может быть изменено пользователем непосредственно в окне "Инспектор объектов".

Для удаления события нужно только очистить содержимое процедуры (код между словами Begin и End), а при следующей компиляции, Delphi сам удалит ненужный код процедуры.

Событие OnClick

Самый простой способ сообщить приложению о событии - это щёлкнуть мышью на каком-либо компоненте. При щелчке по кнопке мышью в работающей программе возникает событие OnClick (по щелчку). Пока это событие не обрабатывается программой, поэтому нажатие кнопки не приведёт ни к каким последствиям. Чтобы заставить программу реагировать на нажатие кнопки, необходимо написать на языке Object Pascal фрагмент программы, который называется обработчиком события.

Этот фрагмент должен представлять собой последовательность текстовых строк, в которых программист указывает, что именно должна делать программа в ответ на нажатие кнопки. Фрагмент оформляется в виде процедуры на языке Pascal.

Чтобы заставить Delphi самостоятельно сделать заготовку для процедуры обработчика события OnClick, необходимо дважды щёлкнуть по вставленному компоненту. В ответ Delphi активизирует окно кода, в котором можно увидеть следующий фрагмент:

procedure TForm1.Button1Click(Sender: TObject);

begin

end;

Слово procedure извещает компилятор о начале процедуры. За ним следует имя метода TForm1.Button1Click. Это имя составное: оно состоит из имени класса TForm1 и собственно имени метода Button1Click.

Пока имеется только заготовка обработчика - тело метода пусто. Команды, которые будут написаны внутри обработчика, выполнятся при щелчке по компоненту.

Сделаем так, чтобы кнопка закрывала программу. Для этого в пустой строке между словами begin и end необходимо написать следующую команду:

Form1.Close;

Будет вызван метод Close (закрыть) для объекта Form1 (окно программы).

Примеры программ с обработчиком события OnClick можно посмотреть в:

Приложении2 ("ЗАКРЫТЬ");

Приложении3 ("ЧИСЛО");

Приложении4 ("АДРЕСА");

Приложении5 ("ТЕСТ");

Приложении6 ("ПРЫГАЮЩАЯ КНОПКА").

Фрагмент кода на языке Object Pascal приложения "Адреса"(Приложении 4):

procedure TForm1.Button1Click(Sender: TObject);

begin

Label1.Caption:='ул. Базарова, дом 35, кв 35';

end;

procedure TForm1.Button2Click(Sender: TObject);

begin

Label2.Caption:='Проспект Программистов, корпус 3/1, кв. 275';

end;

procedure TForm1.Button3Click(Sender: TObject);

begin

Label3.Caption:='переулок Ковалевской, дом 27, кв 181';

end;

procedure TForm1.Button4Click(Sender: TObject);

begin

Label4.Caption:='ул. Беринга, дом 22, кв 209';

end;

end.

Фрагменты кода на языке Object Pascal приложения "Прыгающая кнопка" (Приложении 6):

procedure TForm1.Button1Click(Sender: TObject);

begin

Button1.Visible:=False;

Button2.Visible:=True;

end;

procedure TForm1.Button2Click(Sender: TObject);

begin

Button2.Visible:=False;

Button3.Visible:=True;

end;

...

procedure TForm1.Button7Click(Sender: TObject);

begin

Button7.Visible:=False;

Button8.Visible:=True;

end;

procedure TForm1.Button8Click(Sender: TObject);

begin

Button8.Visible:=False;

Button1.Visible:=True;

end; end.

Другие события

Название события Когда возникает
OnKeyPress Наступает, когда пользователь нажимает какую-либо клавишу.
OnDBClick Возникает при двойном щелчке на компоненте
OnMouseMove Возникает при перемещении курсора мыши над компонентом
OnMouseDown Возникает при нажатии на кнопку мыши
OnMouseUp Возникает при отпускании кнопки мыши
OnEnter Возникает при получении компонентом фокуса ввода
OnExit Возникает при потере компонентом фокуса ввода
OnCreate Возникает в момент создания формы. Существует только у формы

3. Самостоятельная работа.

Учащимся предлагается создать приложение с обработчиком события OnClick компонента Button.

4. Итог урока.

Теперь подведем итоги нашего урока, сегодня мы узнали о том, что:

  • обработчик события - это процедура, которая выполняется при возникновении заданного события;
  • для выбора события служит вкладка "События" (Events) "Инспектора объектов" (Object Inspector);
  • научились создавать обработчик для самого популярного события OnClick.

Результаты самостоятельной работы учеников можно посмотреть:

Приложение7,

Приложение8,

Приложение9.

5. Домашнее задание.

Выполнить задания из "Электронного практикума"

Список литературы.

  1. В. В. Кузнецов, И.В. Абдрашитова "Основы объектно-ориентированного программирования в DELPHI", "Школьный Университет, Томск, 2008.
  2. "Delphi для учителя в примерах и задачах" часть I, "Образование и Информатика", Москва, 2006.
  3. Г.В. Галисеев "Программирование в среде Delphi 7", "Диалектика", Москва · Санкт-Петербург · Киев, 2003.
  4. http: //umnic.rikt.ru/everest/distant.