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

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

Проверка введённой даты на правильность. [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)


Наверх

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