Народна Освіта » Інформатика » События. Обработчики событий

НАРОДНА ОСВІТА

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

1.    Что такое компьютерная программа?

2.    Что такое форма? Назовите несколько ее свойств.

3.    Каково предназначение компилятора и каковы этапы его исполнения?

СОБЫТИЯ И ИХ ОБРАБОТЧИКИ

Форма, кроме набора свойств, имеет еще набор событий, которые могут с ней произойти при выполнении проекта.

Такими событиями, например, являются:

•    Click (англ. click - щелчок) - выбор любой точки объекта;

•    Close (англ. close - закрывать) - закрытие формы (окна) при завершении исполнения проекта;

•    Create (англ. create - создание) - создание (открытие) формы (окна) в начале исполнения проекта;

•    KeyPress (англ. key press - нажатие клавиши) - нажатие любой клавиши на клавиатуре;

•    MouseMove (англ. mouse move - перемещение мыши) - перемещение указателя по окну

и другие.

С любым событием, которое может произойти с формой, можно связать фрагмент программы, который будет исполняться сразу после наступления этого события. Такой фрагмент программы называют обработчиком

события. Обработчик события, связанный с определенным объектом, называют методом этого объекта.

Среда Lazarus по умолчанию создает обработчик события как процедуру. Процедура - это отдельно выделенная часть программы, имеющая свое имя и которую по этому имени можно запустить на исполнение.

Исполнение процедуры также является событием. Если процедура исполняется в результате наступления определенного события с формой, например события Click, то событие самого исполнения этой процедуры называют onclick (англ. on - на).

Например, если необходимо связать некоторую процедуру с событием Click для формы, то следует:

1.    Выбрать форму.

2.    Открыть вкладку События в окне Инспектор объектов.

3.    Выбрать событие onclick. Поле справа от текста onclick станет текущим и в нем появится курсор.

4.    Щелкнуть дважды в этом текущем поле.

В результате исполнения этого алгоритма в поле onclick на вкладке События появляется текст FormClick (англ. form click - щелчок формы), а в окне редактора исходного кода текста проекта на вкладке Unitl появляется заготовка для текста процедуры с именем TForml.FormClick, команды которой и будут исполняться при наступлении события Click с формой (рис. 5.9).

Команды процедуры записываются между двумя словами begin (англ. begin - начало) и end (англ. end - конец). Обращает ваше внимание, что begin и end - это не команды, эти слова играют роль соответственно открывающей и закрывающей скобки, определяющие начало и окончание процедуры. Эти слова часто называют операторными скобками.

После слова end в конце процедуры должна стоять точка с запятой (;). Каждая команда процедуры также должна заканчиваться точкой с запятой (;).

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

<имя объекта>.<название свойства>:= <значение или выражение>;

или:

<имя объекта>.<название свойства>:= <имя объекта>.<название свойства> + <значение или выражение>;

Например, исполнение команды Forml.Color := clGreen установит зеленым цвет фона формы, а команды Forml.Top := Forml.Top + 50 - увеличит текущий отступ верхней границы окна от верхней границы экрана на 50 пикселей. При исполнении последней команды сначала к текущему значению свойства Top формы будет прибавлено число 50, после чего полученное число станет новым значением этого свойства формы.

Командой присваивания Forml.Caption := ’Изменение значений свойств формы’ можно установить указанный в кавычках текст в строке заголовка формы, а командой Forml.Left := 300 - установить отступ 300 пикселей левой границы окна от левой границы экрана.

Приведем пример процедуры TForml.FormClick, состоящей из команд, приведенных выше, в результате исполнения которой изменятся значения свойств Caption, Color, Left и Top формы, а также результат ее исполнения (рис. 5.10).

После запуска проекта на исполнение необходимо дождаться открытия окна его исполнения и выбрать любую его точку. Таким образом, произойдет событие Click для формы и как следствие произойдет событие onclick, которое будет заключаться в исполнении процедуры TForml.FormClick -обработчика события Click для формы.

СРЕДСТВА СОЗДАНИЯ И РЕДАКТИРОВАНИЯ ПРОЕКТА

 

Среда Lazarus имеет удобные средства помощи при написании текста проекта:

