quinta-feira, 16 de maio de 2013

Função Para Validar Dígito Verificador de CPF


Olá, Boa Tarde.
Mais um dica chegando.
Hoje vou publicar um função para validar o dígito verificador de CPFs.

  1. Abra um novo projeto no Delphi;
  2. No formulário principal, insira um "Edit" e um "Button"(Guia Standard);
  3. Declare a seguinte função na seção de declarações "Public".  
          function verificaCPF(cpf: String): Boolean; 

     4.  Na seção de implementação "Implementation", implemente a função descrita acima, segue código:

    function TForm1.verificaCPF(cpf: String): Boolean;
    var
      numCPF : array[1..9] of integer;
      cont, d1, d2 : integer;
      digitado, calculado : String;
    begin
      for cont :=1 to 9 do
      begin
        numCPF[cont] := StrToInt(cpf[cont]);
      end;
      d1 := numCPF[1]*10 + numCPF[2]*9 + numCPF[3]*8 + numCPF[4]*7 + numCPF[5]*6 +
      numCPF[6]*5 + numCPF[7]*4 + numCPF[8]*3 + numCPF[9]*2;
      if (d1 mod 11)<2 then
        d1 := 0
      else
        d1 := 11 - (d1 mod 11);
      d2 := numCPF[1]*11 + numCPF[2]*10 + numCPF[3]*9 + numCPF[4]*8 + numCPF[5]*7 +
      numCPF[6]*6 + numCPF[7]*5 + numCPF[8]*4 + numCPF[9]*3 + d1*2;
      if (d2 mod 11)<2 then
        d2 := 0
      else
        d2 := 11 - (d2 mod 11);
      digitado := cpf[10] + cpf[11];
      calculado := IntToStr(d1)+IntToStr(d2);
      if (digitado = calculado) then
        verificaCPF := True
      else
        verificaCPF := False
    end;

     5.  No evento "OnClick" do botão, coloque o seguinte código:

    if (verificaCPF(Edit1.Text) = True) then
    begin
      ShowMessage('CPF Válido!!!');
    end
    else
    begin
      ShowMessage('CPF Inválido!!!');
    end;

     6.  Salve o projeto em uma pasta de sua escolha e compile a aplicação, após compilar na janela que irá abrir, digite o número do CPF no Edit e clique no botão para validar o dígito.

    OBS.: Para fins de compatibilidade, esta dica foi escrita usando Delphi XE3.

Esta foi a dica de hoje, em breve postarei uma nova dica para a validação de dígito verificador de CNPJ.

Atenciosamente
Dica Chave.



2 comentários:

  1. Essa bosta não funciona

    ResponderExcluir
    Respostas
    1. Eu copiei esta dica e testei, ela faz exatamente o que se propõem a fazer, validar o digito verificador do CPF.

      Excluir