Try... Except x validação de datas: por que não funciona?
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:
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!
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
Curtidas 0
Respostas
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+
se vc quiser desligar o Debug : Tools -> Debugger Options -> Integrated Debugging (desmarque a caixa)...
T+
GOSTEI 0
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!
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
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
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