|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Как очистить поле DATA, не потеряв маску ввода в DBEDIT ?
Добрый день, коллеги.
Имеем ситуацию: БД (interbase), в таблице есть поле типа дата. На форме - DBEdit для ввода. Полю присвоена маска ввода: (editmask) !99/99/9999;1;_ Я хочу сделать на форме проверку корректности данных и выводить сообщение об ошибке, при этом хочется чтобы курсор ОСТАВАЛСЯ в этом DBEDIT. Вешаю обработчик события OnSetText поля: Код:
procedure TDM.KadryDTRSetText(Sender: TField; const Text: String); var d : TDateTime; begin try d:=StrToDate(text); Sender.AsDateTime:=d; except Application.MessageBox('Неверная дата!', 'Ошибка', MB_OK + MB_ICONERROR); Sender.Clear; Edit_kadry.perform($28,1,0); // сообщение WM_NEXTDLGCTL end; Ошибки корректно отлавливаются, выводится сообщение об ошибке, поле очищается, НО !!! пропадает маска ввода! и дату ввести уже не получается. Подскажите, как быть ? |