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

Вниз

DateTimeToStr - Integer Overflow   Найти похожие ветки 

 
NAlexey ©   (2003-04-30 11:00) [0]

Всегда ли необходимо инициализировать TDateTime? Иногда случается что попытка DateTimeToStr неинициализированной даты приводит к IntegerOverflow т.е:
var
ADate: TDateTime;
begin
DateTimeToStr(ADate);
//Integer overflow ^
end;
Получается что дата не равна нулю, а равна непонятно чему. У меня могут в процедуру приходить такие вот даты, как там проверять что она находится не в диапазоне?


 
MBo ©   (2003-04-30 11:07) [1]

локальная переменная? Никто не гарантирует, что там не мусор


 
V-A-V ©   (2003-04-30 11:09) [2]

При хорошем стиле вообше-то надо все переменные иниацелизировать,
тогда глюков не будет.
Компилятор, если ты не определил переменную присваевает ей бог знает какое значение...


 
NAlexey ©   (2003-04-30 11:16) [3]

>локальная переменная? Никто не гарантирует, что там не мусор
Локальная, но представим что у меня из многих мест вызывается одна процедура, и как в ней проверить, что пришел IntegerOwerflow. Вот например так будет корректно:
if not (ADate < MinDouble) and (ADate > MaxDouble) then ...
Или как?


 
MBo ©   (2003-04-30 11:20) [4]

что-то я тебя не пойму.
Раз уж неаккуратно пишешь, в try-except заключи DateTimeToStr


 
Anatoly Podgoretsky ©   (2003-04-30 11:31) [5]

А какой смысл в данной операции DateTimeToStr(ADate);, получить низвестно что, даже в случаи отсутствия осключения?


 
NAlexey ©   (2003-04-30 11:38) [6]

Необходимо так: если в качестве аргумента пришло недопустимое число, то приравнивать дату к нулю и выполнять дальнейшие действия.
Попробую перефразировать запрос: type TDateTime = type Double;
Так? Так. Но и не совсем так, значение далеко не MaxDouble а IntegerOverflow возникает. Так вот какая может быть максимальная и минимальная дата, чтобы с ней сравнивать и если значение не попадает в интервал делать её равной 0?


 
NAlexey ©   (2003-04-30 11:51) [7]

Всё, спасибо нашел...



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

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

Наверх




Память: 0.48 MB
Время: 0.012 c
1-34414
Spartak
2003-04-30 11:32
2003.05.12
Поиск строки в Listbox в разных регистрах и не с начала строки


1-34483
Sir Alex
2003-04-29 17:02
2003.05.12
Помогите с FileRead --->


1-34432
Zirus
2003-04-28 15:25
2003.05.12
Копирование между imagelist-ами


11-34385
Линда
2002-08-11 20:07
2003.05.12
Есть ли в KOL компонента для отправки сообщение


14-34618
Дмитрий К.К.
2003-04-23 06:13
2003.05.12
Именинники 23 апреля