Validação de CNPJ

Delphi

14/12/2004

Boa tarde,

Pessoal alguém possua a rotina de validação de CNPJ?

Att,


Wagner R. Marrane


Wagnermarrane

Wagnermarrane

Curtidas 0

Respostas

Vinicius2k

Vinicius2k

14/12/2004

Colega,

Esta função valida tanto CNPJ quanto CPF :
function Validar_CPF_CNPJ(S: String): Boolean;
var i, d, b, Digito: Byte;
    Soma: Integer;
    IsCNPJ: Boolean;
    DgPass, DgCalc: String;
begin
  Result:= False;
  case Length(S) of
     0: begin
          Result:= True;
          Exit;
        end;
    11: IsCNPJ:= False;
    14: IsCNPJ:= True;
    else Exit;
  end;
  DgCalc:= ´´;
  DgPass:= Copy(S,Length(S)-1, 2);
  S:= Copy(S, 1, Length(S)-2);
  for d := 1 to 2 do
    begin
      if d = 1 then b:= 2 else b:= 3;
      if d = 1 then Soma:= 0 else Soma:= (StrToIntDef(DgCalc,0)*2);
      for i:= Length(S) downto 1 do
        begin
          Soma:= Soma + (Ord(S[i]) - Ord(´0´)) * b;
          Inc(b);
          if (b > 9) and IsCNPJ then b:= 2;
        end;
      Digito:= 11 - Soma mod 11;
      if Digito >= 10 then Digito:= 0;
      DgCalc:= DgCalc + Chr(Digito + Ord(´0´));
    end;
  Result:= (DgCalc = DgPass);
end;


Espero ter ajudado...
T+


GOSTEI 0
Dopi

Dopi

14/12/2004

O componente ACBrValidador do projeto ACBr faz a validação dos seguintes documentos:

CPF, CNPJ, Num.Cheques, PIS, CEP, Inscrição Estadual (todos os estados).
Considerando as Inscrições Estaduais, esse componente verifica atualmente 32
documentos diferentes.

para download veja o link na minha assinatura...


GOSTEI 0
Wagnermarrane

Wagnermarrane

14/12/2004

Acho que não estou sabendo implementar.... o CNPJ é valido quando a função rotorna TRUE certo?


GOSTEI 0
Vinicius2k

Vinicius2k

14/12/2004

Acho que não estou sabendo implementar.... o CNPJ é valido quando a função rotorna TRUE certo?


Exato. Mas lembre-se passar para a função o CNPJ sem pontos, barras ou traços. :wink:

T+


GOSTEI 0
Cirilo

Cirilo

14/12/2004

baixe programa para validação com fontes

http://www.veloso.adm.br/download.asp


GOSTEI 0
POSTAR