validar data
Olá, tenho um formulário onde existe um DBEdit que serve para cadastrar a data de nascimento, se for digitado nele um valor errado, tipo 50/01/2004 o programa é interrompido lançando uma mensagem dizendo que a data digitada é inválida, ou seja o próprio DBEdit sabe que é inválida, partindo disso tem como aproveitar esse teste que o DBEdit faz e fazer com que o programa não seja interrompido, mas sim lançe uma mensagem de erro, e logo após volte ao campo para uma nova inserção de dados.
Valeu
Valeu
Oadventista
Curtidas 0
Respostas
Rod001
08/01/2004
Pode-se fazer uma funcao com o seguinte codigo
function ValidarData(var pData: string): boolen
var dData : TDate;
begin
Result := True;
try
dData := strToDate(pData);
except
ShowMessage(´Data invalida !!!´);
Result:=false;
end;
end;
No onExite do campo Data, pode-se colocar o segunte codigo para focar:
if not ValidarData(campo.text) then
begin
campo.Clear;
campo.Setfocus;
end;
function ValidarData(var pData: string): boolen
var dData : TDate;
begin
Result := True;
try
dData := strToDate(pData);
except
ShowMessage(´Data invalida !!!´);
Result:=false;
end;
end;
No onExite do campo Data, pode-se colocar o segunte codigo para focar:
if not ValidarData(campo.text) then
begin
campo.Clear;
campo.Setfocus;
end;
GOSTEI 0
Oadventista
08/01/2004
Desculpe a ignorância, mas onde que eu coloco a função, em que parte do código.
GOSTEI 0
Lucas Silva
08/01/2004
Desculpe a ignorância, mas onde que eu coloco a função, em que parte do código.
Eu tenho em meus programas uma unit que chama utilitarios,
que nela eu coloco estas funções..... (verificaCPF, validaData, e ect...)
Fica bem organizado...
Lucas!
GOSTEI 0
Felipemarinho
08/01/2004
Você coloca no evento on exit do dbedit
você não precisa fazer uma função.
é só colocar no evento on exit o seguimnte
Procedure ...
Begin
Try
StrToDate(Dbedit1.Text);
Except
ShowMessage( ´Data Invalida ´);
DBEdit1.SetFocus; // è para o foco não sair do dbedit enquanto não se digitar uma data válida
End;
End;
você não precisa fazer uma função.
é só colocar no evento on exit o seguimnte
Procedure ...
Begin
Try
StrToDate(Dbedit1.Text);
Except
ShowMessage( ´Data Invalida ´);
DBEdit1.SetFocus; // è para o foco não sair do dbedit enquanto não se digitar uma data válida
End;
End;
GOSTEI 0