Jump to content
Fórum Script Brasil
  • 0
Sign in to follow this  
Curinga

Validação De Cpf (resolvido)

Question

No meu programa de cadastro, tem um EditMask para o CPF, q valida o CPF se ele for verdqadeiro, porém, se eu sair dele com o campo vazio, ele da erro.

Então minha duvida e minha pergunta é a seguinte:

Como eu faço para sair do EditMask com o campo vazio sem que ele de um erro, pedindo pra que eu digite o CPF.

aki vai a forma no qual eu estou fazendo:

function TCadastro.CPF(num: string): boolean;

var

n1,n2,n3,n5,n6,n7,n9,n10,n11: integer;

d1,d2: integer;

digitado, calculado: string;

begin

n1:=StrToInt(num[1]); {1}

n2:=StrToInt(num[2]); {2}

n3:=StrToInt(num[3]); {3}

n5:=StrToInt(num[5]); {4}

n6:=StrToInt(num[6]); {5}

n7:=StrToInt(num[7]); {6}

n9:=StrToInt(num[9]); {7}

n10:=StrToInt(num[10]); {8}

n11:=StrToInt(num[11]); {9}

d1:=n11*2+n10*3+n9*4+n7*5+n6*6+n5*7+n3*8+n2*9+n1*10;

d1:=11-(d1 mod 11);

if d1>=10 then

d1:=0;

d2:=d1*2+n11*3+n10*4+n9*5+n7*6+n6*7+n5*8+n3*9+n2*10+n1*11;

d2:=11-(d2 mod 11);

if d2>=10 then

d2:=0;

calculado:=inttostr(d1)+inttostr(d2);

digitado:=num[13]+num[14];

if (calculado=digitado) then

cpf:=true

else

cpf:=false;

end;

NO EVENTO ON EXIT DO EDITMASK:

If NOT cpf(EdtCPF.text) then

Begin

messagebox(Application.Handle, Pchar ('O CPF ' +EdtCPF.Text+ ' não existe, deseja continuar assim mesmo?'), 'Atenção', MB_OK+MB_ICONWARNING+MB_DEFBUTTON1);

EdtCPF.SetFocus;

End

Onde esta o erro?

valeu pela atenção....

Aguardo resposta....

Share this post


Link to post
Share on other sites

4 answers to this question

Recommended Posts

  • 0

Curinga, você tentou testar se o campo text do edit está preenchido antes de validar um provável valor digitado lá...

Valeu!

Share this post


Link to post
Share on other sites
  • 0

Use o seguinte teste

If Pos ( ' ', EditCpf.Text ) = 0 Then

Begin

Execute o Procedimento de verificação do Cpf.

End ;

Eu trabalho com isso quase o dia inteiro, vai por mim q dá certo.

Obs. As aspas não são juntas, porque a consulta esta perguntando sobre um caracter em bco, q corresponde a sua mascara. '###.###.###-##;1; ' ;

Share this post


Link to post
Share on other sites
  • 0

Pessoal, eu ainda não testei as dicas, mas desde já, agradeço a atenção.

AN_CP

O programa ele valida perfeitamente o CPF, porém, eu gostaria que quando eu entrasse no campo e saísse e deixasse em branco o campo CPF, ele não desse erro, o meu EDIT é MASK, em tão, quando eu entro no campo, ele aparece assim ( . . - ), quando eu deixo em branco, ele me emite uma mensagem que esse numero não é um numero inteiro, coisa desse tipo, então eu gostaria de saber como eu faço, pra entrar no campo do CPF, e ao sair se ele estiver em branco, ele pulasse, ou seja, não emitisse nenhuma mensagem de erro, e simplesmente pula para o proximo campo, sem mensagem alguma.

Eu vou testar as dicas e logo eu coloco a resposta se deu ou não certo.

Pessoal, valeu por enquanto...

RICARDO_PF

o campo já esta preenchido, como eu falei, ele já ta com o Mask da seguinte forma ( . . - ), então quando entro no campo ele aparece assim ( . . - )

Share this post


Link to post
Share on other sites
  • 0

Pessoal, não deu certo, quando eu entro no campo CPF, e saio, se ele estiver vazio ele não da erro, porém, o CPF ele sempre acusa que é inválido, arrumo um, porém, o outro deu problema.

Bom o esquema ta aí em cima, caso algm possa me ajudar, eu fico agradecido.

Galera, valeu mais uma vz.

Aguardo respostas...

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.
Sign in to follow this  

Cloud Computing


  • Forum Statistics

    • Total Topics
      148079
    • Total Posts
      643267
×
×
  • Create New...