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
[fechar]
Você não gostou da qualidade deste conteúdo?
(opcional) Você gostaria de comentar o que não lhe agradou?
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 (segue abaixo as rotinas).
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.
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.
Wilson José Lehapan Junior
Analista/Desenvolvedor Delphi desde 2002 (a partir da versão 4). Trabalhei de 2002 até 2008 com desenvolvimento de sistemas ERP. Trabalho atualmente como engenheiro e desenvolvedor de softwares embarcados (incluindo a criação do Kernel - BSP, drivers e o software final) para produtos eletrônicos (li...
O que você achou deste post?
Cursos relacionados
Publicidade



