Como tratar erro de data dd/mm/aaaa?
Como tratar erro de data?
Por exemplo: eu digito a data 10/15/9999 e programa me retornar uma mensagem de data inválida.
Obrigado pela atenção!
Por exemplo: eu digito a data 10/15/9999 e programa me retornar uma mensagem de data inválida.
Obrigado pela atenção!
Douglas
Curtidas 0
Respostas
Deus
16/12/2003
Olha, você pode usar uma função bem simples, que é a
Essa função irá retornar [i:0bf0ec2de9]True[/i:0bf0ec2de9] se a data for válida, e [i:0bf0ec2de9]False[/i:0bf0ec2de9] caso contrário. Observe que, se for [i:0bf0ec2de9]False[/i:0bf0ec2de9], irá ocorrer uma exceção do Delphi - [b:0bf0ec2de9]ISSO É NORMAL[/b:0bf0ec2de9]! Muitas pessoas estranham esses códigos e perguntam ´o que é que está errado, pois houve uma exceção´. Não houve nada, é justamente parte do teste. :) Para evitar esse tipo de coisa, é só desmarcar o [i:0bf0ec2de9]Stop on Delphi Exceptions[/i:0bf0ec2de9] nas opções do debugger do Delphi.
Abraços, dEUS
function DataEValida(stData: String): Boolean; begin try StrToDate(stData); Result := True; except Result := False; end; end;
Essa função irá retornar [i:0bf0ec2de9]True[/i:0bf0ec2de9] se a data for válida, e [i:0bf0ec2de9]False[/i:0bf0ec2de9] caso contrário. Observe que, se for [i:0bf0ec2de9]False[/i:0bf0ec2de9], irá ocorrer uma exceção do Delphi - [b:0bf0ec2de9]ISSO É NORMAL[/b:0bf0ec2de9]! Muitas pessoas estranham esses códigos e perguntam ´o que é que está errado, pois houve uma exceção´. Não houve nada, é justamente parte do teste. :) Para evitar esse tipo de coisa, é só desmarcar o [i:0bf0ec2de9]Stop on Delphi Exceptions[/i:0bf0ec2de9] nas opções do debugger do Delphi.
Abraços, dEUS
GOSTEI 0
Ilopaiz
16/12/2003
tenta o seguinte código:
try
StrToDate(edit1.text);
except
On E:Exception do
begin
ShowMessage(E.Message);
end;
end;
ilopaiz@bol.com.br
try
StrToDate(edit1.text);
except
On E:Exception do
begin
ShowMessage(E.Message);
end;
end;
ilopaiz@bol.com.br
GOSTEI 0