Простий навчальний будильник

Простий навчальний будильник. Об'єкти TImage, TUpDown, TTimer на формі у Delphi 7.

Лабораторні роботи на тему«Робота з об'єктом TTimer»мають на увазі використання таймераTimer, роботи зтипом даних TDateTime, вбудованимифункціями Now, Date, Time і функціями перетворення даних часу в рядки і назад.

Приклади наведені наDelphi, але переписати їх на будь-яку мову не важко.

Завдання лабораторних робіт

На просторі форми розмістити необхідні елементи керування

  • TRadioGroup
  • TUpDown
  • TEdit
  • TLabel
  • TButton
  • TImage
  • TTimer
та забезпечити виклик цільової процедуриmyAction (з подачею звукового сигналу)через задану кількість секунд та у призначений час…

будильник

Мал.1 Форма з органами управління будильником

Функція Now. Повертає поточну системну величину дати та часу. Якщо розглядати значення функції у форматіdouble, то ціла частина числа - кількість днів, а дробова - частина поточної доби у відсотковому відношенні.

Функція Date. Повертає поточну системну дату. У числовому форматі дробова частина буде відсутня.

Функція Time. Повертає поточний час без дати. У числовому форматі ціла частина буде відсутня.

Тому до типу данихTDateTime цілком можна застосовувати арифметичні операції. Потрібно отримати той самий час доби, але завтра - сміливо додайте 1. Потрібно отримати 12:00:00 (полудень поточний день) встановіть дрібну частину рівною 0.50, а якщо опівночі - 0.00.

Для перетворення в рядок використовуйте функціїDateTimeToStr, DateToStr, TimeToStr, а для зворотногоперетворенняStrToDateTime, StrToDate, StrToTime.

Функція перевірки можливості перетворення рядкаTDateTime може виглядати так.

function TForm1.GetAlarmTime:boolean;begintryt:=strtodatetime(edit2.Text ); Result:=true;exceptShowMessage('Помилка у вказаному часі.'); t:=Now+1.0/24/60; Result:=false;end;end;

У разі помилки введеннячас спрацювання будильникавстановлюється: - через 1 хвилину від поточного(Now+1.0/24/60);