Событие Form_Timer()
в событие нужно впихать два других события, при этом 1-ое должно выполняться каждые 30 секунд, а 2-ое только после, скажем, 1 часа = 3600 сек.
как это организовать ???
и вообще как выполняется событие Timer()
Единожды ??? во время работы формы, или каждый раз заново по истечении TimerInterval ?? до тех пор пока не будет выгружена форма???
заранее спасибо
приблизительно так:
count=0
...Form_Timer()
call Event1()
count=count+1
if count = 120 then
call Event2()
count=0
end_if
...
Задача такая:
в событие нужно впихать два других события, при этом 1-ое должно выполняться каждые 30 секунд, а 2-ое только после, скажем, 1 часа = 3600 сек.
как это организовать ???
и вообще как выполняется событие Timer()
Единожды ??? во время работы формы, или каждый раз заново по истечении TimerInterval ?? до тех пор пока не будет выгружена форма???
заранее спасибо
C таймером беда следующая:
1. Событие Timer возникает каждый раз по истечению TimeInterval от момента Enableld = True до Enableld = False.
2. Есть ограничение на размер TimeInterval. Я его обычно обхожу путём увеличения контрользой переменной. Тоесть, нужно, чтобы таймер отрабатывал каждые 5 минут, делаешь переменную, устанавливаешь таймер кратным 5 минутам и по каждому срабатыванию увеличиваешь переменную.
3. Таймер - штука ненадёжная - при сильной загрузке компа возможен разброи интервалов. надёжней сделать следующую вешь: запоминаешь системное время. Например, нужно отмерить прромежуток в 5 минут. Тогда ставишь таймер на 4,5 минуты, по его срабатыванию проверяешь системное время и начинаешь уменьшать интервалы таймера. Когда остаётся порядка нескольких секунд, прерываешь работу таймера и в цикле начинаешь считывать системное время, пока оно не дойдёт до нужного значения (только нужно проверирть, не пролетело ли)