Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.03.20;
Скачать: CL | DM;

Вниз

Если делать свой планировщик, то накладно ли использовать Applica   Найти похожие ветки 

 
Юный_программер   (2003-03-09 22:08) [0]

Если делать свой планировщик, то накладно ли использовать Application.OnIdle для проверки времени?
естественно что планировщик будет висеть постоянно запущенным.


 
Романов Р.В. ©   (2003-03-09 22:10) [1]


> Application.OnIdle

??? А как он будет работать?

Используй таймер.


 
Юный_программер   (2003-03-09 22:16) [2]

ну проверять Now() c нужным мне временем.

А таймер так как мне его в нужно время стартовать не пойму чего-то... И если мне нужно несколько вещей запускать в разное время мне столько и таймеров нужно будет?


 
Anatoly Podgoretsky ©   (2003-03-09 22:30) [3]

Хватит и одного таймера. Используй простое сравнение времени.


 
Tux ©   (2003-03-09 22:37) [4]

А на..я, батенька, изобретать велосипед, когда можно почитать про ITask, ITaskSheduler, ITaskTrigger? Я сомневаюсь, что у вас получится лучше, чем у Microsoft.


 
Романов Р.В. ©   (2003-03-09 22:47) [5]

Вычисляешь сколько времени осталось до старта ближайшей задачи. Устанавливаешь это время в таймере. При срабатывании таймера выполняешь нужные действия. Можно усложнить задачу, введя корректировку таймера, для повышения точности на больших интервалах времени. Можно так же ввести корректировку таймера при изменении системного времени. Одного таймера вполне хватит на все.
Другой вариант вместо OnIdle запустить таймет на 1 сек. И уже в его обработчике проверять Now().



Страницы: 1 вся ветка

Текущий архив: 2003.03.20;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.019 c
14-64376
SuperMagic
2003-03-01 12:21
2003.03.20
Компоненты векторной графки


3-64043
Вованчик
2003-03-03 09:13
2003.03.20
Вопрос о кодировке


1-64067
Начинающийй
2003-03-09 19:53
2003.03.20
Динамический масив в записи


1-64174
Zirus
2003-03-07 14:26
2003.03.20
форма на панели задач?


1-64151
kex86
2003-03-07 06:42
2003.03.20
until not GetMessage(msg, 0, 0, 0);