Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.06.09;
Скачать: CL | DM;

Вниз

Проверка введённой даты на правильность.   Найти похожие ветки 

 
Avreliy   (2003-05-19 19:08) [0]

Здравствуйте мастера!
Для поля даты, значение которого вводится через DBGrid, я задал стандартную маску редактирования для даты:
__.__.__ (!90/90/00;1;_).
Каким образом мне перехватывать сообщения об ошибках, которые появляются после попытки ввести неправильную дату? Или если пользователь захочет удалить дату, то останется пустая
маска __.__.__ и Delphi выдаст сообщение " " . . " is not a valid date and time ". Как избежать и это?


 
Val ©   (2003-05-19 19:16) [1]

см. OnValidate event (TDateField)


 
Avreliy   (2003-05-19 19:21) [2]

смотрел... что дальше?


 
Johnmen ©   (2003-05-19 22:33) [3]

В OnSetText проверяй как угодно введенное значение и принимай необходимое решение...


 
Avreliy   (2003-05-20 20:01) [4]

Не буду ж я проверять все возможные комбинации для даты.
Как узнать, например, что кто-то ввёл 13й месяц, например?
А точнее, что ввод не соответствует маске? И после этого выдать своё сообщение?

И какое значение остаётся у поля даты на DBGrid"е после его удаления: " . . " или " . . " или ...?
Если знать значение, то можно его сравнивать с введённым.
Проверял оба - ни одно не подходит.


 
Deniz ©   (2003-05-21 09:18) [5]


d : TDate;
...
try
d:=StrToDate(text);
<FieldName>.AsDateTime:=d;
except
... // error handle
end;


 
Соловьев ©   (2003-05-21 09:29) [6]


> Avreliy (20.05.03 20:01)

TDateTimePiker или из EhLib - компонент для ввода даты и времени



Страницы: 1 вся ветка

Текущий архив: 2003.06.09;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.015 c
14-26654
zhenya
2003-05-23 21:37
2003.06.09
InetDetect????


9-26328
ACR
2002-08-03 03:44
2003.06.09
Празрачность


3-26379
The
2003-05-19 13:58
2003.06.09
---|Ветка была без названия|---


7-26823
Some1
2003-03-30 08:38
2003.06.09
Идентификация дискетки


14-26667
Шейкер
2003-05-23 13:52
2003.06.09
Шейкер-соритровка