•    после ввода первой или нескольких первых букв имени объекта можно нажать комбинацию клавиш Ctrl + Пробел и откроется список, из которого можно выбрать необходимое имя объекта (рис. 5.11);

•    после ввода точки, разделяющей имя объекта и название его свойства, автоматически открывается окно со списком, который содержит названия свойств данного объекта (рис. 5.12). Дальше название свойства можно не вводить с клавиатуры, а найти в списке и нажать клавишу Enter.

Можно после открытия списка ввести несколько первых букв из названия свойства. Тогда этот список будет сокращаться, и в нем будут оставаться только те названия, которые начинаются с введенных букв. Этот способ ускоряет ввод названий свойств объектов, а также предотвращает синтаксические ошибки, особенно для тех, кто не учил английский язык.

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

Отметим также, что система не различает большие и малые буквы. Однако, если слово образовано из нескольких слов, принято (и удобно для лучшего понимания) вводить первую букву каждого слова большой.

Вы уже знаете, что в начале исполнения проекта программа-компилятор проверяет текст проекта на наличие синтаксических ошибок. Если такие ошибки есть, то исполнение проекта прерывается и в окне Messages (англ. messages - сообщения), которое открывается под окном Редактора исходного кода, появляются сообщения-подсказки о номерах строк и номерах позиций в них, где допущены ошибки, а также комментарии к каждой из этих ошибок. Кроме того, цветом выделяется фон первой из тех строк текста проекта, содержащей ошибку, или цвет фона строки, следующей за строкой с ошибкой.

Так, на рисунке 5.13 выделена цветом строка 34, так как именно в ней содержатся первые синтаксические ошибки проекта - неправильно напи-

саны слова Color и Green. Кроме того, в конце команды, которая находится в строке 35, пропущена точка с запятой.

 

Для такой ошибки в окне Messages появляется сообщение о неправильном символе, с которого начинается следующая, 36-я, строка. И если именно эта ошибка была бы в проекте первой, то цветом была бы выделена именно следующая, 36-я, строка.

Необходимо исправить в тексте проекта все синтаксические ошибки и снова запустить проект на исполнение.

ОКНО СООБЩЕНИЙ И ЕГО ИСПОЛЬЗОВАНИЕ

Для вывода на экран текстовых сообщений можно использовать специальное окно - окно сообщений. Для открытия такого окна и вывода в нем необходимого текстового сообщения используется команда ShowMessage (’<текст>’) (англ. show message - показывать сообщение).

Пример текста процедуры - обработчика события MouseMove (англ. mouse move - перемещение мыши) с такой командой и результат исполнения соответствующего проекта приведен на рисунке 5.14.

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

 

Обращает ваше внимание, в этом примере использовано событие МоивеМоуе. Интересно, что в этом случае окно исполнения проекта не удастся закрыть, используя мышь. Ведь как только указатель будет перемещаться по окну, наступит событие МоивеМоуе и как результат - событие ОпМоивеМоуе, то есть запустится на исполнение обработчик события МоивеМоуе - процедура ТРогшІ.РогшМоивеМоуе, которая вновь откроет окно сообщений. Поэтому закончить исполнение этого проекта можно, нажав комбинацию клавиш ЛИ. + Р4. Понятно, что эту комбинацию клавиш можно использовать для закрытия окна исполнения любого проекта.

С любым событием, которое может произойти с формой, можно связать фрагмент программы, который будет исполняться сразу после наступления этого события. Такой фрагмент программы называют обработчиком события. Обработчик события, связанный с определенным объектом, называют методом этого объекта.

Среда Lazarus по умолчанию оформляет обработчик события как процедуру. Процедура - это отдельно выделенная часть программы, которая имеет свое имя и которую по этому имени можно запустить на исполнение.

Команды процедуры записываются между двумя словами begin и end. Эти слова играют роль соответственно открывающей и закрывающей скобки (операторные скобки), определяющие начало и окончание процедуры.

После слова end в конце процедуры должна стоять точка с запятой (;). Каждая команда процедуры также должна заканчиваться точкой с запятой (;).

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

<имя объекта>.<название свойства> := <значение или выражение>;

или такой:

<имя объекта>.<название свойства> := <имя объекта>.<название свойства> + <значение или выражение>;

