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
{endif};
Raise Exception.Create( 'A data inicial não pode ser maior do que a data final.' + #13 +
'Por favor, corrija.' )
end
{endif};
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
{endif};
Raise Exception.Create( 'A hora inicial não pode ser maior do que a hora final.' + #13 +
'Por favor, corrija.' );
end
{endif};
end;
Espero ter colaborado.