Função para validar CPF. – Show Delphi

DICAS

Visite a biblioteca de dicas da comunidade.

Saiba mais

ARTIGOS

Abordagens detalhadas sobre assuntos diversos.

Saiba mais

INICIANTES

Aprenda a programar de um modo simples e fácil.

Saiba mais

DOWNLOADS

Acesse os materiais exclusivos aos membros.

Saiba mais
voltar

PARA QUEM GOSTA DE DELPHI

Função para validar CPF.

 

Muitas vezes é necessário a validação das informações preenchidas,
o CPF é um caso comum de validação.
Abaixo segue uma função para verificar se um CPF é válido:

É necessário declarar Math e SysUtils,
em versões unicode declare System.Math e System.SysUtils.

Abaixo o código fonte da função:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
function IsValidCPF(pCPF : string) : Boolean;
var
  v: array[0..1] of Word;
  cpf: array[0..10] of Byte;
  I: Byte;
begin
  try
    for I := 1 to 11 do
      cpf[i-1] := StrToInt(pCPF[i]);
    //Nota: Calcula o primeiro dígito de verificação.
    v[0] := 10*cpf[0] + 9*cpf[1] + 8*cpf[2];
    v[0] := v[0] + 7*cpf[3] + 6*cpf[4] + 5*cpf[5];
    v[0] := v[0] + 4*cpf[6] + 3*cpf[7] + 2*cpf[8];
    v[0] := 11 - v[0] mod 11;
    v[0] := IfThen(v[0] >= 10, 0, v[0]);
    //Nota: Calcula o segundo dígito de verificação.
    v[1] := 11*cpf[0] + 10*cpf[1] + 9*cpf[2];
    v[1] := v[1] + 8*cpf[3] +  7*cpf[4] + 6*cpf[5];
    v[1] := v[1] + 5*cpf[6] +  4*cpf[7] + 3*cpf[8];
    v[1] := v[1] + 2*v[0];
    v[1] := 11 - v[1] mod 11;
    v[1] := IfThen(v[1] >= 10, 0, v[1]);
    //Nota: Verdadeiro se os dígitos de verificação são os esperados.
    Result :=  ((v[0] = cpf[9]) and (v[1] = cpf[10]));
  except on E: Exception do
    Result := False;
  end;
end;

Exemplo de uso:

1
2
3
4
5
6
7
8
// Exemplo de uso:
procedure TForm1.Button1Click(Sender: TObject);
begin
  if IsValidCPF('76275651628') then
    ShowMessage('O CPF é válido.')
  else
    ShowMessage('O CPF não é válido.');
end;

Como alternativa pode-se citar o componente TACBrValidador que valida diversos
documentos e pertence a biblioteca do ACBr que é Open Source.

Facebook Comments

Posts Relacionados

  • Administrador
  • 1.589 views
  • 0 comentários
  • 23 de março de 2015

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Ir ao topo

© 2016 Infus Soluções em Tecnologia - Todos os Direitos Reservados