![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Добрый день, коллеги.
Имеем ситуацию: БД (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;Ошибки корректно отлавливаются, выводится сообщение об ошибке, поле очищается, НО !!! пропадает маска ввода! и дату ввести уже не получается. Подскажите, как быть ? |