77978

Возможности Delphi для ввода и отображения дат и времен. Таймер

Лекция

Информатика, кибернетика и программирование

Таймер Компонент Delphi Timer очень простой компонент который не виден на экране но тем не менее Delphi Timer выполняет очень важные функции в программе. Delphi Timer позволяет вводить необходимые задержки между выполнением тех или иных действий. Компонент Timer имеет всего четыре свойства и одно событие и работать с компонентом Delphi Timer очень просто. Свойство Назначение Enbled Включение-выключение таймера Intervl Интервал срабатывания в миллисекундах Nme Имя компонента в программе Tg Произвольный числовой параметр Помещаем...

Русский

2015-02-05

193.5 KB

0 чел.

Возможности Delphi для ввода и отображения дат и времен. Таймер

Компонент Delphi Timer очень простой компонент, который не виден на экране, но, тем не менее, Delphi Timer выполняет очень важные функции в программе . Delphi Timer позволяет вводить необходимые задержки между выполнением тех или иных действий.

Компонент Timer имеет всего четыре свойства и одно событие, и работать с компонентом Delphi Timer очень просто.

Свойство

Назначение

Enabled

"Включение-выключение" таймера

Interval

Интервал срабатывания (в миллисекундах)

Name

Имя компонента в программе

Tag

Произвольный числовой параметр

Помещаем компонент Delphi Timer на форму. Задаем в свойстве Interval нужный интервал времени (измеряется в миллисекундах). Переходим на вкладку Events и видим единственное событие, поддерживаемое компонентом Delphi Timer: OnTimer. Выполнив по нему двойной щелчек, или также двойной щелчек по самомукомпоненту, мы попадаем в сформированный средой Delphi обработчик события, где и введем код, предусматривающий выполнение тех или иных действий.

Так как по умолчанию свойство Enabled установлено в True, то в программе через установленный в свойстве Interval промежуток времени таймер сработает, то есть выдаст событие OnTimer. Будут выполнены необходимые действия. Иногда же запланированные действия должны произойти не автоматически при старте программы, а при выполнении каких-либо других действий. В этом случае необходимо свойство Enabled в Инспекторе Объектов устанавить а False. Затем в необходимый момент нужно выполнить команду:

Timer1.Enabled:=True;

 Учтите, что пока Timer1.Enabled равно True, компонент продолжит генерировать событие OnTimer по истечении каждого промежутка времени, равного значению свойства Interval. Поэтому, если нужно только единичное срабатывание, то таймер нужно остановить, причем сразу же:

 procedure TForm1.Timer1Timer(Sender: TObject);

 begin

 timer1.enabled:=false;

 {необходимые действия}

 end;

end.    

 

Если же запрограммировать "выключение" таймера после выполнения предусмотренных в программе действий, то при дастаточном малом по сравнению с продолжительностью необходимых действий значении свойства Interval таймер вновь сработает, и это может помешать ходу программы.

Компонент Delphi Timer не является очень точным и не подходит дя измерения малых промежутков времени. Его точность порядка 50 миллисекундах. В качестве примера приведу простую программу, отображающую текущее время.

На форме будут только компонент Label и собственно наш компонент Delphi Timer. Свойство Timer можно оставить равным 1000, но раньше на более медленных компьютерах приходилось отображать время несколько раз в секунду показания "плавали", что было хорошо заметно на глаз. Размер шрифта возьмем побольше – 50, и подберем шрифт BellMT. Растянем на всю форму: Align=alClient. Запишем код:

 procedure TForm1.Timer1Timer(Sender: TObject);

 begin

 label1.Caption:=timetostr(now);

end;

end.

 Now – это системная функция, возвращаюшая текущую дату-время в соответствующем формате TDateTime. Если преобразовывать ее в строку функцией TimeToStr, то она вернет текущее время, если DateToStr, то текущую дату. Если хотим отображать в нашей программе и дату тоже, достаточно поставить еще один компонент Label, и функцией DateToStr передавать в него дату.