Mask Edt para CPF
Como eu crio uma mask edit para cpf?
Sergio Luiz
Curtidas 1
Respostas
Anicetojunior
28/07/2003
ola amigo ,
para criar um mask edit para cpf faza o seguinte :
coloque no seu form um componente maskedit (paleta additional) e na sua propriedade editmask digite: 999.999.999-99;1;_ e na sua propriedade text delete o seu conteudo .
para verificar se o cpf e valido ou nao faza o seguinte :
no evento onexit do maskedit digite:
var
n:array [1..11] of integer;
dgt1, dgt2: integer;
soma1, soma2: integer;
begin
if dbcombobox2.Text= ´F´ then
begin
if copy(dbedit19.Text,1,1) <> ´ ´ then
begin
n[1]:=strtoint(copy(dbedit19.Text,1,1));
n[2]:=strtoint(copy(dbedit19.Text,2,1));
n[3]:=strtoint(copy(dbedit19.Text,3,1));
n[4]:=strtoint(copy(dbedit19.Text,5,1));
n[5]:=strtoint(copy(dbedit19.Text,6,1));
n[6]:=strtoint(copy(dbedit19.Text,7,1));
n[7]:=strtoint(copy(dbedit19.Text,9,1));
n[8]:=strtoint(copy(dbedit19.Text,10,1));
n[9]:=strtoint(copy(dbedit19.Text,11,1));
n[10]:=strtoint(copy(dbedit19.Text,13,1));
n[11]:=strtoint(copy(dbedit19.Text,14,1));
soma1:=(n[1]*10) + (n[2]*9) + (n[3]*8) + (n[4]*7) + (n[5]*6) + (n[6]*5) +
(n[7]*4) + (n[8]*3) + (n[9]*2);
dgt1:= 11 -(soma1 mod 11);
if (dgt1 = 10) or (dgt1 = 11) then
dgt1:=0;
soma2:=(n[1]*11) + (n[2]*10) + (n[3]*9) + (n[4]*8) + (n[5]*7) + (n[6]*6) +
(n[7]*5) + (n[8]*4) + (n[9]*3) + (dgt1*2);
dgt2:= 11-(soma2 mod 11);
if(dgt2 = 10) or (dgt2 = 11) then
dgt2:=0;
if (dgt1<>n[10]) or (dgt2<>n[11]) then
begin
showmessage(´Numero do CPF inválido. ´);
dbedit19.SetFocus;
abort;
end;
end;
end;
sendo que nesse exempo eu utilizei um dbedit19 ja no seu caso aonde houver o ´dbedit19´ digite o nome do seu edit.
espero ter te ajudato
falowwwwwwww
para criar um mask edit para cpf faza o seguinte :
coloque no seu form um componente maskedit (paleta additional) e na sua propriedade editmask digite: 999.999.999-99;1;_ e na sua propriedade text delete o seu conteudo .
para verificar se o cpf e valido ou nao faza o seguinte :
no evento onexit do maskedit digite:
var
n:array [1..11] of integer;
dgt1, dgt2: integer;
soma1, soma2: integer;
begin
if dbcombobox2.Text= ´F´ then
begin
if copy(dbedit19.Text,1,1) <> ´ ´ then
begin
n[1]:=strtoint(copy(dbedit19.Text,1,1));
n[2]:=strtoint(copy(dbedit19.Text,2,1));
n[3]:=strtoint(copy(dbedit19.Text,3,1));
n[4]:=strtoint(copy(dbedit19.Text,5,1));
n[5]:=strtoint(copy(dbedit19.Text,6,1));
n[6]:=strtoint(copy(dbedit19.Text,7,1));
n[7]:=strtoint(copy(dbedit19.Text,9,1));
n[8]:=strtoint(copy(dbedit19.Text,10,1));
n[9]:=strtoint(copy(dbedit19.Text,11,1));
n[10]:=strtoint(copy(dbedit19.Text,13,1));
n[11]:=strtoint(copy(dbedit19.Text,14,1));
soma1:=(n[1]*10) + (n[2]*9) + (n[3]*8) + (n[4]*7) + (n[5]*6) + (n[6]*5) +
(n[7]*4) + (n[8]*3) + (n[9]*2);
dgt1:= 11 -(soma1 mod 11);
if (dgt1 = 10) or (dgt1 = 11) then
dgt1:=0;
soma2:=(n[1]*11) + (n[2]*10) + (n[3]*9) + (n[4]*8) + (n[5]*7) + (n[6]*6) +
(n[7]*5) + (n[8]*4) + (n[9]*3) + (dgt1*2);
dgt2:= 11-(soma2 mod 11);
if(dgt2 = 10) or (dgt2 = 11) then
dgt2:=0;
if (dgt1<>n[10]) or (dgt2<>n[11]) then
begin
showmessage(´Numero do CPF inválido. ´);
dbedit19.SetFocus;
abort;
end;
end;
end;
sendo que nesse exempo eu utilizei um dbedit19 ja no seu caso aonde houver o ´dbedit19´ digite o nome do seu edit.
espero ter te ajudato
falowwwwwwww
GOSTEI 0
E_gama
28/07/2003
Criei um componente para isso (e mais algumas outras utilidades).
Delphi 7: [url]http://www.salesiano.com.br/egama/TXEdit_D7.zip[/url]
Delphi 5: [url]http://www.salesiano.com.br/egama/TXEdit.zip[/url]
Delphi 7: [url]http://www.salesiano.com.br/egama/TXEdit_D7.zip[/url]
Delphi 5: [url]http://www.salesiano.com.br/egama/TXEdit.zip[/url]
GOSTEI 0