Buscar

Verificação de cpf com editmask

Código

// ABAIXO SEGUE UMA OTIMA FUNÇÃO PARA VALIDAÇÃO DO CPF

//DECLARE A FUNÇÃO

  public
    { Public declarations }
    function cpf(num:string):boolean;


function TfrmFornecedores.cpf(num:string):boolean;
var
n1,n2,n3,n4,n5,n6,n7,n8,n9:integer;
d1,d2:integer;
digitado,calculado:string;

begin
n1:=StrToInt(num[1]);
n2:=StrToInt(num[2]);
n3:=StrToInt(num[3]);
n4:=StrToInt(num[5]);
n5:=StrToInt(num[6]);
n6:=StrToInt(num[7]);
n7:=StrToInt(num[9]);
n8:=StrToInt(num[10]);
n9:=StrToInt(num[11]);

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:=num[13]+num[14];

if calculado=digitado then
cpf:=true
else
cpf:=false;
end;


//AGORA EXECUTAREMOS A FUNÇÃO QUANDO O FOCO SAIR DO EDIT E MOSTRAREMOS UMA MENSAGEM INFORMANDO A SITUAÇÃO DO CPF

procedure TfrmFornecedores.Edit1Exit(Sender: TObject);
var num:string; // DECLARAÇÃO DA VARIAVEL QUE REPASSA O VALOR A FUNÇÃO
begin
    num:=Edit1.Text; //PASSANDO NUMERO DO CPF
   if NOT cpf(Edit1.Text) then
   Begin
   ShowMessage('CPF INVALIDO!!!');
   Edit1.SetFocus;
   end
   Else
   ShowMessage('CPF VALIDO!!!');
end;

Publicidade

Vote na dica




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


Detalhes da dica

Categoria: Forms
Adicionada dia: 30/03/07
Por: Leonardo Costa Vieira
Visualizada: 5941 vezes

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