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

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

Отключить сообщение Debugger EConvertError [D7, Win2k, WinXP]


КиТаЯц ©   (2005-09-21 07:09:00) 

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

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


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

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


begin...end   (2005-09-21 12:45:00) [2]

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

Есть. TryStrToDate.


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

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


ЮЮ   (2005-09-21 08:59:00) [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


ANB   (2005-09-21 07:51:00) [5]

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


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

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


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

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


Наверх

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