



Certo dica li um comentário aqui na comunidade sobre como aplicar uma máscara de IP,
e procurando na internet encontre algo e vou compartilhar com vocês.
Vamos ao código!
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 52 53 54 55 56 57 58 | unit Unit2; interface uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls; type TForm2 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form2: TForm2; implementation {$R *.dfm} uses MaskUtils; // função entrontrada na internet function Mascara(edt: String;str:String):string; var i : integer; begin for i := 1 to Length(edt) do begin if (str[i] = '9') and not (edt[i] in ['0'..'9']) and (Length(edt)=Length(str)+1) then delete(edt,i,1); if (str[i] <> '9') and (edt[i] in ['0'..'9']) then insert(str[i],edt, i); end; result := edt; end; // exemplo utilizando esta função procedure TForm2.Button1Click(Sender: TObject); begin ShowMessage( Mascara('192168000010','999.999.999.999') ); end; // alternativa usando as funções já disponíveis do Delphi procedure TForm2.Button2Click(Sender: TObject); begin ShowMessage( FormatMaskText('000\.000\.000\.000;0;', '192168000019')); end; end. |
Repare que ‘192168000019’ é 192 168 000 019, assim é possível colocar o ponto
no lugar correto.
Caso queira passar o texto para uma Edit é muito simples:
1 2 3 4 | procedure TForm2.Button2Click(Sender: TObject); begin ShowMessage( FormatMaskText('000\.000\.000\.000;0;', '192168000019')); end; |
Fonte de referência: https://www.devmedia.com.br/forum/firemonkey-mask-edit-tcp-ip/599503
Este é um exemplo simples de aplicação de máscaras.
Dúvidas ou sugestões? Deixe o seu comentário.