mrac
А почему бы не воспользоваться дмумя таймерами:
1 - каждую секунду проверяет текущее время на принадлежность указанному промежутку и включает/выключает в зависимости от этого второй таймер.
2 - каждую секунду выполняет нужное действие.
В принципе, можно проверку в первом таймере делать и не каждую секунду, а вычислять ее в зависимости, опять-таки, от разницы между текущим временем и началом данного промежутка.
А текущее время определить просто:
Код:
var
DateTime: TDateTime;
str: string;
hour, min, sec: integer;
...
DateTime := Time;
str := TimeToStr(DateTime);
hour := StrToInt(copy(str, 1, 2));
min := StrToInt(copy(str, 4, 2));
sec := StrToInt(copy(str, 7, 2));
...