Validar saida de campos !

Delphi

27/04/2004

Pessoal gostaria de validar saidas de campos com máscaras como CEP E CPF pois quando é acionado o evento onEXIT ele da uma mensagem de erro relacionado abaixo : gostaria de tratar essa msg de erro !

[size=18:c6b9449737][b:c6b9449737]´ ´ is not a valid integer value.[/b:c6b9449737][/size:c6b9449737]


Jonasaf

Jonasaf

Curtidas 0

Respostas

Marco Salles

Marco Salles

27/04/2004

Pessoal gostaria de validar saidas de campos com máscaras como CEP E CPF pois quando é acionado o evento onEXIT ele da uma mensagem de erro relacionado abaixo : gostaria de tratar essa msg de erro ! ´ ´ is not a valid integer value


Jeito para isto acho que tem... :Mas ja, parece que Voce tem um campo integer, porque que voce ao inves de validar a saída :idea: :idea: não fica de olho na entrada dos dados...Coibindo dados que não Sejam Inteiros :?: :?:


GOSTEI 0
Jonasaf

Jonasaf

27/04/2004

[quote:f61912beaa=´Marco Salles´]
Pessoal gostaria de validar saidas de campos com máscaras como CEP E CPF pois quando é acionado o evento onEXIT ele da uma mensagem de erro relacionado abaixo : gostaria de tratar essa msg de erro ! ´ ´ is not a valid integer value


Jeito para isto acho que tem... :Mas ja, parece que Voce tem um campo integer, porque que voce ao inves de validar a saída :idea: :idea: não fica de olho na entrada dos dados...Coibindo dados que não Sejam Inteiros :?: :?:[/quote:f61912beaa]

Porque coloquei uma máscara no cep dai... gostaria de salvar a mascara para os valores por esse motivo n tratei... so gostaria de mudar o erro q aparece default para outro entende....!

Alguem pode me ajudar.?


GOSTEI 0
Jonasaf

Jonasaf

27/04/2004

[quote:7e0e040703=´Marco Salles´]
Pessoal gostaria de validar saidas de campos com máscaras como CEP E CPF pois quando é acionado o evento onEXIT ele da uma mensagem de erro relacionado abaixo : gostaria de tratar essa msg de erro ! ´ ´ is not a valid integer value


Jeito para isto acho que tem... :Mas ja, parece que Voce tem um campo integer, porque que voce ao inves de validar a saída :idea: :idea: não fica de olho na entrada dos dados...Coibindo dados que não Sejam Inteiros :?: :?:[/quote:7e0e040703]

Porque coloquei uma máscara no cep dai... gostaria de salvar a mascara para os valores por esse motivo n tratei... so gostaria de mudar o erro q aparece default para outro entende....!

Alguem pode me ajudar.?


GOSTEI 0
Rômulo Barros

Rômulo Barros

27/04/2004

Function ValidaCpf(Cpf : String) : Boolean;
Begin
   For C := 1 To Length(Cpf)Do // Esta rotina passa por todos os caracteres do Cpf e elimina Pontos (.) e traços (-),
   Begin                       // Evitando assim que ocorra erro durante a validação, pois a rotina não aceita pontos ou traços, que são da máscara.
      If((Copy(Cpf,C,1)=´.´)Or(Copy(Cpf,C,1)=´-´))Then
        Delete(Cpf,C,1);
   End;
   Cpf := Trim(Cpf);
   If((Cpf = ´´) Or (Length(Cpf)<11))Then  // Se o cpf estiver em branco ou possui menos de 11 caracteres então
   Begin                                   // o cpf não é válido (Result = false) e forçamos a saída da rotina (Exit),
      Result := False;                     // recebendo então o usuário uma mensagem de "Cpf Inválido" ;
      Exit;
   End;

   n1:=StrToInt(Cpf[1]);
   n2:=StrToInt(Cpf[2]);
   n3:=StrToInt(Cpf[3]);
   n4:=StrToInt(Cpf[4]);
   n5:=StrToInt(Cpf[5]);
   n6:=StrToInt(Cpf[6]);
   n7:=StrToInt(Cpf[7]);
   n8:=StrToInt(Cpf[8]);
   n9:=StrToInt(Cpf[9]);
   d1:=n9*2+n8*3+n7*4+n6*5+n5*6+n4*7+n3*8+n2*9+n1*10;
   d1:=11-(d1 mod 11);
   if d1>=10 then
      d1:=0;
      d2:=d1*2+n9*3+n8*4+n7*5+n6*6+n5*7+n4*8+n3*9+n2*10+n1*11;
      d2:=11-(d2 mod 11);
      if d2>=10 then
         d2:=0;
         calculado:=inttostr(d1)+inttostr(d2);
         digitado:=Cpf[10]+Cpf[11];
         if calculado=digitado then
           Result := True
         else
           Result := False;

End;



GOSTEI 0
Jonasaf

Jonasaf

27/04/2004

Pessoal gostaria de validar saidas de campos com máscaras como CEP E CPF pois quando é acionado o evento onEXIT ele da uma mensagem de erro relacionado abaixo : gostaria de tratar essa msg de erro ! [size=18:306cadef52][b:306cadef52]´ ´ is not a valid integer value.[/b:306cadef52][/size:306cadef52]


[b:306cadef52]ALGUEM PODE ME AJUDAR A TRATAR ESSE ERRO...? MASCARA CEP E TELEFONE...?[/b:306cadef52]


GOSTEI 0
G1b4

G1b4

27/04/2004

Pelo que entendi isso ocorre quando o objeto fica vazio e perde o foco.
Vc poderia tratar essa exceção assim:
try
// aki validação do cpf ou cep
.
.
.
except
{ aki quando a exceção for gerada, no seu caso ´ ´ is not a valid integer value.}
//Por exemplo
ShowMEssage(´Campo vazio, favor preenche-lo´);
end;

Ok? Espero ter ajudado. Se eu não entendi, escreva o código aí para eu dar uma olhada.


GOSTEI 0
Cabreu.jr

Cabreu.jr

27/04/2004

jonasaf, vc está usando um campo tipo inteiro, utilize a máscara sem salvar os caracteres ou então mude para string.


GOSTEI 0
Marco Salles

Marco Salles

27/04/2004

cabreu.jr escreveu
jonasaf, vc está [b:ea24cf02b4]usando um campo tipo inteiro[/b:ea24cf02b4], utilize a máscara [b:ea24cf02b4]sem salvar os caracteres [/b:ea24cf02b4]ou então [b:ea24cf02b4]mude para string[/b:ea24cf02b4].


[b:ea24cf02b4]Concordo...[/b:ea24cf02b4]

Ou Não [b:ea24cf02b4]Salve[/b:ea24cf02b4] os Caracters Da Mascara Ou [b:ea24cf02b4]Mude[/b:ea24cf02b4] o Campo Para [b:ea24cf02b4]String[/b:ea24cf02b4]...
E Se mudar para String Pode [b:ea24cf02b4]Validar[/b:ea24cf02b4] a Entrada dos Dados no evento OnKeyUp...

Porque se perocupar em Tratar um Erro se Este Erro Pode Ser Evitado :?: :?: :?:


GOSTEI 0
POSTAR