Mensagem de erro!!!

Delphi

10/08/2005

bom a rotina que valida a data é a seguinte

var
   data: TDate;
begin
   if edtData.Text <> ´´ then
      begin
         FLAG := True 
     end;
    try
      data := StrToDate(edtData.Text);
   except
      on e: econverterror do
         begin
         showmessage(´Formato da Data Inválida!!!´);
         edtData.setfocus;
         end
   end;
end;


a mensagem de erro é a seguinte:
[b:10a3e8026f]invalid input Value. use escape key to abandon changes[/b:10a3e8026f]

e eu to usando um maskedit com formatacao que eh a seguinte :
[b:10a3e8026f]!99/99/0000;1;_[/b:10a3e8026f]

eu teria como tratar esta mensagem em portugues ?


Fernando_cunha

Fernando_cunha

Curtidas 0

Respostas

Edilcimar

Edilcimar

10/08/2005

try
data := strtodate(maskedit1.text);
except
showmessage(´esta não é uma data válida´);
end;
veja que vc não precisa vazer um econverterrror pois ele só entrará no except se a data não for válida


GOSTEI 0
Fernando_cunha

Fernando_cunha

10/08/2005

Bom dia,

Mesmo assim continua aparecendo esta mensagem de erro... se eu pudesse pelo menos converter para portugues ja estaria otimo ou eu fazer uma mensagem personalizada seria muito melhor.


grato e obrigaod pela ajuda


GOSTEI 0
Fernando_cunha

Fernando_cunha

10/08/2005

ola pessoal, eu consegui, obrigado pela ajuda..

o meu maskedit ficou com a seguinte mascara


!99/99/9999;1;_



e o codigo ficou o seguinte


procedure TFrmBlMaster.MaskEdit1Exit(Sender: TObject);
var
   data: TDate;
   x: string;
begin
 x:=Copy(edit1.text,10,1);
 if x =  ´ ´ then
      begin
      Showmessage(´Formato da Data Inválida!!!´);
      Flag:=True;
      end
 else
    begin
        try
           data := StrToDate(Edit1.Text);
       except
             begin
                   showmessage(´Formato da Data Inválida!!!´);
                  edit1.setfocus;
              end
        end;
    end;
end;



GOSTEI 0
Rjun

Rjun

10/08/2005

Sinto muito, mas essa sua ´técnica´ só funciona se o último caracter for um espaço em branco. Caso o usuário preencha o mês com um espaço em branco, ou o dia, dará erro.


GOSTEI 0
POSTAR