Buscar

Formatação automática de cpf e cnpj

Código

{São 3 funções, vc usa diretamente a função FormataCPF_CNPJ, passando para ela o número que deseja formatar e ela te retorna o número formatado com pontos, barra, traço e tudo o mais.
Bem, deixa de blá, blá, blá e vamos às ditas cujas:}


Function FormataCNPJ(Numero: String): String;
var
   tmp,resultado: String;
   indx, indx1: integer;
begin
     if Length(Numero) < 12 Then
        begin
        result := '';
        exit;
        end;

     for indx := 1 to Length(Numero) do
         begin
         if Numero[indx] in ['0'..'9'] Then
              resultado := resultado + Numero[indx];
         end;
     if Length(Resultado) < 14 Then
        resultado := StringOfChar('0', 14 - Length(Resultado)) + resultado;
     tmp := Copy(resultado,1,2) + '.';
     tmp := tmp + Copy(resultado,3,3) + '.';
     tmp := tmp + Copy(resultado,6,3) + '/';
     tmp := tmp + Copy(resultado,9,4) + '-' + Copy(resultado,13,2);
     Result := tmp;
end;


Function FormataCPF(Numero: String): String;
var
   tmp,resultado: String;
   indx, indx1: integer;
begin
     if Length(Numero) < 10 Then
        begin
        result := '';
        exit;
        end;

     for indx := 1 to Length(Numero) do
         begin
         if Numero[indx] in ['0'..'9'] Then
              resultado := resultado + Numero[indx];
         end;
     if Length(Resultado) < 11 Then
        resultado := StringOfChar('0', 11 - Length(Resultado)) + resultado;
     tmp := Copy(resultado,1,3) + '.';
     tmp := tmp + Copy(resultado,4,3) + '.';
     tmp := tmp + Copy(resultado,7,3) + '-';
     tmp := tmp + Copy(resultado,10,2);
     Result := tmp;
end;

Function FormataCNPJ_CPF(Numero: String): String;
var
   indx, tamanho: integer;
   resultado: String;
begin
     for indx := 1 to Length(Numero) do
         begin
         if Numero[indx] in ['0'..'9'] Then
              resultado := resultado + Numero[indx];
         end;

     if (Length(resultado) > 11) Then
        resultado := FormataCNPJ(resultado)
     else
         resultado := FormataCPF(resultado);
     result := resultado;
end;
 

Publicidade

Vote na dica




Quantidade de votos: 0 votos
Aceitação: 0%


Detalhes da dica

Categoria: Object pascal
Adicionada dia: 26/07/03
Por: Amilton Maciel
Visualizada: 10663 vezes

Planeta Delphi - Tudo sobre programação Delphi Planeta Delphi - www.planetadelphi.com.br - Todos os direitos reservados | Copyright 2001-2009