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

Вниз

сравнение двух TDateTime ???   Найти похожие ветки 

 
Цукор5   (2007-10-26 00:01) [0]


private
   hTime:DWord;
...
procedure TForm1.Button1Click(Sender: TObject);
begin
 hTime:=GetTickCount;
 Timer1.Enabled:=True; // Timer1.Interval:=20;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
 var Q:DWord;
     D,hDate:TDateTime;
begin
 Q:=GetTickCount-hTime;
 D:= Q / (1000 * 60 * 60 *24) ;
 Label1.Caption:=DateToStr(D)+"__"+TimeToStr(D);
 //
 hDate:=EncodeTime(0,0,5,0);
 Label2.Caption:=DateToStr(hDate)+"__"+TimeToStr(hDate);
 if hDate=D then Windows.Beep(800,200);
end;


по непонятным причинам на одном ПК "событие" происходит, на втором нет.
Тоже самое если условие hDate-D=0.

И только если условие hDate-D<0 , тогда срабатывает на обеих.
В чем причина ???


 
Сусл ©   (2007-10-26 00:04) [1]

причина в том, что нельзя стравнивать числа с плавающей точкой равенством. это их особенности.

если с точностью до даты, то trunc сделай перед сравнением или сравнивай
abs(hDate-D) < 0.0001


 
Цукор5   (2007-10-26 00:14) [2]

2 Сусл ©
>или сравнивай abs(hDate-D) < 0.0001

Что-то этот вариант не работает.


 
Цукор5   (2007-10-26 00:25) [3]

2 Сусл ©   (26.10.07 00:04) [1]

>abs(hDate-D) < 0.0001

а нужно abs(hDate-D) < 0.00001 !
Количеством нулей ошибся ;)


 
Юрий Зотов ©   (2007-10-26 00:37) [4]

Боже...


 
Сусл ©   (2007-10-26 00:38) [5]

почитай на www.delphikingdom.ru есть статья про вещественные числа
автор Антон Григорьев. По идее каждому эту статью надо прочесть.

точную ссылку не дам, сам ищи...


 
Германн ©   (2007-10-26 01:01) [6]


> Сусл ©   (26.10.07 00:38) [5]

Поздравляю, Дима! Ты вспомнил таки.
:-)


 
Сусл ©   (2007-10-26 12:46) [7]


>  [6] Германн ©   (26.10.07 01:01)
>
> > Сусл ©   (26.10.07 00:38) [5]
>
> Поздравляю, Дима! Ты вспомнил таки.
> :-)

тебе скушно?



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

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

Наверх




Память: 0.48 MB
Время: 0.023 c
4-1177486543
Кирей
2007-04-25 11:35
2007.11.18
Работа с LPT


15-1192088949
DVM
2007-10-11 11:49
2007.11.18
chm в Delphi2007 и клавиша F1


15-1192485515
Германн
2007-10-16 01:58
2007.11.18
<OffTop> Любимая музыка


15-1192432862
Ломброзо
2007-10-15 11:21
2007.11.18
VisioModeler


2-1193317971
JSman
2007-10-25 17:12
2007.11.18
не отображать содержимое окна при перетаскивании