Здравствуйте!
Для временного контроля используются скрипты с событиями "Прошла секунда" и "Прошел час". Для работы проекта необходимы две переменные целочисленного типа: iButton - состояние кнопки и iTimer - таймер отсчета временного интервала.
Скрипт "Прошла секунда":
const Tmax = 10;
begin
// таймер с прямым отсчетом и с перезапуском
if iButton.AsInt <> 0 then begin
iTimer.Inc(1); // работает в пределах шкалы переменной iTimer, максимальное значение 12
if iTimer.AsInt >= Tmax then iButton.Value := 0; // если таймер достиг конечного значения, то выключить кнопку
end
else iTimer.Value := 0; // установить начальное значение таймера
end.
Скрипт примера из вложения дополнительно содержит коды для таймера с обратным отсчетом и перезапуском и для таймера с обратным отсчетом и приостановом.
(перезапуск - установка таймера в начальное значение при выключении кнопки, приостанов - сохранение значения при выключении или включении кнопки, установка таймера в начальное значение только при достижении конечного.