Цели:
- Обучающая: дать понятие события в ОС Windows и обработчика события в среде Delphi. Изучить основные события и возможности компонентов: Edit, Button, Label.
Оборудование:
- персональные компьютеры с приложением Boland Delphi for Microsoft Windows;
- компьютер учителя;
- мультимедийный проектор;
Учебный и раздаточный материал:
- учебное пособие;
- электронный практикум;
- карточки с заданиями для самостоятельной работы;
- презентация к уроку.
План урока:
- Повторение темы предыдущего урока в форме опроса.
- Изучение нового материала.
- Самостоятельная работа.
- Итог урока.
- Домашнее задание.
Ход урока
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.
Результаты самостоятельной работы учеников можно посмотреть:
5. Домашнее задание.
Выполнить задания из "Электронного практикума"
Список литературы.
- В. В. Кузнецов, И.В. Абдрашитова "Основы объектно-ориентированного программирования в DELPHI", "Школьный Университет, Томск, 2008.
- "Delphi для учителя в примерах и задачах" часть I, "Образование и Информатика", Москва, 2006.
- Г.В. Галисеев "Программирование в среде Delphi 7", "Диалектика", Москва · Санкт-Петербург · Киев, 2003.
- http: //umnic.rikt.ru/everest/distant.