



Fala galera da comunidade Show Delphi, tudo beleza?
Quantas vezes temos em uma string dados importantes como CPF, CNPJ, Telefones ou mesmo CEPs, mas temos somente os números e gostaríamos de exibir em um formato amigável para o usuário final, ou seja, aplicar uma máscara.
Felizmente o Delphi e o Lazaurus inclusive, nos proporcionam um modo muito fácil de resolver este problema.
Esta dica mostra como podemos aplicar uma mascara a uma
string de um modo muito fácil, esta função permite aplicar
qualquer mascara para uma string.
É necessário estar declarado MaskUtils na seção uses,
em versões unicode declare System.MaskUtils;
Para Lazarus ou Delphis mais antigos declare somente MaskUtils na seção uses
Função do Delphi / Lazarus: FormatMaskText(mascara, Texto)
Retorno: String
Exemplos de uso:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | procedure TForm1.Button1Click(Sender: TObject); begin // Aplicando máscara do CPF ShowMessage(FormatMaskText('000\.000\.000\-00;0;', '51895752337')); // Aplicando máscara do CNPJ ShowMessage(FormatMaskText('00\.000\.000\/0000\-00;0;', '44732264000105')); // Aplicando máscara do CEP ShowMessage(FormatMaskText('00000\-000;0;', '99200000')); // Aplicando máscara dE TELEFONE ShowMessage(FormatMaskText('\(00\)000000009;0;', '11978563215')); ShowMessage(FormatMaskText('\(00\)000000009;0;', '5434491111')); end; |
Esta dica funciona inclusive par o Firemonkey!
Para facilita ainda mais o entendimento, vamos postar o código inteiro da unit de exemplo:
Aqui o exemplo é um Lazarus, mas para o Delphi é muito similar.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 | unit Unit1; {$mode objfpc}{$H+} interface uses Classes, SysUtils, Forms, Controls, Graphics, Dialogs, StdCtrls; type { TForm1 } TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); private public end; var Form1: TForm1; implementation {$R *.lfm} uses MaskUtils; { TForm1 } procedure TForm1.Button1Click(Sender: TObject); begin // Aplicando máscara do CPF ShowMessage(FormatMaskText('000\.000\.000\-00;0;', '51895752337')); // Aplicando máscara do CNPJ ShowMessage(FormatMaskText('00\.000\.000\/0000\-00;0;', '44732264000105')); // Aplicando máscara do CEP ShowMessage(FormatMaskText('00000\-000;0;', '99200000')); // Aplicando máscara dE TELEFONE ShowMessage(FormatMaskText('\(00\)000000009;0;', '11978563215')); ShowMessage(FormatMaskText('\(00\)000000009;0;', '5434491111')); end; end. |
Certo pessoal, acredito que tenha ficado bem esclarecido como utilizar a função. Espero que ajude a todos.
Dúvidas ou sugestões? Deixe o seu comentário!
Um abraço e até a próxima pessoal. Valeu!
Você precisa fazer o login para publicar um comentário.
Muito boa a dica!!
muito boa
Gostaria de saber como ficaria pra TCP/IP
se puder me mostrar, por favor
e se tiver outro local para colocar essa ação além do click de um botão
Eu gostaria de algo bem semelhante ao que é no windows, se possivel
Vlw amigo, não sabia que essa função funcionava para Firemonkey