![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Маразмы сравнения [D5]
Jony © (2002-09-11 18:49:00)Сравниваю значение поля НД и элемент вариантного массива (тип данных - DateTime). Так вот, когда стоит условие "значение поля НД" < "элемент вариантного массива"все отрабатывает нормально. А вот при обратном направлении знака сравнения - не работает. Что бы это значило?
Jony (2002-09-12 15:15:00) [1]Может преобразовывать во что-нибудь, а потом сравнивать?
Jony (2002-09-12 11:37:00) [2]Вот элементы кода
DateExpArray[i,j] := ADODataSet1DataExp.AsDateTime;
...
if DateExpArray[i,j] > ADOStoreProc1.FieldByName("Data").AsDateTime then
...
Вот при такой ориентации знака все работает. А меняю знак на обратный - нет. В и то и другое значение - только число без времени. Пробовал вместо AsDateTime ставить Value - результат тот-же.
Romkin (2002-09-11 20:25:00) [3]Variant - хранит Extended
TDateTime = Double
Вот из-за преобразования и ошибок округления и не прет
Anatoly Podgoretsky (2002-09-11 19:23:00) [4]Вообще то неплохо бы привести более полный код, потому что должно работать.
Jony (2002-09-11 19:22:00) [5]Почему же в одну сторону это условие срабатывает, а в другую - нет? Разница в датах - в несколько дней.
Shaman_Naydak (2002-09-11 19:19:00) [6]Это не отменяет сообщение MBo
TDateTime = Double
Jony (2002-09-11 19:00:00) [7]Я писал в вопросе, что у меня тип данных - DateTime. А не работает - значит что ни при каком сочетании значений из НД и массива программа под это условие не попадает.
MBo (2002-09-11 18:54:00) [8]>не работает
Как именно не работает?
дело, возможно, в ограниченной точности представления
http://www.delphikingdom.com/helloworld/reals.htm