Validar Data!!!
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
Anonymous
10/03/2003
Use o mesmo código seu, incluindo o texto em negrito:
if not TbVeiculos.FieldByName(´DT_VENC_APOL´).isnull then
begin
try
[b:aa782a6646]if DBEdit9.Text <> ´´ then[/b:aa782a6646]
strtodate(DBEdit9.text);
except
on EConvertError do
begin
showmessage(´Data Inválida´);
dbedit9.SetFocus;
end;
end;
end;
if not TbVeiculos.FieldByName(´DT_VENC_APOL´).isnull then
begin
try
[b:aa782a6646]if DBEdit9.Text <> ´´ then[/b:aa782a6646]
strtodate(DBEdit9.text);
except
on EConvertError do
begin
showmessage(´Data Inválida´);
dbedit9.SetFocus;
end;
end;
end;
GOSTEI 0
Anonymous
10/03/2003
ja tentei isso!!
mas o problema que ele naum ta entrando nem no codigo para dar o erro ele da uma mensagem de erro de data que eu acho que e do delphi
mas o problema que ele naum ta entrando nem no codigo para dar o erro ele da uma mensagem de erro de data que eu acho que e do delphi
Use o mesmo código seu, incluindo o texto em negrito:
if not TbVeiculos.FieldByName(´DT_VENC_APOL´).isnull then
begin
try
[b:05180c5e2b]if DBEdit9.Text <> ´´ then[/b:05180c5e2b]
strtodate(DBEdit9.text);
except
on EConvertError do
begin
showmessage(´Data Inválida´);
dbedit9.SetFocus;
end;
end;
end;
GOSTEI 0
Marcelo Saviski
10/03/2003
[b:e86faf3635]if[/b:e86faf3635] [b:e86faf3635]not[/b:e86faf3635] TbVeiculos.FieldByName(´DT_VENC_APOL´).isnull [b:e86faf3635]then
begin [/b:e86faf3635]
[b:e86faf3635]try [/b:e86faf3635]
[b:e86faf3635]if[/b:e86faf3635] lenght(DBEdit9.Text)>0[b:e86faf3635] then [/b:e86faf3635]strtodate(DBEdit9.text);
[b:e86faf3635]except [/b:e86faf3635]
[b:e86faf3635]on[/b:e86faf3635] EConvertError [b:e86faf3635]do
begin [/b:e86faf3635]showmessage(´Data Inválida´);
dbedit9.SetFocus;
[b:e86faf3635]end;
end;
end;[/b:e86faf3635]
begin [/b:e86faf3635]
[b:e86faf3635]try [/b:e86faf3635]
[b:e86faf3635]if[/b:e86faf3635] lenght(DBEdit9.Text)>0[b:e86faf3635] then [/b:e86faf3635]strtodate(DBEdit9.text);
[b:e86faf3635]except [/b:e86faf3635]
[b:e86faf3635]on[/b:e86faf3635] EConvertError [b:e86faf3635]do
begin [/b:e86faf3635]showmessage(´Data Inválida´);
dbedit9.SetFocus;
[b:e86faf3635]end;
end;
end;[/b:e86faf3635]
GOSTEI 0
Eniorm
10/03/2003
Procure para download no ClubeDelphi um componente chamado TDateEdit que já vem pronto para usar datas e validação das mesmas!
Só que não dá para associar com um DataSource como os dbEdit!
Só que não dá para associar com um DataSource como os dbEdit!
GOSTEI 0
Marcelo
10/03/2003
Voce pode fazer, nesse caso, dessa maneira...
procedure...
var
dt:TDate;
begin
try
dt:=strtodate(DBEdit9.Text);
except
showmessage(´Data inválida...´);
DBEdit9.Text:=´´;
DBEdit9.SetFocus;
end;
Valeu?
at+...
procedure...
var
dt:TDate;
begin
try
dt:=strtodate(DBEdit9.Text);
except
showmessage(´Data inválida...´);
DBEdit9.Text:=´´;
DBEdit9.SetFocus;
end;
Valeu?
at+...
GOSTEI 0
Eniorm
10/03/2003
Voce pode fazer, nesse caso, dessa maneira...
procedure...
var
dt:TDate;
begin
try
dt:=strtodate(DBEdit9.Text);
except
showmessage(´Data inválida...´);
DBEdit9.Text:=´´;
DBEdit9.SetFocus;
end;
Valeu?
at+...
Totalmente funcional, mas..., abaixo tá + simplificada:
No Evento OnExit do edit: try StrToDate(edit1.text); except on EConvertError do begin ShowMessage(´Data Inválida!´); edit1.clear; // limpa a data errada do edit edit1.setfocus; // se omitida, vai p/ prox. edit end; // fim do On Error end; // fim do try
Fui...
GOSTEI 0