Fórum Mensagem de erro!!! #291303

10/08/2005

0

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

Responder

Posts

10/08/2005

Edilcimar

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


Responder

Gostei + 0

12/08/2005

Fernando_cunha

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


Responder

Gostei + 0

12/08/2005

Fernando_cunha

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;



Responder

Gostei + 0

12/08/2005

Rjun

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.


Responder

Gostei + 0

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

Aceitar