Події та їхні обробники

Форма має набір подій, які можуть з нею відбутися під час виконання проєкту, наприклад:

  • 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, а у вікні редактора тексту проекту на вкладці Unit1 з’являється заготовка для тексту процедури з іменем TForm1.FormClick, команди якої й будуть виконуватися при настанні події Click з формою (рис.1).
95.PNG

Рис.1

Команди процедури записуються між двома словами begin і end. Слова begin і end називають операторними дужками.

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

Якщо потрібно, щоб у результаті виконання процедури змінилося значення певної властивості форми, процедура повинна містити команду присвоювання:

 <ім’я об’єкта>.<назва властивості>:=< значення або вираз>;

Приклад:

Встановити зеленим колір фону форми:

Form1.Color :=clGreen;

Встановити вказаний у лапках текст у рядку заголовка форми:

Form1.Caption := ’Змінення значень властивостей форми’;

Збільшити поточний відступ верхньої межі вікна від верхньої межі екрана на 50 пікселів:

Form1.Top := Form1.Top + 50;

Після запуску проєкту на виконання потрібно дочекатися відкриття вікна його виконання і вибрати будь-яку його точку. Таким чином відбудеться подія Click для форми і як наслідок відбудеться подія onclick, яка полягатиме у виконанні процедури TForm1.FormClick — обробника події Click для форми.

Засоби створення та редагування проєкту

Середовище Lazarus має зручні засоби допомоги під час написання тексту проекту:

  • після введення першої або кількох перших літер імені об’єкта можна натиснути сполучення клавіш Ctrl + Пропуск і відкриється список, з якого можна вибрати потрібне ім’я об’єкта (рис.2);
  • після введення крапки, що розділяє ім’я об’єкта і назву його властивості, автоматично відкривається вікно зі списком, який містить назви властивостей даного об’єкта (рис.3). Далі назву властивості можна не вводити з клавіатури, а знайти у списку і натиснути клавішу Enter.

96.PNG

Рис. 2

97.PNG

Рис. 3

У багатьох випадках система автоматично розставляє в потрібних місцях тексту програми операторні дужки, знак присвоювання, крапку з комою в кінці команди тощо.

Система не розрізняє великі і малі літери. Однак якщо слово утворено з кількох слів, прийнято для кращого розуміння писати першу літеру кожного слова великою.

На початку виконання проєкту програма-компілятор перевіряє текст проєкту на наявність синтаксичних помилок. Якщо такі помилки є, то виконання проєкту переривається і у вікні повідомлень, яке відкривається під вікном Редактора тексту, з’являються повідомлення про номери рядків і номери позицій у них, де допущені помилки, а також коментарі до кожної із цих помилок. Крім того, кольором виділяється фон першого з тих рядків тексту проєкту, що містить помилку, або колір фону рядка, наступного за рядком з помилкою. Потрібно виправити в тексті проєкту всі синтаксичні помилки і знову запустити проект на виконання.

Типова помилка Syntax error, ";" expected (Синтаксична помилка, ";" очікувалось) — після інструкції не поставлено крапку з комою (рис.4).

99.PNG

Рис. 4

Джерела:

Інформатика : підруч. для 8 кл. закл. загал. серед. освіти / Йосиф Ривкінд [та ін.]. — Київ : Генеза, 2021.