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

Вниз

Работа с Датой и Временем   Найти похожие ветки 

 
DDi   (2002-09-07 05:12) [0]

Приветствую, уважаемые!
У меня есть два вопроса по использованию Data и Time в Delphi.
1). Почему не работает такой код:
if (Time=DateTimePicker1.Time) and (Date=DateTimePicker2.Date) then
...

а, вот этот проходит без проблемм:
if (TimeToStr(Time)=TimeToStr(DateTimePicker1.Time)) and (DateToStr(Date)=DateToStr(DateTimePicker2)) then
...

2). Как сравнить текущее время/дату и время/дату из DateTimePicker? Т.к. такой код не работает:
if (Time>=DateTimePicker1.Time) or (Date>=DateTimePicker2.Date) then
...


Зараннее спасибо всем ответившим!


 
MBo ©   (2002-09-07 06:39) [1]

1.
>Почему не работает такой код
Да работает он, но не совсем так, как задумано.
Вещественные числа представляются с ограниченной точностью, поэтому сравнивать их нужно осторожно, например, чтобы модуль разницы была в пределах некоего допуска.
При приведении к строке происходит округление, поэтому вероятность совпадения выше ;)

2. такой код тоже работает с теми же ограничениями

Статья А.Григорьева на delphi.Vitpc.com Helloworld
Неочевидные особенности вещественных чисел


 
TTCustomDelphiMaster ©   (2002-09-07 10:41) [2]

Дело в том, что функция time возвращает только время, т.е. ее результат всегда меньше 1. А функция Date возвращает целое число, т.е. число дней без часов минут и т.д.
А вы смотрели чему равно DateTimePicker1.Time и DateTimePicker2.Date? Если нет то проверьте и сделайте выводы.

ShowMessage(floattostr(time)+#13#10+
floattostr(DateTimePicker1.Time));
ShowMessage(floattostr(date)+#13#10+
floattostr(DateTimePicker2.Date));



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

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

Наверх




Память: 0.47 MB
Время: 0.012 c
3-61013
lejik
2002-08-10 21:48
2002.09.19
Программное отключение от базы


1-61146
Valeris
2002-09-05 18:34
2002.09.19
Operation must use an updateable query


1-61179
gary5555
2002-09-08 11:07
2002.09.19
Как в компоненте ComboBox место текста вывести цветные прямоуголь


14-61285
Правда жизни
2002-08-23 09:46
2002.09.19
Не интересно стало тут


3-60929
pdv
2002-08-27 19:45
2002.09.19
Я знаю, с этим вопросом вас уже запарили. Но всеже.