Novembro 2017
SegTerQuaQuiSexSabDom
  12345
6789101112
13141516171819
20212223242526
27282930   

Calendário Calendário

Buscar
 
 

Resultados por:
 


Rechercher Busca avançada

Últimos assuntos
» matrizes em c
2011-11-10, 13:52 por allanyo

» matriz em c
2011-11-08, 19:02 por allanyo

» matriz em c
2011-11-08, 19:02 por allanyo

» [FUNÇÃO] C
2011-09-25, 15:33 por lucas150992

» Comprare Viagra. da mulher viagra generico
2011-08-04, 09:16 por Convidado

Navegação
 Portal
 Índice
 Membros
 Perfil
 FAQ
 Buscar

GERADOR E VALIDADOR DE CPF EM VB 6.0

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

GERADOR E VALIDADOR DE CPF EM VB 6.0

Mensagem por Edward Phoenix em 2010-05-14, 13:01

AE PESSOAL SEGUE O CODIGO...
GERA NUMEROS DE 11 DIGITOS E FILTRA-OS COM VALIDAÇÃO...

INSIRA 3 FORM'S E UM MODULO NO FORM 1 COLE ESSE CODIGO NO EVENTO CLICK DO BUTTON:

-----FORM1-----
Public Sub Command1_Click()
'EVITA DO PROGRAMA FECHAR CASO HAJA ALGUM BUG DURANTE O RUNTIME
On Error Resume Next
'DECLARAÇÃO DE VARIAVEIS
Dim Numero(11) As Integer
Dim x As Double
Dim i As Double
Dim size As Integer

'LIMPA A LISTA PARA RECEBER NOVOS VALORES
List1.Clear

'GERA 1200 NUMEROS
For i = 0 To 12000

'MONTA OS CPF'S COM SEUS 11 DIGITOS
For x = 1 To 11
'NUMEROS RANDOMICOS
Randomize
Numero(x) = 10 * Rnd
Next x

