Clube da Programação e Hardware

Tutorial, dicas, Programação, Hardware entre outros assuntos.
 
InícioInício  CalendárioCalendário  FAQFAQ  BuscarBuscar  MembrosMembros  GruposGrupos  Registrar-seRegistrar-se  Login  

Compartilhe | 
 

 Máscara para formatar o Edit, esta função aceita apenas números

Ver o tópico anterior Ver o tópico seguinte Ir em baixo 
AutorMensagem
volverine



Mensagens : 12
Data de inscrição : 28/01/2011

MensagemAssunto: Máscara para formatar o Edit, esta função aceita apenas números   Qui Maio 12, 2011 7:45 am

Esta Dica é ideal para CPF, CNJP, data, telefone, cep
Ex: Mascara(Edit1.Text, '99.999.999/9999-99');

Codigo Completo Abaixo.

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TForm1 = class(TForm)
Edit1: TEdit;
procedure Edit1Change(Sender: TObject);
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
function Mascara(edt: String;str:String):string;
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Edit1Change(Sender: TObject);
begin
Edit1.Text := Mascara(Edit1.Text,'99/99/9999');
Edit1.SelStart := Length(Edit1.Text);
end;

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if not (Key in ['0'..'9',#8]) then Abort;
end;

function TForm1.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;

Espero que possa Ajuadar a Muitos.
Voltar ao Topo Ir em baixo
Ver perfil do usuário
 
Máscara para formatar o Edit, esta função aceita apenas números
Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo 
Página 1 de 1
 Tópicos similares
-
» Tem mercado para programador BADA
» Fórum não está enviando para o e-mail respostas aos tópicos que "assino"
» GPS - Online ou Offline?
» [DICA] Formatter 3.1 Formatando MicroSD SDHX SDXC
» RMZ 250 - Aquecimento

Permissão deste fórum:Você não pode responder aos tópicos neste fórum
Clube da Programação e Hardware :: Programação-
Ir para: