Como tratar erro de data dd/mm/aaaa?

Delphi

16/12/2003

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!


Douglas

Douglas

Curtidas 0

Respostas

Deus

Deus

16/12/2003

Olha, você pode usar uma função bem simples, que é a

  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

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


GOSTEI 0
POSTAR