Procurar
Últimos assuntos
Top dos mais postadores
Nilton | ||||
pekisalto | ||||
Edward Phoenix | ||||
Michel Sosa | ||||
alexpfz | ||||
Paulo-Smith | ||||
Dj Nando Phoenix | ||||
Cesariolange | ||||
allanyo | ||||
Gabriel Padilha |
GERADOR E VALIDADOR DE CPF EM VB 6.0
Página 1 de 1
GERADOR E VALIDADOR DE CPF EM VB 6.0
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() & (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( = 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( = 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 |||---
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() & (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( = 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( = 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 |||---
Edward Phoenix- Mensagens : 34
Pontos : 86
Data de inscrição : 22/02/2010
Idade : 33
Solicitação do projeto pronto
Amigão, você poderia me enviar o projeto pronto ?
Muito bom trabalho. É que eu não entendo muito de vba
rrondon@tivvo.com.br
Muito bom trabalho. É que eu não entendo muito de vba
rrondon@tivvo.com.br
rodrigo2- Convidado
Enviar
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
fabriciovallin@hotmail.com
Fabricio- Convidado
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos
|
|
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