Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Delphi _ Проверка дат

Автор: Atreides 17.04.2012 7:22

Уважаемые, подскажите, как можно организовать проверку вводимых дат на плюс\минус пять лет от текущей, перефразирую, т.е. чтобы вводимая дата оказалась в интервале плюс\минус 5 лет от текущей даты. Для ввода дат использую DBDateTimeEditEh.

Автор: IUnknown 17.04.2012 10:14

У этого компонента есть событие OnChanged, в нем и проверяй. Скажем, так:

var
SelectedData : TDate;
Ok : Boolean;
// ...
SelectedData := (Sender as TDBDateTimeEditEh).Value;
Ok := (IncYear(Now, 5) >= SelectedData) and (IncYear(Now, -5) <= SelectedData);

Если Ok - то все нормально. Если же нет - значит, предпринимай какие-то действия, которые тебе надо предпринять, если даты не входят в интервал

Автор: Atreides 17.04.2012 11:28

Цитата(IUnknown @ 17.04.2012 11:14) *

У этого компонента есть событие OnChanged, в нем и проверяй. Скажем, так:
var
SelectedData : TDate;
Ok : Boolean;
// ...
SelectedData := (Sender as TDBDateTimeEditEh).Value;
Ok := (IncYear(Now, 5) >= SelectedData) and (IncYear(Now, -5) <= SelectedData);

Если Ok - то все нормально. Если же нет - значит, предпринимай какие-то действия, которые тебе надо предпринять, если даты не входят в интервал

не знает оператор IncYear

Автор: IUnknown 17.04.2012 11:41

Uses ..., DateUtils;