Ir para conteúdo
Fórum Script Brasil
  • 0

Validação De Cpf (resolvido)


Curinga

Pergunta

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....

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 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; ' ;

Link para o comentário
Compartilhar em outros 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 ( . . - )

Link para o comentário
Compartilhar em outros 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...

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.


  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...