Народна Освіта » Інформатика » Події. Обробники подій

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

Події. Обробники подій

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 (англ. begin - початок) і end (англ. end - кінець). Звертаємо вашу увагу, що ці слова відіграють роль відповідно відкриваючої та закриваючої дужки (опе-раторні дужки), що визначають початок і закінчення процедури.

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

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

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

або такий:

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

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

Дайте відповіді на запитання

1°. Які події можуть відбуватися з формою?

2*. Який зв’язок між подіями Click i onclick?

3*. Що називають обробником події?

4*. Як пов’язати з подією її обробник?

5*. Що називають методом об’єкта?

6°. Що називають процедурою?

7°. Що називають операторними дужками? Для чого вони використовуються?

8*. Якими командами можна змінити значення властивостей об’єкта?

Який їх загальний вигляд? Наведіть приклади таких команд.

9*. Якою командою можна відкрити вікно повідомлень?

Виконайте завдання

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

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

3*. Створіть проект, у якому подія ondblclick (англ. double - подвійний) для форми спричинить змінення кольору її фону, заголовка і збільшить на 200 пікселів відступ її верхньої межі від верхньої межі екрана. Збережіть проект у папці з іменем Завдання 5.2.3, створеній у вашій папці.

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

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

6*. Створіть проект, у якому подія OnClose для форми відкриє вікно повідомлень з текстом «Виконання проекту закінчено! До побачення!». Збережіть проект у папці з іменем Завдання 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, 16:01, Переглядів: 18773