VALIDAR CPF

USUARIO.EXCLUIDOS 10/01/2005 00:54:19
#59711
#0000 Postado em 10/01/2005 00:50:43(Sem notificação de respostas por e-mail)
--------------------------------------------------------------------------------
Eae galera..!! pois eh acho q vou dar um poko d trabalho a voces mas vontade d aprender eh o q naum falta.. rsrsrsrs

Bom, desejaria se alguem tivesse tempo e paciencia para me explicar o código abaixo linha por linha d uma funcao q valida o CPF. Se alguem tiver muiiiiiittta paciencia e mmuiiiiito tempo pra da uma explicada nem q for ate por e-mail eu agradeco desde ja...!!!

Public Function FU_ValidaCPF(CPF As String) As Boolean
Dim soma As Integer
Dim Resto As Integer
Dim i As Integer

'Valida argumento

If Len(CPF) <> 11 Then
FU_ValidaCPF = False
Exit Function
End If
soma = 0
For i = 1 To 9
soma = soma + Val(Mid$(CPF, i, 1)) * (11 - i)
Next i
Resto = 11 - (soma - (Int(soma / 11) * 11))
If Resto = 10 Or Resto = 11 Then Resto = 0
If Resto <> Val(Mid$(CPF, 10, 1)) Then
FU_ValidaCPF = False
Exit Function
End If
soma = 0
For i = 1 To 10
soma = soma + Val(Mid$(CPF, i, 1)) * (12 - i)
Next i
Resto = 11 - (soma - (Int(soma / 11) * 11))
If Resto = 10 Or Resto = 11 Then Resto = 0
If Resto <> Val(Mid$(CPF, 11, 1)) Then
FU_ValidaCPF = False
Exit Function
End If
FU_ValidaCPF = True
End Function


eh isso ae galera..
quaisquer coisa: adilsonmarrone@ig.com.br

Um abraço a todos...!!!

K3r|\|3|_P@nIc

K3r|\|3
USUARIO.EXCLUIDOS 10/01/2005 08:23:22
#59724
Resposta escolhida
Kernel, primeiro você tem que saber a lógica...

Fórmula para cálculo de dígitos verificadores do CPF.


• Descrição
No Brasil existe o CPF (Cadastro de Pessoas Físicas) que serve para identificar cada indivíduo no país. O número do CPF é composto de 11 dígitos, sendo os dois últimos os dígitos de verificação. A fórmula para verificar a validade do número do CPF é simples e é explicada abaixo:

Vamos tomar como exemplo o número 123.456.789-09

• 1º Dígito Verificador
Primeiro calculamos a soma da multiplicação dos 9 primeiros dígitos por 10, 9, 8, ... , 3, 2, respectivamente. Ou seja


Soma = (1*10) + (2*9) + ... + (8*3) + (9*2)

Em seguida, dividimos e multiplicamos por 11. (Nota: Ao multiplicarmos utilizamos o valor inteiro da divisão).


Valor = (Soma/11) * 11

Por fim, subtraímos Valor de Soma.


Resultado = Soma - Valor

Note que acabamos de realizar o módulo de Soma e 11. As duas operações anteriores podem ser substituídas por Resultado = Soma módulo 11.

Agora analisamos Resultado:
Se Resultado for igual à  1 ou à  0, então o 1º dígito verificador é 0;
Caso contrário, o 1º dígito verificador é o resultado da subtração de Resultado de 11.
• 2º Dígito Verificador
Primeiro calculamos a soma da multiplicação dos 9 primeiros dígitos por 11, 10, 9, ... , 4, 3, respectivamente e em seguida somamos com (Digito1*2), sendo que Digito1 é o valor encontrado para o 1º dígito verificador. Ou seja


Soma = (1*11) + (2*10) + ... + (8*4) + (9*3) + (Digito1*2)

O resto é semelhante ao que foi feito anteriormente. Dividimos e multiplicamos por 11. (Nota: Ao multiplicarmos utilizamos o valor inteiro da divisão).


Valor = (Soma/11) * 11

Por fim, subtraímos Valor de Soma.


Resultado = Soma - Valor

Agora analisamos Resultado:
Se Resultado for igual à  1 ou à  0, então o 2º dígito verificador é 0;
Caso contrário, o 2º dígito verificador é o resultado da subtração de Resultado de 11.

No nosso exemplo (123.456.789-09) o número é válido.

***
Espero ter ajudado
USUARIO.EXCLUIDOS 11/01/2005 23:56:59
#60166
eh isso ae..!! blz kra..! valeu pela ajuda valeu mesmo o scorninpc q tbm eh cadastrado no site me deu uma ajuda a + blz..!!! valeu mesmo e espero sempre contar com sua ajuda se possivel obrigado..

Tópico encerrado , respostas não são mais permitidas