![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Проверка введённой даты на правильность. [D7, IB6.x]
Avreliy © (2003-05-19 19:08:00)Здравствуйте мастера!
Для поля даты, значение которого вводится через DBGrid, я задал стандартную маску редактирования для даты:
__.__.__ (!90/90/00;1;_).
Каким образом мне перехватывать сообщения об ошибках, которые появляются после попытки ввести неправильную дату? Или если пользователь захочет удалить дату, то останется пустая
маска __.__.__ и Delphi выдаст сообщение " " . . " is not a valid date and time ". Как избежать и это?
Соловьев (2003-05-21 09:29:00) [1]
> Avreliy (20.05.03 20:01)
TDateTimePiker или из EhLib - компонент для ввода даты и времени
Deniz (2003-05-21 09:18:00) [2]
d : TDate;
...
try
d:=StrToDate(text);
<FieldName>.AsDateTime:=d;
except
... // error handle
end;
Avreliy (2003-05-20 20:01:00) [3]Не буду ж я проверять все возможные комбинации для даты.
Как узнать, например, что кто-то ввёл 13й месяц, например?
А точнее, что ввод не соответствует маске? И после этого выдать своё сообщение?
И какое значение остаётся у поля даты на DBGrid"е после его удаления: " . . " или " . . " или ...?
Если знать значение, то можно его сравнивать с введённым.
Проверял оба - ни одно не подходит.
Johnmen (2003-05-19 22:33:00) [4]В OnSetText проверяй как угодно введенное значение и принимай необходимое решение...
Avreliy (2003-05-19 19:21:00) [5]смотрел... что дальше?
Val (2003-05-19 19:16:00) [6]см. OnValidate event (TDateField)