Ir para conteúdo
Faça parte da equipe! (2024) ×
Conheça nossa Beta Zone! Novas áreas a caminho! ×
  • Quem está por aqui   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.

[Delphi] Validar numeros de CPF


DragonBoss
 Compartilhar

Posts Recomendados

Falaa galeraa...

Sabem aqueles geradores de CPF que teem na internet? que lhe dao um CPF valido para criar cadastros em certos sites que pede cpf ?..entao.. vamos criar um desse, no delphi \o/.

 

Vamos la:

 

Antes de tudo, para nao ter ke declarar funçao por funçao e tals.. delete tudo que estiver abaixo da var (incluse ela, e o end. final )... e cole este codigo:

 

var

Form1: TForm1;

 

function ValidCPF(sCPF: string):string;

function iif(lTest:Boolean; vExpr1,vExpr2:Variant):Variant;

 

implementation

 

 

{$R *.DFM}

 

function ValidCPF(sCPF: string):string;

var

sDigs, sVal : string;

iSTot, iSTot2: integer;

i: integer;

begin

Result := '---';

sCPF := Trim(sCPF);

iSTot := 0;

iSTot2 := 0;

if Length(sCPF) = 11 then

begin

for i := 9 downto 1 do

begin

iSTot := iSTot + StrToInt(Copy(sCPF,i,1)) * (11-i);

iSTot2 := iSTot2 + StrToInt(Copy(sCPF,i,1)) * (12-i);

end;

iSTot := iSTot mod 11;

sDigs := sDigs + IntToStr(iif(iSTot < 2, 0, 11-iSTot));

 

iSTot2 := iSTot2 + 2*StrToInt(sDigs);

isTot2 := iSTot2 mod 11;

sDigs := sDigs + IntToStr(iif(iSTot2 < 2, 0, 11-iSTot2));

 

sVal := Copy(sCPF,10,2);

Result := iif(sDigs = sVal,'',sDigs);

end

end;

 

function iif(lTest:Boolean; vExpr1,vExpr2:Variant):Variant;

begin

if lTest then

Result := vExpr1

else

Result := vExpr2

end;

end;

 

 

Agora, vamos começar a editar a cara do programa:Coloque um MaskEdit (paleta additional) e um Button (paleta Stardard).

Editando as propriedades:

 

Mude o nome do MaskEdit para MECPF

Vá ateh a propriedade EditMask do Edit e digite isso:

 

999.999.999-99;0;_

 

Pronto, o edit ta feito...

agora, mude o caption do button para Checar, de um duplo clique no button, apague o begin e tudo que estiver abaixo dele e digite o seguinte codigo:

 

var

sRet : string;

begin

sRet := ValidCPF(MECPF.Text);

if sRet = '' then

MessageDlg('CPF Válido',mtInformation,[mbOk],0)

else

MessageDlg('CPF Inválido. Valida com ' + #13 + sRet,mtWarning,[mbOk],0);

MECPF.SelectAll

end;

end.

 

Execute seu projeto... digite quaisker numeros no edit (ateh preencher todos espaços) e clike em checar, ele ira dizer que ta invalido e vai falar o numero que ira validar o cpf.... apague os ultimos numeros e coloke o ke ele deu, clike em checar novamente. Pronto, CPF valido.

 

OBS: ele nao vai gerar um CPF, vai validar os numeros ke vc digitar, transformando-os em um CPF.

 

=]

 

SS

cpf.jpg

 

Download da Source (sem o projeto copilado):

[DOWN]

É necessário se cadastrar para acessar o conteúdo.
[/DOWN]

 

 

Espero que tenham gostado Y.Y

flw, abraçs.

 

É necessário se cadastrar para acessar o conteúdo.

Link para o comentário
Compartilhar em outros sites

Interessante DragonBoss... Vi um site com esses geradores parecidos e válidos, tanto de CPF, como CNPJ, RG, Nicks, Senhas etc... link:

É necessário se cadastrar para acessar o conteúdo.

 

Vlws pela codificação, ajudou muito.

Link para o comentário
Compartilhar em outros sites

Este tópico está impedido de receber novos posts.
 Compartilhar

×
×
  • Criar Novo...

Informação Importante

Nós fazemos uso de cookies no seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies , caso contrário, vamos supor que você está bem para continuar.