Validar uma data(deixando passar data em branco)
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!!!!!
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
Curtidas 0
Respostas
Okama
10/03/2003
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;
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;
GOSTEI 0
Leandro Jacomete
10/03/2003
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
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;
GOSTEI 0
Marcelo Saviski
10/03/2003
[color=brown:9e5b12b686][b:9e5b12b686]mudei um pouco o código
tente assim[/b:9e5b12b686][/color:9e5b12b686]
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;
GOSTEI 0
Leandro Jacomete
10/03/2003
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][/quote:93026dac23]
[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;
GOSTEI 0