Вниз
Скачать: CL | DM;

Отключить сообщение Debugger EConvertError   Найти похожие ветки 

 
КиТаЯц ©   (2005-09-21 07:09) [0]

Проверка корректности вводимой даты. Делаю так
function DateCorrect(InDate: string): boolean;
       begin
         try
           StrToDate(InDate);
           result:= True;
           except
             result:= False;
           end;
       end;

Вроде все работает, но... Одно неудобство. Приложение запускается из под Дельфи.  Работаю с включенным отладчиком (нада). Функция вызывается в цикле достаточно часто, и, каждый раз, при некорректном формате даты отладчик стопорит процесс.
Как отключить сообщение отладчика об ошибке? Что написать? Или есть стандартная функция проверки корректности даты?
Спасибо.


 
ShiFT   (2005-09-21 07:24) [1]

При Try-Except незапуская под отладчиком.


 
КиТаЯц ©   (2005-09-21 07:40) [2]

> ShiFT   (21.09.05 07:24) [1]
Спасибо.
Постараюсь перефразировать вопрос: как сделать чтобы НЕ отключая отладчик проверить корректность вводимой даты так чтобы отладчик не стопорил процесс при таки некорректной дате?


 
ANB ©   (2005-09-21 07:51) [3]

Можно отключить остановку отладчика на ошибках. Не очень удобно, но помогает.


 
ЮЮ ©   (2005-09-21 08:59) [4]

Проверить на корректность самому. Не так уж и сложно. Вот, например, функция из DateUtils:

function IsValidDate(const AYear, AMonth, ADay: Word): Boolean;
begin
 Result := (AYear >= 1) and (AYear <= 9999) and
           (AMonth >= 1) and (AMonth <= 12) and
           (ADay >= 1) and (ADay <= DaysInAMonth(AYear, AMonth));
end;

Осталось лиши "распарсить" твою строку: выделить год, день и месяц.
З.Ы. StrToIntDef и Val позволят "конвертировать" строку в целое без Exception


 
КиТаЯц ©   (2005-09-21 09:59) [5]

> ЮЮ ©   (21.09.05 08:59) [4]
Спасибо. То что надо. :)


 
begin...end ©   (2005-09-21 12:45) [6]

> КиТаЯц ©   (21.09.05 07:09)
> Или есть стандартная функция проверки корректности даты?

Есть. TryStrToDate.


 
КиТаЯц ©   (2005-09-21 14:47) [7]

>begin...end ©   (21.09.05 12:45) [6]
!!! Спасибо :)



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.041 c
3-1125303576
Ольга
2005-08-29 12:19
2005.10.09
Как в T-SQL удалить IDENTITY у поля?


14-1127051821
Gamer
2005-09-18 17:57
2005.10.09
Максимум от i810


4-1123593736
Pasha L
2005-08-09 17:22
2005.10.09
аргумент Parameters в shellExecute - как им пользоваться?


14-1127211115
SlyFox
2005-09-20 14:11
2005.10.09
UNIX &amp; C: откровения :)


1-1126848668
Ольга
2005-09-16 09:31
2005.10.09
Writeln в консольном приложении




   Наверх