Консультация № 110181
19.11.2007, 16:36
0.00 руб.
0 1 1
Подробней будет так, создал dll Paradox7 в ней данные сотрудников, а именно их дни рождения, вот как бы мне сделать, так, чтобы по истечению любой из дат программка бы оповещала меня об этом

Обсуждение

Неизвестный
19.11.2007, 17:14
общий
это ответ
Здравствуйте, Sefiros!
см. приложение - это пример - Вам придется слегка модифицировать код под свою программу
даже скорее всего Вам надо будет сделать все посвоему,
просто для определения, что дата наступила надо проверить что дата сотрудника меньше Now (текущие дата и время) + к этому надо как-то запомнить, что проверка была произведена
или другой вариант - можно проверять не входит ли Now в интервал времени - например дата сотрудника ±1минута, но тогда программа может не "поймать" заданное время

Приложение:
procedure TForm1.Timer1Timer(Sender: TObject);begin Timer1.Enabled:=false; // останавливаем таймер try // тут надо организовать выборку значений дат // из вашей базы или dll DataSet1.Open; // DataSet1 - условный датасет // это может быть и TQuery, и TTable, и TADOQuery ... // в зависимости от того чем Вы пользуетесь // для выборки данных while not DataSet1.Eof do begin if DataSet1.FieldByName(‘<название поля>‘).AsDateTime>Now then // проверяем дату // соотв. <название поля> - это поле где хранится дата begin ShowMessage(‘Событие произошло!‘); // здесь можно выполнить необходимые действия end; DataSet1.Next; end; DataSet1.Close; except Timer1.Enabled:=true; // снова запускаем таймер end;end;
Форма ответа