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

Вниз

Как сделать сообщение   Найти похожие ветки 

 
AlekseyB   (2008-09-17 08:41) [0]

Подскажите плиз...., как сделать так чтобы у меня выскакивало сообщение в нужный момент, т.е. надо сделать единожды, ежедневно, ежемесячно, ежегодно !!! Единожды и ежедневно впринципе вроде получилось, а вот как сделать ежемесячно и ежегодно ? Заранее спасибо !!!!


 
brother ©   (2008-09-17 08:50) [1]

> Единожды и ежедневно впринципе вроде получилось,

видимо кривой алгоритм, раз ежемесячно и ежегодно не получается ;)

Алгоритм: В таймере интервалами в час(может даже больше) делаем проверку текущей даты, месяца, года; далее сравниваем это с нашей записью, переменной или массивом в которых хранятся указанные дни месяцяца и года для сработки показа сообщений!
Если совпало - показываем сообщение...


 
han_malign ©   (2008-09-17 10:28) [2]


> В таймере интервалами в час

или TApplication.OnIdle

> далее сравниваем это с нашей записью

- проверяем, что нужная отсечка(и) времени поподает в полуинтервал (LastCheck, Now]
- если попало - выполняем событие(я), изменяем расписание в соответсвии с планом
- запоминаем время последней проверки(LastDayTime:= Now (запоминаем в файл/реестр на случай перезапука))

З.Ы. Если делать в OnIdle, чтобы не загружать процессор - необходимо "прореживать" проверки расписания - проверкой времени ближайшего запланированого события(Now >= MinEventTime), которое может быть временем реально запланированного события, шагом(MinEventTime = LastCheck+step) или их комбинацией...


 
Dennis I. Komarov ©   (2008-09-17 10:40) [3]

Сделай чтоб выскакивало сообщение и запускай его через Scheduler Windows - и тебя никто не убъет за постоянно висящий в память никому не нужный процесс...


 
Vlad Oshin ©   (2008-09-17 10:51) [4]

Время - суть дробное машинной число
Дробные машинные числа сравниваются не наравенство, а на попадение в интервал.
a=b ~ (a-b)<0.001


 
Правильный$Вася   (2008-09-17 10:55) [5]


> как сделать ежемесячно и ежегодно

а теперь объясни, что ты понимаешь под этим
ежемесячно - это раз в месяц, но когда именно?


 
clickmaker ©   (2008-09-17 11:26) [6]

> ежегодно ?

долго ждать придется, чтобы протестировать


 
KilkennyCat ©   (2008-09-17 11:39) [7]

главное - не выключить нечаянно комп.


 
brother ©   (2008-09-17 11:41) [8]

> долго ждать придется, чтобы протестировать

комп- машина времени ;)
переставляем системную дату, и мы в прошлом/настоящем/будущем)


 
Правильный$Вася   (2008-09-17 12:01) [9]


> переставляем системную дату

вот интересно порассуждать, какая же дельта во времени будет...
минута=год...



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

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

Наверх




Память: 0.48 MB
Время: 0.015 c
15-1220290532
Простой
2008-09-01 21:35
2008.10.26
ИК датчик движения, контакт GND


15-1220005532
ekto
2008-08-29 14:25
2008.10.26
Asus-Lamborgini ноутбук


15-1220002367
начинающий
2008-08-29 13:32
2008.10.26
Windows Vista


15-1220271440
md10
2008-09-01 16:17
2008.10.26
рекламный плагин ИЕ


15-1220127613
Anatoly Podgoretsky
2008-08-31 00:20
2008.10.26
Система Рада