Validar Data - Na conversão da erro...
Ñ to intendendo...
Tenho esse codigo no onexit do MaskEdit1
try
:arrow: StrToDate(MaskEdit1.Text);
except
on EConvertError do
ShowMessage (´Data Inválida!´);
Mas qdo digito por exemplo: 12/13/03 na conversao da um BUG pra depois mostrar a SHOWMESSAGE... :roll: :roll:
Tenho esse codigo no onexit do MaskEdit1
try
:arrow: StrToDate(MaskEdit1.Text);
except
on EConvertError do
ShowMessage (´Data Inválida!´);
Mas qdo digito por exemplo: 12/13/03 na conversao da um BUG pra depois mostrar a SHOWMESSAGE... :roll: :roll:
Educdc
Curtidas 0
Respostas
Luizfernando777
30/09/2003
experimente isso
var
cont : integer;
begin
if (Sender is TMaskEdit) then
begin
cont := Length( Trim( (Sender as TMaskEdit).Text ) );
try
if (Sender as TMaskEdit).Text = ´ / / ´ then
begin
exit;
end
else if cont <= 7 then
begin
(Sender as TMaskEdit).Clear;
exit;
end
else
begin
(Sender as TMaskEdit).Text := DateToStr(StrtoDate((Sender as TMaskEdit).Text));
end;
except
on Exception do
(Sender as TMaskEdit).SetFocus;
end;
end;
end;
var
cont : integer;
begin
if (Sender is TMaskEdit) then
begin
cont := Length( Trim( (Sender as TMaskEdit).Text ) );
try
if (Sender as TMaskEdit).Text = ´ / / ´ then
begin
exit;
end
else if cont <= 7 then
begin
(Sender as TMaskEdit).Clear;
exit;
end
else
begin
(Sender as TMaskEdit).Text := DateToStr(StrtoDate((Sender as TMaskEdit).Text));
end;
except
on Exception do
(Sender as TMaskEdit).SetFocus;
end;
end;
end;
GOSTEI 0
Educdc
30/09/2003
:arrow: (Sender as TMaskEdit).Text := DateToStr(StrtoDate((Sender as TMaskEdit).Text));
Da erro nessa conversão...
Da erro nessa conversão...
GOSTEI 0
Luizfernando777
30/09/2003
estranho,
aqui no meu projeto funciona
tanto que testei novamente
aqui no meu projeto funciona
tanto que testei novamente
GOSTEI 0
Educdc
30/09/2003
qdo vc digita uma data inválida o q acontece?
GOSTEI 0
Luizfernando777
30/09/2003
ele não sai do MaskEdit
e aí o q acontece
e aí o q acontece
GOSTEI 0
Educdc
30/09/2003
:arrow: ta dando esse erro:
Projec Project1.exe raised exception class EConvertErro with message ´12/13/03´ is not a valid date´. Process sotpped. Use Step or Run to continue.
Projec Project1.exe raised exception class EConvertErro with message ´12/13/03´ is not a valid date´. Process sotpped. Use Step or Run to continue.
GOSTEI 0
Luizfernando777
30/09/2003
Manda o projeto exemplo para mim,
sem o executavel,
no meu email
luizfernando777@yahoo.com.br
sem o executavel,
no meu email
luizfernando777@yahoo.com.br
GOSTEI 0
Educdc
30/09/2003
kbei de mandar o mail...
da uma olhada la!!
da uma olhada la!!
GOSTEI 0
Luizfernando777
30/09/2003
experimenta executar o
seu projeto não pelo delphi,
mas sim pelo explorer,
não vai aparecer esse erro.
é que o debug do delphi pega isso
e passa a informação para você
seu projeto não pelo delphi,
mas sim pelo explorer,
não vai aparecer esse erro.
é que o debug do delphi pega isso
e passa a informação para você
GOSTEI 0
Educdc
30/09/2003
eh pelo explorer deu certo! Entao este erro vai sempre aparecer enquanto eu estiver testando o programa? so depois de eu instalar tudo q some? aff!!
GOSTEI 0
Japa
30/09/2003
Amigo eu tambem tive esse problema e resolvi com esse codigo que consegui fazer:
Ahh sim declare uma variavel local:
Bom eu decidi colocar a data do dia quando da o erro.. mas voce pode dar um SetFocus por exemplo... Ahhh sim coloque esse codigo no onexit de seu maskedit...
Boa sorte amigo... :wink:
data:= StrToDateDef(MaskEdit.Text, Date);
if not (TryStrToDate(MaskEdit.Text, data)) then
begin
MessageDlg(´ Data invalida.´, mtError, [mbOK], 0);
MaskEdit.Text:= DateToStr(data);
end;
Ahh sim declare uma variavel local:
var data: TDateTime;
Bom eu decidi colocar a data do dia quando da o erro.. mas voce pode dar um SetFocus por exemplo... Ahhh sim coloque esse codigo no onexit de seu maskedit...
Boa sorte amigo... :wink:
GOSTEI 0
Jeancamila
30/09/2003
Para ver o exemplo em tempo de execução pelo delphi é só configura-lo para isso:
Clicar em menu tools | Debugger options
Clicar na guia language exceptions e desmarcar o check box ´stop on delphi exceptions´
Clicar em menu tools | Debugger options
Clicar na guia language exceptions e desmarcar o check box ´stop on delphi exceptions´
GOSTEI 0