Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Событие Form_Timer()

1.6K
22 января 2004 года
Jimmy
58 / / 02.04.2003
Задача такая:

в событие нужно впихать два других события, при этом 1-ое должно выполняться каждые 30 секунд, а 2-ое только после, скажем, 1 часа = 3600 сек.

как это организовать ???

и вообще как выполняется событие Timer()

Единожды ??? во время работы формы, или каждый раз заново по истечении TimerInterval ?? до тех пор пока не будет выгружена форма???

заранее спасибо
2.6K
22 января 2004 года
Hearse
89 / / 19.01.2004
Теоретически, таймер должен выполняться до закрытия формы, каждый раз по истечении TimerInterval, по крайней мере так работает API таймер. Второе - а зачем два события в одном - повесь два компонента Timer, но если так уж надо
приблизительно так:
Код:
dim count as integer

count=0

...Form_Timer()
call Event1()
count=count+1
if count = 120 then
   call Event2()
   count=0
end_if
...
266
22 января 2004 года
mhaturov
901 / / 23.10.2003
Цитата:
Originally posted by Jimmy
Задача такая:

в событие нужно впихать два других события, при этом 1-ое должно выполняться каждые 30 секунд, а 2-ое только после, скажем, 1 часа = 3600 сек.

как это организовать ???

и вообще как выполняется событие Timer()

Единожды ??? во время работы формы, или каждый раз заново по истечении TimerInterval ?? до тех пор пока не будет выгружена форма???

заранее спасибо


C таймером беда следующая:
1. Событие Timer возникает каждый раз по истечению TimeInterval от момента Enableld = True до Enableld = False.
2. Есть ограничение на размер TimeInterval. Я его обычно обхожу путём увеличения контрользой переменной. Тоесть, нужно, чтобы таймер отрабатывал каждые 5 минут, делаешь переменную, устанавливаешь таймер кратным 5 минутам и по каждому срабатыванию увеличиваешь переменную.
3. Таймер - штука ненадёжная - при сильной загрузке компа возможен разброи интервалов. надёжней сделать следующую вешь: запоминаешь системное время. Например, нужно отмерить прромежуток в 5 минут. Тогда ставишь таймер на 4,5 минуты, по его срабатыванию проверяешь системное время и начинаешь уменьшать интервалы таймера. Когда остаётся порядка нескольких секунд, прерываешь работу таймера и в цикле начинаешь считывать системное время, пока оно не дойдёт до нужного значения (только нужно проверирть, не пролетело ли)

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог