Buscar

VALIDAR UM CPF 100% FUNCIONAL

Código

{A MUITO TEMPO ANDEI ATRAZ DISSO ENTAO AI ESTA A VCS MASTIGADO.}

var
n,Somatoria1,Somatoria2,DigVerif1,DigVerif2:integer;
CPF:String[12];
begin
if mskCpf.Text=''then
        begin
                MessageDlg('Digite um valor',mtError,[mbOK],0);
                mskCpf.SetFocus;
        end
else
begin
//obtem o número do cpf
cpf:=mskCPF.Text;

//calcula somatoria1
Somatoria1:=0;
for n :=1 to 9 do
    begin
         somatoria1:=somatoria1+ (Strtoint(cpf[n])*n);
    end;
 DigVerif1:=(Somatoria1 mod 11) mod 10;
 Somatoria2:=0;
 for n:=2 to 9 do
    begin
         Somatoria2:=Somatoria2+(strtoint(cpf[n])*(n-1));
    end;
 somatoria2:=somatoria2+(digVerif1*9);
 DigVerif2:=(somatoria2 mod 11) mod 10;
 if (digVerif1= Strtoint(cpf[11])) and
    (digVerif2= Strtoint(cpf[12])) then
    begin
         MessageBeep(mb_OK);
         Messagedlg('CPF Válido',mtinformation,[MbOK],0);
         mskCPF.Clear;
         mskCPF.SetFocus;
    end
 else
     begin
          messageBeep(mb_iconExclamation);
          Messagedlg('CPF Falso',mtWarning,[mbOK],0);
          mskCPF.Clear;
          mskCPF.SetFocus;
     end;
 end;

end;

Publicidade

Vote na dica




Quantidade de votos: 0 votos
Aceitação: 0%


Detalhes da dica

Categoria: Forms
Adicionada dia: 13/06/09
Por: Leandro Silva
Visualizada: 4503 vezes

Planeta Delphi - Tudo sobre programação Delphi Planeta Delphi - www.planetadelphi.com.br - Todos os direitos reservados | Copyright 2001-2009