PASCAL ABC.
Модуль Timers
Таймеры позволяют выполнять указанное действие периодически через равные промежутки времени. Процедуры и функции для управления таймерами содержатся в модуле Timers.
Функция CreateTimer(ms,TimerProc) создает таймер, выполняющий каждые ms миллисекунд действие, содержащееся в процедуре без параметров TimerProc, и возвращает его целочисленный описатель. Созданный таймер сразу же запускается.
Функция CreateTimerExt(ms,TimerProcExt) создает таймер, выполняющий каждые ms миллисекунд действие, содержащееся в процедуре с одним целочисленнным параметром TimerProcExt, и возвращает его целочисленный описатель. Созданный таймер сразу же запускается. Целочисленный параметр, передаваемый процедуре TimerProcExt, хранит описатель таймера, вызвавшего эту процедуру.
Процедура StartTimer(n) запускает таймер с описателем n.
Процедура StopTimer(n) останавливает таймер с описателем n.
Процедура SetTimerInterval(n,ms) устанавливает у таймера с описателем n интервал в ms миллисекунд.
Функция TimerInterval(n) возвращает интервал у таймера с описателем n.
Функция TimerEnabled(n) возвращает True, если таймер запущен, и False в противном случае.
Процедура DestroyTimer(n) разрушает таймер с описателем n.
Модуль Timers содержит также класс Timer,
имеющий следующий интефейс:
type
Timer=class
constructor Create(ms: integer; TimerProc: procedure);
destructor Destroy;
procedure Start;
procedure Stop;
property Enabled: boolean;
property Interval: integer;
function Handle: integer;
end;
|
Конструкторы и деструкторы |
constructor Create(ms: integer; TimerProc: procedure);
Создает таймер, выполняющий каждые ms миллисекунд действие, содержащееся в процедуре без параметров TimerProc. Созданный таймер сразу же запускается.
constructor Create(ms: integer; TimerProc: procedure);
Создает таймер, выполняющий каждые ms миллисекунд действие, содержащееся в процедуре с одним целочисленнным параметром TimerProc. Созданный таймер сразу же запускается. Целочисленный параметр, передаваемый процедуре TimerProcExt, хранит описатель таймера, вызвавшего эту процедуру.
destructor Destroy;
Разрушает
объект и содержащийся в нем таймер.
|
Свойства |
property Enabled: boolean;
Запущен ли
таймер. Присваивание Enabled=False эквивалентно вызову Stop, а
присваивание Enabled=True - вызову Start.
|
Методы |
procedure Start;
Запускает таймер.
procedure Stop;
Останавливаетает таймер.
function Handle: integer;
Возвращает
описатель таймера.
Таймеры
удобнее рассматривать как объекты класса Timer, в
котором собраны все основные действия с таймерами. Такой подход является более
удобным и современным, чем подход с описателями таймеров. Единственный его
недостаток - необходимость вводить основные понятия, связанные с классами.
Подход с описателями позволяет работать с таймерами сразу после рассмотрения
темы "Процедуры и функции".
Пример 1
|
Вариант с описателем таймера uses Timers,Events; procedure TimerProc; var t: integer; |
Вариант с классом Timer uses Timers,Events; procedure TimerProc; var t: Timer; |
Для периодического вызова процедуры таймера необходимо после его создания продолжить выполнение приложения. Это можно сделать либо поместив в конце основной программы бесконечный цикл, либо сделав приложение событийным, подключив модуль Events.
Пример 2
|
Вариант с описателем таймера uses Timers, Events; var t1,t2: integer; begin |
Вариант с классом Timer uses Timers, Events; var t1,t2: Timer; begin
|
Материалы на данной страницы взяты из открытых источников либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.