Validação de data inicial e final e/ou data e hora inicial e final
Nós utilizamos muito em pesquisas e relatórios a validação de data inicial e final e/ou data e hora inicial e final. Pois bem, para não ficar reescerevendo várias vezes a mesma coisa, pode ser utilizada duas rotinas para estas validações
Adicione no Uses DateUtils.
Declaração das rotinas:
procedure ValidaPeriodo(DataIni, DataFim : TDateTime; CampoFoco: TWinControl); overload;
procedure ValidaPeriodo(DataIni, DataFim, HoraIni, HoraFim : TDateTime;
CampoFoco: TWinControl); overload;
Implementação das rotinas:
procedure ValidaPeriodo(DataIni, DataFim : TDateTime; CampoFoco: TWinControl);
begin
if DateOf(DataIni) > DateOf(DataFim) then
begin
if CampoFoco <> nil then
CampoFoco.SetFocus
;
Raise Exception.Create( 'A data inicial não pode ser maior do que a data final.' + #13 +
'Por favor, corrija.' )
end
;
end;
procedure ValidaPeriodo(DataIni, DataFim, HoraIni, HoraFim : TDateTime;
CampoFoco: TWinControl);
begin
ValidaPeriodo( DataIni, DataFim, CampoFoco );
if ( DateOf(DataIni) = DateOf(DataFim) )
and ( TimeOf(HoraIni) > TimeOf(HoraFim) ) then
begin
if CampoFoco <> nil then
CampoFoco.SetFocus
;
Raise Exception.Create( 'A hora inicial não pode ser maior do que a hora final.' + #13 +
'Por favor, corrija.' );
end
;
end;
Espero ter colaborado.
Artigos relacionados
-
Artigo
-
Artigo
-
Artigo
-
Artigo
-
Artigo