Вниз
Скачать: 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.023 c
14-1126243673
Vlad Oshin
2005-09-09 09:27
2005.10.09
Калибровка HP LJ 1220. Как это делается?


14-1126699563
Daro
2005-09-14 16:06
2005.10.09
Есть такая проблема


2-1124791012
Sepuka
2005-08-23 13:56
2005.10.09
принцип работы компонента ProgressBar


1-1126763538
Ярослав
2005-09-15 09:52
2005.10.09
Определить сужествование MDI Child формы


1-1126946533
testerr
2005-09-17 12:42
2005.10.09
скопировать экран TWebBrower




   Наверх