terça-feira, 21 de maio de 2013

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



Olá, Bom Dia.
Conforme prometido, hoje vou publicar um função para validar o dígito verificador de CNPJs.

  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 verificaCNPJ(cnpj: String): Boolean; 

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

          function TForm1.verificaCNPJ(cnpj: String): Boolean;

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

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

    if (verificaCNPJ(Edit1.Text) = True) then
    begin
      ShowMessage('CNPJ Válido!!!');
    end
    else
    begin
      ShowMessage('CNPJ 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 CNPJ 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 mais novidades em nosso Blog.

Atenciosamente
Dica Chave.

Nenhum comentário:

Postar um comentário