Feed on Me

Validação de CPF

O CPF tem um dígito verificador que é definido através de um cálculo. Isso possibilita um teste para verificar se o CPF digitado está correto.
Veja como validar CPF nas suas aplicações.

1º Coloque o código abaixo, acima do procedimento que irá fazer a chamada da verificação.

function Cpf(CPF_Text: string): boolean;
var n1,n2,n3,n4,n5,n6,n7,n8,n9: integer;
d1,d2: integer;
digitado, calculado: string;
begin
n1:=StrToInt(CPF_Text[1]);
n2:=StrToInt(CPF_Text[2]);
n3:=StrToInt(CPF_Text[3]);
n4:=StrToInt(CPF_Text[5]);
n5:=StrToInt(CPF_Text[6]);
n6:=StrToInt(CPF_Text[7]);
n7:=StrToInt(CPF_Text[9]);
n8:=StrToInt(CPF_Text[10]);
n9:=StrToInt(CPF_Text[11]);
d1:=n9*2+n8*3+n7*4+n6*5+n5*6+n4*7+n3*8+n2*9+n1*10;
d1:=11-(d1 mod 11);
if d1>=10 then d1:=0;
d2:=d1*2+n9*3+n8*4+n7*5+n6*6+n5*7+n4*8+n3*9+n2*10+n1*11;
d2:=11-(d2 mod 11);
if d2>=10 then
d2:=0;
calculado:=inttostr(d1)+inttostr(d2);
digitado:=CPF_Text[13]+CPF_Text[14];
if calculado=digitado then
Cpf:=true
else
Cpf:=false;
end;

2º No evento OnExit do campo onde será digitado o CPF coloque o código abaixo:
If NOMECAMPO.Text<>'' Then
If Cpf(NOMECAMPO.Text)=False Then
Begin
MessageDlg('CPF informado é incorreto!',mtError, [mbOk],0);
NOMECAMPO.SetFocus;
End;

* Troque NOMECAMPO pela propriedade Name do campo.

Pronto agora é só testar!

0 comentários:

No comments

Delphi Assistance

Name:

Email:

URL:

Comment:  ? Attach Image


 

Free Commenting by HaloScan.com (Basic Account)

 
Template Sky by Templates Novo Blogger