Descrição

Função para formatar cnpj com mascara 99.999.999/9999-99.

Delphi

function formatarCnpj(Cnpj : String) : String;
Var
  vTam, xx : Integer;
  vDoc : String;
begin
  vTam := Length(Cnpj);
  For xx := 1 To vTam Do
    If (Copy(Cnpj,xx,1) <> '.') And (Copy(Cnpj,xx,1) <> '-') And (Copy(Cnpj,xx,1) <> '/') Then
      vDoc := vDoc + Copy(Cnpj,xx,1);
  Cnpj := vDoc;
  vTam := Length(Cnpj);
  vDoc := '';
  vDoc := '';
  For xx := 1 To vTam Do
  begin
    vDoc := vDoc + Copy(Cnpj,xx,1);
    If vTam = 11 Then
    begin
      If (xx in [3,6]) Then vDoc := vDoc + '.';
      If xx = 9 Then vDoc := vDoc + '-';
    end;
    If vTam = 14 Then
    begin
      If (xx in [2,5]) Then vDoc := vDoc + '.';
      If xx = 8 Then vDoc := vDoc + '/';
      If xx = 12 Then vDoc := vDoc + '-';
    end;
  end;
  Result := vDoc;
end;