Для открытия окна сообщений и вывода в нем необходимого текстового сообщения используется команда ShowMessage (’<текст>’);.

1°. Какие события могут происходить с формой?

2*. Какая связь между событиями Click и onclick?

3*. Что называют обработчиком события?

4*. Как связать с событием его обработчик?

5*. Что называют методом объекта?

6°. Что называют процедурой?

7°. Что называют операторными скобками? Для чего они используются? 8*. Какими командами можно изменить значения свойств объекта?

Каков их общий вид? Приведите примеры таких команд.

9*. Какой командой можно открыть окно сообщений?

1°. Создайте проект, в котором событие Click для формы установит ее размеры 400 х 300 пикселей, зеленый цвет фона и изменит текст заголовка формы на название вашего города. Сохраните проект в папке с именем Задание 5.2.1, созданной в вашей папке.

2°. Создайте проект, в котором событие KeyPress для формы установит ее размеры 300 х 200 пикселей, синий цвет фона и изменит текст заголовка формы на ваше имя. Сохраните проект в папке с именем Задание 5.2.2, созданной в вашей папке.

3*. Создайте проект, в котором событие DblClick (англ. Double - двойной) для формы повлечет изменение цвета ее фона, заголовка и увеличит на 200 пикселей отступ ее верхней границы от верхней границы экрана. Сохраните проект в папке с именем Задание 5.2.3, созданной в вашей папке.

4*. Создайте проект, в котором событие Show (англ. show - показывать) для формы вызовет изменение ее размеров, цвета фона и уменьшит на 100 пикселей отступ ее левой границы от левой границы экрана. Сохраните проект в папке с именем Задание 5.2.4, созданной в вашей папке.

5*. Создайте проект, в котором событие Click для формы установит ее размеры 500 х 500 пикселей, коричневый цвет фона и изменит текст заголовка формы на «Проект с двумя процедурами», а событие DblClick откроет окно сообщений с текстом «Я - гражданин Украины!». Сохраните проект в папке с именем Задание 5.2.5, созданной в вашей папке.

6*. Создайте проект, в котором событие Close для формы откроет окно сообщений с текстом «Выполнение проекта завершено! До свидания!». Сохраните проект в папке с именем Задание 5.2.6, созданной в вашей папке.

ПРАКТИЧЕСКАЯ РАБОТА № 8

«Создание объектно-ориентированной программы, отображающей окно сообщения»

Внимание! Работая с компьютером, соблюдайте правила безопасности и санитарно-гигиенические нормы.

1.    Откройте окно среды Lazarus.

2.    Установите следуюшие значения свойств формы:

•    цвет фона - серый;

•    ширина - 200 пикселей;

•    высота - 100 пикселей;

•    отступ левой границы - 150 пикселей;

•    отступ верхней границы - 100 пикселей;

•    текст в строке заголовка - Практическая № 8.

3.    Сохраните проект в папке с именем Практическая 8_1, созданной в вашей папке.

4.    Исполните проект.

5.    Закройте окно исполнения проекта.

6.    Создайте обработчик события Click для формы, исполнение которого установит красный цвет фона окна, установит отступ верхней границы окна 200 пикселей от верхней границы экрана, увеличит его ширину на 300 пикселей, уменьшит на 50 пикселей отступ левой границы окна от левой границы экрана, откроет окно сообщений с текстом «Мы изучаем язык программирования Object Pascal».

7.    Сохраните проект в папке с именем Практическая 8_2, созданной в вашей папке.

8.    Исполните проект.

9.    Закройте окно исполнения проекта.

10.    Добавьте к проекту обработчик события KeyPress для формы, исполнение которого изменит цвет фона окна на синий, увеличит на 300 пикселей отступ верхней границы окна от верхней границы экрана, увеличит его ширину на 200 пикселей.

11.    Сохраните проект в папке с именем Практическая 8_3, созданной в вашей папке.

12.    Исполните проект.

13.    Закройте окно исполнения проекта.

14.    Закройте окно среды Lazarus.

 

Это материал учебника Информатика 8 класс Ривкинд

 

Категорія: Інформатика

Автор: admin от 16-10-2016, 02:44, Переглядів: 3018