Try... Except x validação de datas: por que não funciona?

Delphi

05/09/2003

Oi pessoal,

Eu andei dando uma olhada por aqui e vi que tem um monte de gente com a mesma dúvida, só que, apesar de ter implementado da forma como ensinado, ainda assim não funciona. Onde estou errando?

Estou usando o seguinte código:

Function IsDate(DateString: String): Boolean;

Begin
  Try
    StrToDateTime(DateString);
    Result := True;
  except
    on EConvertError do Result := False;
  End;
End;

procedure TForm1.Button1Click(Sender: TObject);
begin
    if isdate(edit1.text) then
        showmessage (´Data correta!´)
    else
        showmessage (´Data incorreta!´);
end;


Quando clico no botão, ele chama a função IsDate para validar a data. Bem, quando a data é inválida, o compilador para a execução do programa, mostra uma tela padrão de erro, e só depois de pressionar F9 novamente é que ele executa o código do Except. Existe uma forma de pular ou desabilitar a janela de erro padrão?

Obrigado!


Yankleber

Yankleber

Curtidas 0

Respostas

Vinicius2k

Vinicius2k

05/09/2003

A primeira mensagem de erro eh do Debug do Delphi e soh ocorre quando vc executa a aplicação a partir da IDE...
se vc quiser desligar o Debug : Tools -> Debugger Options -> Integrated Debugging (desmarque a caixa)...

T+


GOSTEI 0
Yankleber

Yankleber

05/09/2003

Muuuuuuuito obrigado!
Esses pequenos detalhes, para nós que ainda não conhecemos os pulos do gato do ambiente deixam todo mundo de cabelos em pé!

Valeu!


GOSTEI 0
Koplin

Koplin

05/09/2003

Dizem o experts (eu não sou um deles) que evitar levantar exceções é uma boa programação.

Tem uma função que pode ser usada assim:

If StrToDateTimeDef(DateString,0) = 0 then begin
showmessage(´Data inválida´);
exit;
end;

tambem no sabor StrToDateDef


GOSTEI 0
POSTAR