сці форми. Він має дві властивості, що дозволяють їм управляти: Interval - інтервал часу в мілісекундах і Enabled - доступність. Властивість Interval задає період спрацьовування таймера. Через заданий інтервал часу після попереднього спрацьовування, або після програмної установки властивості Interval, або після запуску програми, якщо значення Interval встановлено під час проектування, таймер спрацьовує, викликаючи подія OnTimer. У обробнику цієї події записуються необхідні операції. p align="justify"> Якщо задати Interval = 0 або Enabled = false, то таймер перестає працювати. Щоб запустити відлік часу треба або задати Enabled = true, якщо встановлено позитивне значення Interval, або задати позитивне значення Interval, якщо Enabled = true. p align="justify"> Наприклад, якщо потрібно, щоб через 5 секунд після запуску програми закрилася форма - заставка, що відображає логотип програми, на неї треба розмістити таймер, задати в ньому інтервал Interval = 5000, а в обробник події OnTimer вставити оператор Close, що закриває вікно форми.
Хід роботи
1. Для оформлення вікна програми знадобиться три компоненти - стрибаюча командна кнопка (Button1), кнопка виходу (Button2) і таймер. Зразковий вид форми зображений на малюнку:
В
. Задамо першій кнопці наступні характеристики:
Caption - Введемо заголовок.
TabStop - False. Це властивість дозволяє вибирати елемент управління клавішею TAB. У цій грі клавіатурою користуватися не можна. p align="justify"> Visible - false. Спочатку кнопка повинна бути невидима, щоб користувач не знав, де вона знаходиться. p align="justify"> Height - 30, Width - 80
Left -10, Top -10. У лівому верхньому положенні відстань між кнопкою і краями форми 10 пікселів. p align="justify">. Тепер необхідно обчислити, який розмір буде мати вікно програми. Малюнок ілюструє, як саме це було зроблено. <В
Задамо властивості форми ClientWidth (Внутрішня ширина) - значення 300, властивості ClientHeight (Внутрішня висота) - 200.
Щоб розмір вікна не можна було змінити в ході роботи програми, задамо властивості форми BorderStyle - bsSingle
. Для кнопки В«ВихідВ» Button2 визначимо характеристики:
Left - 110, Top - 160, Width - 80, Height - 30. - True. Фокус введення завжди буде належати цій кнопці і натискання клавіші Enter буде пов'язано тільки з нею ..
. Розмістимо на формі компонент Timer (вкладка System). Властивості Interval задамо значення 500. p align="justify"> Проміжок часу задається в мілісекундах. Тому наша кнопка буде стрибати на нове місце кожні півсекунди. p align="justify"> Створимо для компонента Timer обробник події OnTimer (Сигнал таймера).
procedure TForm1.Timer1Timer (Sender: TObject); i: integer ;//описуємо локальну змінну
begin
i: = random (9);// випадкове значення в діапазоні від 0 до 9
button1.Visible: = true;. Top: = 10 +50 * (i div 3);. Left: = 10 +100 * (i mod 3);;
Таким чином, при кожному сигналі таймера, положення кнопки (властивості Left і Top) будуть змінюватися випадковим чином.
. Обробимо клацання на кнопці Button1 наступним чином:
procedure TForm1.Button1Click (Sender: TObject);. Caption: = 'Готово!';. enabled: = false;. enabled: = false;
end;
Якщо клацання стався, значить, гра закінчилася перемогою. Щоб повідомити про це, змінюємо напис на кнопці і відключаємо кнопку і таймер (властивість Enabled)
. На завершення програми створимо ще два обробника:
При натисканні на кнопці Button2 (Вихід):
procedure TForm1.Button2Click (Sender: TObject);
begin.Close;
Для ініціалізації процедури генерації випадкових чисел створимо процедуру обробки завантаження форми:
procedure TForm1.FormCreate (Sender: TObject);
begin;
Виконати самостійно:
1. Додати дві кнопки В«ШвидшеВ» і В«ПовільнішеВ». Клацання по одній з них буде збільшувати значення інтервалу таймера на 100 мілісекунд, а за іншою - зменшувати його в 2 рази.
В
Результатом виконання даної лабораторної роботи є створений згідно із завданням програмний продукт. Виконане завдання повинне бути пред'явлено викладачеві в електронному вигляді. У ході захисту лабораторної роботи студент повинен продемонструвати свої навички роботи з вивченими компонентами та методами проектування інтерфейсу користувача. br/>