Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Почему D7 неправильно вычисляет выражение. Скоро поедет крыша [D7, Win95/98]


Alex197777777777777 ©   (2004-07-15 11:09:00) 

Переменная D должна быть отрицательной, но такого не происходит:

var
D: integer;
D1,D2:TDateTime;

begin
D1 := Form1.TableDATA.FieldByName('DATATEXT').AsDateTime;
D2 := Date;
D := Trunc(D2) - Trunc(D1) + 1;
end;

D - постоянно дает положительные числа, хотя данные в D1 и D2 обязательно должны дать отрицательный результат


Алхимик   (2004-07-15 13:03:00) [1]


> [6] Юрий Зотов ©   (15.07.04 11:29)
> А виновата, как обычно, D7.

Виновата просто D :)


Юрий Зотов   (2004-07-15 11:29:00) [2]

А виновата, как обычно, D7.


Суслик   (2004-07-15 11:24:00) [3]

Очевидно, что у тебя date (это функция такая) больше чем Form1.TableDATA.FieldByName('DATATEXT').AsDateTime


Alex197777777777777   (2004-07-15 11:24:00) [4]

Все разобрался, крыша точно поехала, один день до отпуска.... :-)


Alex197777777777777   (2004-07-15 11:21:00) [5]

Хоть на десять все равно результат положительный!!!


Орехов Д.В.   (2004-07-15 11:21:00) [6]

С какого перепуга? Date - текущая дата. В таблице у тебя вряд ли будущие будут или нет? Так с чего отрицательные?


stone   (2004-07-15 11:18:00) [7]


> хотя данные в D1 и D2 обязательно должны дать отрицательный
> результат

только в случае если D1 более чем на 2 больше D2


Наверх

Титульная страница Поиск, карта сайта Написать письмо