Компонент TTimer один из наиболее простых в палитре Tools Palette. И не смотря на это все равно вызывает известные трудности и непонятки при решении задании, связанных с его использованием. Основную причину данных сложностей я вижу прежде всего в том, что компонент не просто не видим на форме, но и где-то там внутри самостоятельно совершает отсчет времени. А самостоятельно, значит вероятно, что бесконтрольно.
Но мы ведь с вами знаем, что ничего само собой не вертится, а уж в нашей собственной программе тем более, что напишем, то и получим. Поэтому упомянутые опасения стоит оставить и приступить к более подробному изучению вопроса.
У компонента TTimer всего 2 важных свойства и 1 событие. А именно - свойство .enabled, отвечающее за состояние нашего таймера (ВКЛ\ВЫКЛ - True\False). Обратите внимание, что по умолчанию оно имеет значение True;
- свойство .interval, задающее таймеру интервал, через который будет случаться событие OnTimer. Кстати сказать, в милисекундах и по умолчанию 1000, что эквивалентно 1 секунде.
- событие OnTimer - здесь мы можем записать все те действия, которые произойдут после каждого интервала .interval, пока таймер включен .enabled:=true.
Ну а теперь давайте попробуем написать программу, учитывая полученные знания.
К примеру, типовое задание: От вас требуется индицировать время, прошедшее с момента запуска программы. Алгоритм решения выглядит весьма прозрачно: запускаем таймер, задаем интервал в одну секунду (или не задаем, так как этот признак стоит по умолчанию) и в событии OnTimer описываем вывод на индикатор. Delphi исходники будут выглядеть следующим образом:
procedure TForm1.FormCreate(Sender: TObject); begin Timer1.Enabled:=true; lLabel1.Caption:=DateTimeToStr(Now) end;
procedure TForm1.Timer1Timer(Sender: TObject); begin lLabel1.Caption:=DateTimeToStr(Now) end;
Где Now - есть текущая дата и время, которые отображаются у вас в правом нижнем углу экрана.
Скомпилируйте программку и посмотрите, как она работает. А затем, задайте значение .interval, равное 2000. Согласитесь, работа таймера достаточно прозрачна. Другие примеры Delphi с TTimer мы рассмотрим в следующий раз, а пока хочу предложить свои услуги в решении заданий по программированию на Delphi на заказ. Качественно, обращайтесь (контакты).
|