Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Л8.doc
Скачиваний:
10
Добавлен:
30.10.2018
Размер:
121.86 Кб
Скачать

7. Таймер — компонент Timer

Компонент Timer дозволяє задавати в програмі інтервали часу. Таймер знаходить численні застосування: синхронізація мультиплікації, закриття якихось вікон, з якими користувач довгий час не працює, включення хранителя екрану або закриття зв'язків з видаленим сервером за відсутності дій користувача, регулярний опит якихось джерел інформації, завдання часу на відповідь в навчальних програмах — вся ця безліч завдань, в яких потрібно задавати інтервали часу, розв'язується за допомогою таймера.

Таймер — невізуальний компонент, який може розміщуватися в будь-якому місці форми. Він має дві властивості, що дозволяють їм управляти: Interval — інтервал часу в мілісекундах і Enabled — доступність. Властивість Interval задає період спрацьовування таймера. Через заданий інтервал часу після попереднього спрацьовування, або після програмної установки властивості Interval, або після запуску програми, якщо значення Interval встановлене під час проектування, таймер спрацьовує, викликаючи подію OnTimer. У обробнику цієї події записуються необхідні операції.

Якщо задати Interval = 0 або Enabled = false, то таймер перестає працювати. Щоб запустити відлік часу треба або задати Enabled = true, якщо встановлено позитивне значення Interval, або задати позитивне значення Interval, якщо Enabled = false.

Наприклад, якщо потрібний, щоб через 5 секунд після запуску сховалася форма — заставка, що відображає логотип програми, на ній треба - розмістити таймер, задати в ньому інтервал Interval = 5000, а в обробник події OnTіmer вставити оператора Close, що закриває вікно форми.

Якщо необхідно в деякій процедурі запустити таймер, який задає відлік, наприклад, 5 секунд, після чого треба виконати деякі операції і відключити таймер, це можна зробити таким чином. При проектуванні таймер робиться доступним (Enabled = true), але властивість Interval задається рівною 0. Таймер не працюватиме, поки не виконається оператор:

Timer1->Interval = 5000;

Через 5 секунд після цього наступить подія OnTimer. У його обробнику треба задати оператора

Timer1->Іnterval = 0;

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

Інший еквівалентний спосіб рішення задачі — використання властивості Enabled. Під час проектування задається значення Interval = 5000 і значення Enabled = false. Вмить, коли треба запустити таймер виконується оператор:

Timer1->Enabled = true;

У обробник події OnTimer, яка наступить через 5 секунд після запуску таймера, можна вставити оператора:

Timer1->Enabled = false;

який відключить таймер.

Таймер точно витримує задані інтервали Interval, якщо вони достатньо великі - сотні і тисячі мілісекунд. Якщо ж задавати інтервали тривалістю десятки або одиниці мілісекунд, то реальні інтервали часу виявляються помітно більшими унаслідок різних проблем, пов'язаних з викликами функцій і іншими обчислювальними аспектами.

Контрольні питання:

  1. Як співставити деякі дії користувача процедурі, яка відбувається при натисканні на задану кнопку?

  2. Яка властивість визначає зображення на кнопці BitBtn?

  3. Яка властивість кнопки BitBtn визначає її тип?

  4. У чому полягає різниця застосування компонентів RadioGroup, RadioButton і GroupBox?

  5. Яка властивість визначає положення прапорця і які значення вона може приймати?

  6. За рахунок чого можна співставити якийсь процес повзунку або смузі прокрутки?

  7. Якими способами можна запускати і зупиняти таймер?

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]