TyttoSoft

DICAS | SOFTWARE | PROGRAMAÇÃO




Delphi - Função para Formatar CPF, CNPJ, Telefone e Celular


Vamos criar uma função para formatar Strings, CPF, CNPJ, Telefone e Celular. Em nossa função para não a ver erros em um campo já formatado ou até mesmo um campo que não estiver no seu formato correto, vamos remover os . - / ( ) . Vamos criar um nova Unit: File - New - Unit-Delphi.
Copia o comando a baixo e cola em sua unit unit funformatartexto; interface uses winapi.windows, System.SysUtils, System.MaskUtils; Function formacpf(numtexto:String):String; Function formacnpj(numtexto:String):String; Function formatelefone(numtexto:String):String; Function formacelular(numtexto:String):String; implementation //Formata número CPF Function formacpf(numtexto:String):String; begin Delete(numtexto,ansipos('.',numtexto),1); //Remove ponto . Delete(numtexto,ansipos('.',numtexto),1); Delete(numtexto,ansipos('-',numtexto),1); //Remove traço - Delete(numtexto,ansipos('/',numtexto),1); //Remove barra / Result:=FormatmaskText('000\.000\.000\-00;0;',numtexto); // Formata os numero end; //Formata número CNPJ Function formacnpj(numtexto:String):String; begin Delete(numtexto,ansipos('.',numtexto),1); //Remove ponto . Delete(numtexto,ansipos('.',numtexto),1); Delete(numtexto,ansipos('-',numtexto),1); //Remove traço - Delete(numtexto,ansipos('/',numtexto),1); //Remove barra / Result:=FormatmaskText('00\.000\.000\/0000\-00;0;',numtexto); end; //Formata número telefone fixo Function formatelefone(numtexto:String):String; begin Delete(numtexto,ansipos('-',numtexto),1); //Remove traço - Delete(numtexto,ansipos('-',numtexto),1); Delete(numtexto,ansipos('(',numtexto),1); //Remove parenteses ( Delete(numtexto,ansipos(')',numtexto),1); //Remove parenteses ) Result:=FormatmaskText('\(00\)0000\-0000;0;',numtexto); // Formata os numero end; //Formata número celular Function formacelular(numtexto:String):String; begin Delete(numtexto,ansipos('-',numtexto),1); //Remove traço - Delete(numtexto,ansipos('-',numtexto),1); Delete(numtexto,ansipos('(',numtexto),1); //Remove parenteses ( Delete(numtexto,ansipos(')',numtexto),1); //Remove parenteses ) Result:=FormatmaskText('\(00\)00000\-0000;0;',numtexto); // Formata os numero end; end. Como usar essa função? Adicionamos a nossa uses a UNIT funformatartexto
no Evento OnExit do seu Edit ou DBEdit usamos assim: Edit1.Text:=formacpf(Edit1.Text); // para formatar CPF 000.000.000-00 Edit1.Text:=formacnpj(Edit1.Text); // para formatar CNPJ 00.000.000/0000-00 Edit1.Text:=formatelefone(Edit1.Text); // para formatar Telefone (00)0000-0000 Edit1.Text:=formacelular(Edit1.Text); // para formatar Celular (000)0000-0000



17/04/2026 05:03 Delphi 16456


Política de privacidade

Utilizamos cookies e outras tecnologias semelhantes para melhorar a sua experiência no nosso site.

Ao continuar navegando, você declara que está de acordo com a nossa política de privacidade.

Copyright © TyttoSoft 2018 | Desenvolvido por www.TyttoSoft.com.br