GARANTIR DESCONTO

Fórum Validar Data #374634

07/09/2009

0

Já pesquisei neste forum e encontrei algumas funções para validar datas, porem nenhuma delas funciona corretamente.
Muitos outros usuários tambem tem esse mesmo problema, e acho que o Delphi peca nisso, não existe um comando ou função do próprio software que faça isso, pelo menos que eu saiba.
Em funções que encontrei, o autor primeiro tenta converter uma string em data (StrToDate), porem se a string contem uma data inexistente, o Delphi já dá a mensagem de erro interrompendo a rotina.
Veja o exemplo:

[b:5dbde1ab60]function tbStrIsDate(const S: string): boolean;
begin
try
StrToDate(S); //nesta linha ocorre o erro
Result := true;
except
Result := false;
end;
end;[/b:5dbde1ab60]

Entendi que o Delphi só executa a linha StrToDate se a constante ´S´ for uma data válida, então a função acima não funciona.

Alguem tem alguma solução?


Cps.art

Cps.art

Responder

Post mais votado

07/09/2009

como assim não funciona ???

Funciona sim ... O Delphi interrompe , mas ele depois retorna a execução
Normal ... Sevc chamar no .exe esta Rotina , Vc não vera a mensagem
do Delphi Reclamando desta impossibilidade de fazer a Conversão

Porém Existe Uma Funçao Nativa do Delph a partir do Delphi7


procedure TForm1.Button1Click(Sender: TObject);
var
DataDigitadaNoEdit:TDateTime;
begin
if TryStrToDate(edit1.Text,DataDigitadaNoEdit) then
    Showmessage(´Data Válida : ´+DateToStr(DataDigitadaNoEdit))
   else
     Showmessage(´Data Inválida´);
end;


Com esta função , mesmo que a data seja Inválida vc não verá amensagem
do DELPHI


Marco Salles

Marco Salles
Responder

Gostei + 2

Mais Posts

07/09/2009

Cps.art

Você tem razão [b:1dede0525f]Marco Salles[/b:1dede0525f].

Não tinha atentado para o fato de executar a partir do .EXE.

Funcionou.

Valeu a lembrança.


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar