Validar uma data(deixando passar data em branco)

10/03/2003

0

Olah pessoal !!!

Em tenho um dbedit ligado com a tabela e quero que quando eu sair do dbedit ele valide essa data se for uma data invalida aparecer essa mensa gem ´Data invalida´ e dar um setfocus no edit.... caso deixe a data em branco ele aceite sair do campo!!!!

Usando esse procedimento eu consigo validar a data, ele deixa o usuario passar pelo campo sem digitar mas se o usuario digitar a data e apagar e tentar sai ele da uma mensagem de erro!!!!

if not TbVeiculos.FieldByName(´DT_VENC_APOL´).isnull then
begin
try
strtodate(DBEdit9.text);
except
on EConvertError do
begin
showmessage(´Data Inválida´);
dbedit9.SetFocus;
end;
end;
end;

O que eu faço para ele aceitar a data em branco quando o usuario digitar a data apagar e sair!!!

agradeço!!!!!


Leandro Jacomete

Leandro Jacomete

Responder

Posts

10/03/2003

Okama

try
strtodate(DBEdit9.text);
except
on EConvertError do
begin
[b:c1d6a1fd05]if DBEdit9.text <> ´´ then begin[/b:c1d6a1fd05]
showmessage(´Data Inválida´);
dbedit9.SetFocus;
[b:c1d6a1fd05]end;[/b:c1d6a1fd05]
end;
end;


Responder

10/03/2003

Leandro Jacomete

assim naum dah!!

se eu naum usar um if logo que sair do campo ele naum vai deixar nem passar pelo campo, e vc me coloca um strtodate(DBEdit9.text); logo quando eu saio do campo ele vai dar a mensagem de erro padrao do delphi.... nem vai entrar na try exception


try strtodate(DBEdit9.text); except on EConvertError do begin [b:2520733979]if DBEdit9.text <> ´´ then begin[/b:2520733979] showmessage(´Data Inválida´); dbedit9.SetFocus; [b:2520733979]end;[/b:2520733979] end; end;



Responder

10/03/2003

Marcelo Saviski

[color=brown:9e5b12b686][b:9e5b12b686]mudei um pouco o código
tente assim[/b:9e5b12b686][/color:9e5b12b686]
if not TbVeiculos.FieldByName(´DT_VENC_APOL´).isnull then 
begin 
try 
if DBEdit9.text <> ´´ then
strtodate(DBEdit9.text); 
except 
on EConvertError do 
begin 
showmessage(´Data Inválida´); 
dbedit9.SetFocus; 
end; 
end; 
end; 



Responder

10/03/2003

Leandro Jacomete

JA TENTEI ISSO TBEM MAS O PROBLEMA E QUE ELE NEM ENTRA NO CODIGO E JA DA O ERRO!!! EU ACHO QUE O DELPHI DEVE TER ESSE CONTROLE PADRAO(O MEU CAMPO NAUM EH NOT NULL) NAUM SEI MAIS O QUE FAZER SERA QUE TEM COMO DESABILITAR ESSE CONTROLE DO DELPHI....

[quote:93026dac23=´Marcelo Saviski´][color=brown:93026dac23][b:93026dac23]mudei um pouco o código
tente assim[/b:93026dac23][/color:93026dac23]
if not TbVeiculos.FieldByName(´DT_VENC_APOL´).isnull then 
begin 
try 
if DBEdit9.text <> ´´ then
strtodate(DBEdit9.text); 
except 
on EConvertError do 
begin 
showmessage(´Data Inválida´); 
dbedit9.SetFocus; 
end; 
end; 
end; 
[/quote:93026dac23]


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

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

Aceitar