powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Таймер
10 сообщений из 10, страница 1 из 1
Таймер
    #33656989
StandD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Люди!
Помогите! Срочно нужно, а я никогда с этим не сталкивался. Нужно в форму вставить таймер (ну, это я смог!). Но нужно, чтобы каждые 5 секунд запускалась процедура. Какие параметры таймера, где их ставить - не знаю. Кроме вставки значка часов на форме - ничего не умею.
ПОМОГИТЕ!
...
Рейтинг: 0 / 0
Таймер
    #33657072
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Interval - значение в миллисекундах (одна тысячная секунды) через которое будет срабатывать таймер
Timer - событие, которое будет обрабатываться

Включить/выключить таймер можно при помощи свойства Enabled

Следует только иметь в виду, что событие таймера не имеет приоритета. Это значит, что оно как все события дисциплинированно встанет в очередь процессов.

Например, ты запустил некоторый метод на форме, который работает около минуты. На форме есть таймер, который срабатывает каждые 5 секунд. Произойдет примерно следующее:

Каждые 5 секунд будет вызываться событие таймера. Но немедленно выполниться оно не может и будет поставлено в очередь. Всего, за время выполнения долгой процедуры наберется 12 событий таймера (за одну минуту).

После окончания выполнения этой долгой процедуры начнут срабатывать события таймера. Все, что накопились в очереди.
...
Рейтинг: 0 / 0
Таймер
    #33657077
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А как сбросить эту очередь событий таймеров ?
Или проще не допускать выполнения более одного раза между интревалами срабатывания?
Никогда не работал с таймерами, просто интересно как в таком случае поступать.
С уважением, Алексей
...
Рейтинг: 0 / 0
Таймер
    #33657079
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А смысл в работе таймера в процессе выполнения этой долгой процедуры? Все равно ведь не выпонится его событие. Проще перед началом процедуры отключить таймер, а по окончании процедуры снова включить.

Если же интервал срабатывания таймера сопоставим или больше времени выполнения долгой процедуры, то и беспокоится не о чем. В худшем случае будет одно отложенное событие, которое выполнится по окончании процедуры.
...
Рейтинг: 0 / 0
Таймер
    #33657175
Igor Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hi StandD!

Выделить эти самые "часы на форме" и нажать F1

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Таймер
    #33657325
FoxGroup
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Posmotri :
tTime = DATETIME() + 10
This.Interval = (tTime - DATETIME()) *10000
DO FORM Myform.scx"
*This.Enabled = .T.
Thisform.RELEASE
...
Рейтинг: 0 / 0
Таймер
    #33657431
StandD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Огромное всем спасибо - сейчас засяду.
...
Рейтинг: 0 / 0
Таймер
    #33657441
FoxGroupPosmotri :
tTime = DATETIME() + 10
This.Interval = (tTime - DATETIME()) *10000
DO FORM Myform.scx"
*This.Enabled = .T.
Thisform.RELEASE

И зачем так
Делаем просто This.Interval =10000
...
Рейтинг: 0 / 0
Таймер
    #33669209
Igor Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hi Aleksey!

> А как сбросить эту очередь событий таймеров ?

Думаю что никак - а вот внутри самого Timer event проводить дополнительый
анализ (например на базе дополнительного свойства типа tLastFiredOn) и если
надо, то пропускать "излишне частые" срабатывания - это несложно.

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Таймер
    #33669332
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Igor Korolyov
Hi Aleksey!

> А как сбросить эту очередь событий таймеров ?

Думаю что никак - а вот внутри самого Timer event проводить дополнительый
анализ (например на базе дополнительного свойства типа tLastFiredOn) и если
надо, то пропускать "излишне частые" срабатывания - это несложно.

Posted via ActualForum NNTP Server 1.3
Спасибо, попробую, если придется воспользоваться таймером.
Думаю, что надо создать свой класс на основе базового и дополнить его этим свойства (tLastFiredOn).
С уважением, Алексей.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Таймер
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]