![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
TDateTimeField.EditMask [D5]
alehan © (2002-03-15 18:46:00)Задал сабж как "dd.mm.yyyy". Если в run-time ввести неправильную дату, генерит exception: "... is not a valid date and time". И не выпускает из контрола. Подскажите пожалуйста, где бы это можно было отловить?
Lav (2002-04-03 16:18:00) [1]Приветствую! Если не тяжело как эта проблема решилась?
Зарание спасибо.
<post@kubnet.kuban.ru> для LAV
alehan (2002-03-19 13:23:00) [2]Спасибо! Разобрался.
asafr (2002-03-18 14:59:00) [3]Ну, если ты хочешь, чтобы при тебя "выпускал" MaskEdit после введения неправильной даты, то в Properties->EditMask->InputMask установи ##/##/####;1;_, а потом проверяй
Try
StrToDate(MaskEdit.Text)
except
MessageDlg("Не правильно задана дата!", mtError,[mbOK],0);
MaskEdit.SetFocus;
exit;
end;
Fareader (2002-03-18 14:29:00) [4]Поставь обработку на событие поля
OnSetText или OnValidate - я не помню точно которое из них, они срабатывают до передачи данных в Dataset
roottim (2002-03-18 13:35:00) [5]ну если не хочеш сам проверять... то используй готовые компоненты RX, Eh и тп
alehan (2002-03-18 12:13:00) [6]> Johnmen
OnPostError срабатывает когда делаешь Query.Post
А проблема такая: в DBEdit редактируется дата, для которой задан DateTimeField.EditMask как указано выше. Пользователь вводит например "13.13.2000" и при попытке выйти из DBEdit получает ошибку ""13.13.2000" is not a valid date and time".
Далее следует попытка стереть дату, как следствие - "" . . " is not a valid date and time"
Отчаявшись, он, тихо матерясь, вводит какую угодно правильную дату, лишь бы получить возможность выйти из контрола.
Я почему-то сразу не догадался, но лечится это написанием своего обработчика на DateTimeField.OnSetText
Johnmen (2002-03-16 00:14:00) [7]OnPostError