'CONCATENAÇÃO DE TODOS OS VALORES GERADOS DENTRO DA VARIAVEL CPF
cpf = (Numero(1)) & (Numero(2)) & (Numero(3)) & _
(Numero(4)) & (Numero(5)) & (Numero(6)) & (Numero(7)) & (Numero(Cool) & (Numero(9)) & (Numero(10)) &
(Numero(11))

'CONTA QUANTOS NUMEROS EXISTEM DENTRO DA VARIAVEL CPF
size = (Len(cpf))

'SE A QUANTIDADE FOR IGUAL A 11 ENTAO INSERIR NA VALIDAÇÃO
If (size) = 11 Then
'EXECUTA A FUNÇÃO QUE EXISTE DENTRO DO MODULO
numero_ver1
num_ver2
'SE O NUMERO GERADO FOR IGUAL AO NUMERO VALIDADO ENTAO É UM CPF VALIDO E EXIBIR NA LISTBOX
If cpf = verify_cpf Then
List1.AddItem (cpf)
End If
End If
'ZERA A VARIAVEL DE VALIDAÇÃO PARA NAO HAVER PROBLEMA PRA PROXIMA VALIDAÇÃO
anular
Next


End Sub

Private Sub Command2_Click()
'LIMPA A LISTBOX
List1.Clear
End Sub

Private Sub Command3_Click()
'FECHA O PROGRAMA
End
End Sub

Private Sub Command4_Click()
'CHAMA O FORM 2 EM TELA MODAL (BLOQUEIA O FOCO EM OUTROS FORMS ABAIXO DELE)
Form2.Show (vbModal)
End Sub

Private Sub List1_Click()
'COPIA O CONTEUDO CLICADO NA LISTBOX PRARA O CLIPBOARD DO WINDOWS
Clipboard.Clear
Clipboard.SetText (List1)
MsgBox "Copiado o cpf " & List1 & " para a clipboard do windows", vbInformation, "Clipboard Copy"

End Sub

Private Sub mnuvalidar_Click()
'CHAMA A TELA DE VALIDAÇÃO
valid.Show (vbModal)
End Sub

------MODULO------
'VARIAVEIS PUBLICAS PODEM SER ACESSADAS EM QUALQUER PARTE DO PROGRAMA

Option Explicit
Public cpf As String
Public verify_cpf As Double

'FUNÇÃO PUBLICA NUMERO_VER1 ( CALCULA O DIGITO VERIFICADOR 1 )
Public Function numero_ver1()
Dim calc1(9) As Integer
Dim calc2(10) As Integer
On Error Resume Next
Dim i As Integer
Dim get_num As Integer
Dim get_cpf As Integer
Dim cnv As Integer
Dim calc As Integer
Dim final As Integer
Dim modulo As Integer
Dim calc_final As Integer
Dim c As Integer


'----------------------------------
'CALCULO DO PRIMEIR VERIFICADOR
'----------------------------------
'VETOR DE 1 À 10
calc1(1) = 10
calc1(2) = 9
calc1(3) = 8
calc1(4) = 7
calc1(5) = 6
calc1(6) = 5
calc1(7) = 4
calc1(Cool = 3
calc1(9) = 2

'INSERE OS 9 PRIMEIROS DIGITOS NA VARIAVEL VERIFICADORA
For c = 1 To 9
get_cpf = (Asc(Mid(cpf, c, c)))
verify_cpf = verify_cpf & Chr(get_cpf)
Next


'INICIA O CALCULO DE VALIDAÇÃO
For i = 1 To 9
get_num = Asc(Mid(verify_cpf, i, i))
cnv = Chr$(get_num)
calc = (calc1(i) * cnv)
final = final + calc
modulo = final Mod 11
Next
'AQUI ELE VERIFICA SE O DIGITO FOR MENOR QUE 2 ENTAO O PRIMEIRO DIGITO VERIFICADOR É 0 SENAO
If (modulo < 2) Then
verify_cpf = verify_cpf & 0
Else
calc_final = (11 - modulo)
verify_cpf = verify_cpf & calc_final
End If

'-------------------------------------

End Function

'FUNÇÃO PUBLICA DO NUMERO VERIFICADOR 2
Public Function num_ver2()
'DECLARANDO AS VARIAVEIS
On Error Resume Next
Dim calc1(9) As Integer
Dim calc2(10) As Integer
Dim i As Integer
Dim get_num As Integer
Dim cnv As Integer
Dim calc As Integer
Dim final As Integer
Dim modulo As Integer
Dim calc_final As Integer
'-----------------------------------
'CALCULO DO SEGUNDO VERIFICADOR
'-----------------------------------
calc2(1) = 11
calc2(2) = 10
calc2(3) = 9
calc2(4) = 8
calc2(5) = 7
calc2(6) = 6
calc2(7) = 5
calc2(Cool = 4
calc2(9) = 3
calc2(10) = 2
'------------------------------------
'CONTA APARTIR DO ULTIMO DIGITO VERIFICADOR CRIADO PARA FAZER O CALCULO,NUMERO POR NUMERO.
For i = 1 To 10
get_num = Asc(Mid(verify_cpf, i, 1))
cnv = Chr$(get_num)
calc = (calc2(i) * cnv)
final = final + calc
modulo = final Mod 11
Next

If (modulo < 2) Then
verify_cpf = verify_cpf & 0
Else
calc_final = (11 - modulo)
verify_cpf = verify_cpf & calc_final
End If

'-------------------------------------
End Function
'ANULA AS VARIAVEIS PARA RECEBER OUTROS VALORES FUTURAMENTE
Public Sub anular()
verify_cpf = 0
cpf = 0
End Sub

-------FORM 3------

'AQUI FAZ A VALIDAÇÃO MANUALMENTE,COM O NUMERO QUE O USUARIO ENTRAR:

Private Sub Command1_Click()

'CASO O USUARIO VENHA DIGITAR CARACTERES NAO NUMERICOS ELE JA EXIBE UM ERRO E SAI DA SUB
If IsNumeric(Text3.Text) Then
'PASSA O CONTEUDO DO TEXT3 PATA A VARIAVEL CPF
cpf = Text3.Text
'EXECUTA PROCEDIMENTOS DENTRO DO MODULO PARA O PRIMEIRO E SEGUNDO VERIFICADOR
numero_ver1
num_ver2
'SE O NUMERO QUE O USUARIO DIGITOU FOR VALIDO ENTAO EXIBIR MENSAGEM DE SUCESSO
If cpf = verify_cpf Then
MsgBox "Esse cpf é Valido", vbInformation, "Validação"
'LIMPAR VARIAVEIS
anular
Else
MsgBox "Esse cpf é Invalido", vbExclamation, "Validação"
anular
End If
Else
MsgBox "Voce digitou caractere invalido", vbCritical, "Erro"
Text3.SetFocus
End If
End Sub

-----------------------------

SIGA ESSES PROCEDIMENTOS E TESTEM ^^
SE QUISEREM O PROJETO PRONTO SÓ PEDIR QUE PASSO VALEW..

AUTORIA MINHA

---||| PHOENIX |||---
avatar
Edward Phoenix

Mensagens : 34
Pontos : 86
Data de inscrição : 22/02/2010
Idade : 27

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Solicitação do projeto pronto

Mensagem por rodrigo2 em 2010-10-15, 16:59

Amigão, você poderia me enviar o projeto pronto ?

Muito bom trabalho. É que eu não entendo muito de vba

rrondon@tivvo.com.br

rodrigo2
Convidado


Voltar ao Topo Ir em baixo

Enviar

Mensagem por Fabricio em 2010-10-21, 21:19

Olá, como vai ? gostei muito do projeto , o único problema foi nao ter conseguido compreender o nome de cada negocio para clicar, se poder me enviar ainda pra essa semana , agradecido desde ja!

fabriciovallin@hotmail.com

Fabricio
Convidado


Voltar ao Topo Ir em baixo

Re: GERADOR E VALIDADOR DE CPF EM VB 6.0

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum