Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Delphi - Сравнение дат

Ответить
Настройки темы
Delphi - Сравнение дат

Новый участник


Сообщения: 33
Благодарности: 0

Профиль | Отправить PM | Цитировать


Здравствуйте! Хотел написать программу напоминающую о днях рождения. Но не могу нормально придумать то место где программа сравнивала бы дату с базы данных с системной. Вот мои наработки
Код: Выделить весь код
procedure TMainForm.FormShow(Sender: TObject);
var
   y1,m1,d1,y2,m2,d2:word;
begin
DecodeDate(DataModule3.BookTable.FieldByName('День рождения').AsDateTime,y1,m1,d1);
   DecodeDate(Date,y2,m2,d2);
   if (m1 = m2) and (d1 = d2) then ShowMessage('Обнаружен день рождения');
end;
Программа скомпилировалась. Попробовал перевести дату и запустить, а она не сработала... То есть не вывела сообщения "Обнаружено день рождение"...

Отправлено: 12:50, 03-08-2011

 

Аватара для Delirium

Ветеран


Сообщения: 5624
Благодарности: 936

Профиль | Отправить PM | Цитировать


Radik_Assasin, А в чем хранятся данные о днях рождений? У меня просто есть мною написанная программа, успешно работающая на моей работе, которая как раз и выводит список сегодняшних дней рождений в трее.

Цитата Radik_Assasin:
То есть не вывела сообщения "Обнаружено день рождение"... »
Ну наверное для начала надо запустить отладчик и посмотреть, чему равны переменные m1, m2, d1, d2, а потом уже смотреть дальше...

-------

Пройденные курсы:
[Microsoft №10174 Sharepoint], [SharePoint]
Мои проекты:[CheckAdmins], [NetSend7], [System Uptime], [Remote RAdmin LogViewer],[Netdom GDI], [Holidays - напоминалка о днях рождения]

А я офис-гуру :)


Отправлено: 16:26, 03-08-2011 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для opel431

Ветеран


Contributor


Сообщения: 1803
Благодарности: 714

Профиль | Отправить PM | Цитировать


А почему не использовать CompareDate? Ведь сравнивать нужно только даты.

-------
Хвала тому, кто встав среди камней, уча другого, сам будет умней.


Отправлено: 16:59, 03-08-2011 | #3


Новый участник


Сообщения: 33
Благодарности: 0

Профиль | Отправить PM | Цитировать


Я сделал вот так
Код: Выделить весь код
procedure TMainForm.FormShow(Sender: TObject);
var
   y1,m1,d1,y2,m2,d2:word;
begin
DataModule3.BookTable.First;
DecodeDate(DataModule3.BookTable.FieldByName('День рождения').AsDateTime,y1,m1,d1);
DecodeDate(Now,y2,m2,d2);
Repeat
   if (d1 = d2) and (m1 = m2)  then ShowMessage('Обнаружен день рождения') else ShowMessage('Ничего не обнаружено');
 DataModule3.BookTable.Next;
Until not DataModule3.BookTable.EOF;
end;
Программа сравнивает только первую дату в столбце. И если перевести дату на эту дату то срабатывает. А если на другие то нет. Не пойму в чем проблема....

Отправлено: 09:12, 04-08-2011 | #4


Старожил


Сообщения: 295
Благодарности: 30

Профиль | Отправить PM | Цитировать


А почему DecodeDate для даты из датамодуля стоит вне цикла repeat..until? Вторая DecodeDate - я ещё понимаю, её достаточно выполнить один раз перед циклом. А дата из датамодуля должна считываться из каждой записи, а не только из первой, как в Вашем коде.

Отправлено: 18:44, 05-08-2011 | #5

pva pva вне форума

Аватара для pva

Ветеран


Сообщения: 1180
Благодарности: 279

Профиль | Отправить PM | Цитировать


можно виндовому планировщику назначить задание,и ничего не писать (он для этого и есть)

Отправлено: 13:49, 21-08-2011 | #6



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Delphi - Сравнение дат

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - Сравнение значений Fresh96 Скриптовые языки администрирования Windows 2 26-01-2011 15:25
Сравнение конфигураций roootxp Выбор отдельных компонентов компьютера и конфигурации в целом 3 24-07-2010 18:35
Многоядерность (сравнение ОС) Streamnewal Хочу все знать 1 23-03-2010 23:32
Разница дат - скрипт Кощей Вебмастеру 1 23-10-2009 04:01
Delphi - Вычитание дат на Delphi d_voffka Программирование и базы данных 2 05-06-2006 11:53




 
Переход