USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Testando senha
Irenko
BELO HORIZONTE
MG - BRASIL
Postada em 31/08/2006 08:18 hs            
Tenho uma tabela RST com os campos:

ID  - onde tenho gravado o nome = Joao (exemplo)
Senha - onde tenho gravado os numeros = 32765 (exemplo)

no form tenho os text:

TxtNome TxtSenha

e

05 Text com os caption conforme abaixo:

(3-4) (0-1) (9-5) (2-7) (8-6)

Preciso que ao clicar nestes textBox o codigo va comparado o conteudo do text com o primeiro numero gravado no campo senha e carregue no TxtSenha, é possível?

     
ghost_jlp
Pontos: 2843 Pontos: 2843 Pontos: 2843 Pontos: 2843
SÃO PAULO
SP - BRASIL
Postada em 31/08/2006 09:33 hs            
Tenta assim:
Dim Senha as string
 
'Procurando o login:
Set RS = Conexao.Execute("SELECT senha from Tabela WHERE login = '" & txtNome & "'")
 
'CASO ACHOU O LOGIN
IF NOT RS.EOF THEN
   Senha = RS(0)
 
'Verifica os 5 textboxes
   for i=0 to 4
     for j=0 to len(senha)
        'Verifica se o caractere está na senha
        if InStr(1, textbox(0).text, Mid(senha, j, 1)) <> 0 then
           TxtSenha = TxtSenha & Mid(senha, j, 1)
        endif
     next
   next
ENDIF
 
if txtsenha <> senha then msgbox "Senha inválida!",vbcritical
 
T+
TÓPICO EDITADO
   
Irenko
BELO HORIZONTE
MG - BRASIL
Postada em 31/08/2006 11:39 hs            
Fiz conforme abaixo, mas deu a mensagem de erro na linha entre parenteses:

"Argumento ou chamada de procedimento invalida"

Gostaria que ao clicar no Text onde (3-1) ja carregace no TextSenha o numero correspondente ao da tabela.

Sub ExecBtn(NumCtrl As Integer)

Dim Senha As String

'Procurando o login:
Set Rst = BancoMid.Execute("SELECT senha from Usuario WHERE ID = '" & UserForm1.Nome & "'")

'CASO ACHOU O LOGIN
If Not Rst.EOF Then
   Senha = Rst(0)

'Verifica os 5 textboxes
   For i = 0 To 4
     For J = 0 To Len(Senha)
        'Verifica se o caractere está na senha
       ( If InStr(1, UserForm1("LB" & NumCtrl).Caption, Mid(Senha, J, 1)) <> 0 Then )
           UserForm1.TxtSenha = UserForm1.TxtSenha & Mid(Senha, J, 1)
        End If
     Next
   Next
End If

If UserForm1.TxtSenha <> Senha Then MsgBox "Senha inválida!", vbCritical
End Sub
     
ghost_jlp
Pontos: 2843 Pontos: 2843 Pontos: 2843 Pontos: 2843
SÃO PAULO
SP - BRASIL
Postada em 02/09/2006 20:51 hs            
Hummm vc quer fazer igual ao bankline do itaú?? Vamos novamente, com o código reformulado:
 
Para o exemplo tenho 2 caixas de texto e 5 botões de um array. Só criar um botão dentro do formulário e copiar/colar no próprio. Vai ser perguntado se vc quer criar um controle array e vc afirma.
 
Bom tendo as caixas de texto e os 5 botões vc vai fazer o seguinte:
 
Primeiro vc vai fazer a consulta para saber qual é a senha
 
Dim Senha as String
 
Private Sub txtNome_LostFocus()
'Ao sair do foco da caixa de texto nome a consulta com a senha vai ser realizada
'Procurando o login:
Set RS = Conexao.Execute("SELECT senha from Tabela WHERE login = '" & txtNome & "'")
IF NOT RS.EOF THEN
   Senha = RS(0)
ENDIF
End Sub
 
 
Agora vamos à senha:
 
 
Private Sub Command1_Click(Index As Integer)
IF Senha <> "" then
    Call p_Senha(Index)
    If Len(txtSenha) = txtSenha.MaxLength Then
        If txtSenha <> senha Then
            MsgBox "senha inválida"
        Else
            MsgBox "senha aceita"
           
        End If
        txtSenha = ""
    End If
ELSE
    txtSenha = TxtSenha & " "
    If Len(txtSenha) = txtSenha.MaxLength Then msgbox "Senha inválida"
ENDIF
End Sub
 
 
Private Sub p_Senha(ByVal Idx As Integer)
If txtSenha <> "" Then
    If InStr(1, Command1(Idx).Caption, Mid(senha, Len(txtSenha) + 1, 1)) <> 0 Then
        txtSenha = txtSenha & Mid(senha, Len(txtSenha) + 1, 1)
    Else
        txtSenha = txtSenha & Mid(Command1(Idx).Caption, 1, 1)
    End If
Else
    If InStr(1, Command1(Idx).Caption, Mid(senha, 1, 1)) <> 0 Then
        txtSenha = txtSenha & Mid(senha, 1, 1)
    Else
        txtSenha = txtSenha & Mid(Command1(Idx).Caption, 1, 1)
    End If
End If
End Sub
 
 
Bom, o q está ae é o seguinte. O usário irá digitar o login. Caso tenha encontrado segue para a caixa de senha. Bom, como fiz um array dos botões então controlo todos através do evento click e jogo o index, para saber qual botão apertei, numa procedure e ela faz o tratamento de senha. Caso o login não seja válido o sistema "disfarça" como se tivesse aceitado o login e no final dá uma mensagem de senha inválida. Pelos meus testes parece q deu certo mas mesmo assim faça o teste com vc ae...
 
qq dúvida é só postar
 
t+
     
ghost_jlp
Pontos: 2843 Pontos: 2843 Pontos: 2843 Pontos: 2843
SÃO PAULO
SP - BRASIL
Postada em 02/09/2006 20:56 hs            
Hummm vc quer fazer igual ao bankline do itaú?? Vamos novamente, com o código reformulado:
 
Para o exemplo tenho 2 caixas de texto e 5 botões de um array. Só criar um botão dentro do formulário e copiar/colar no próprio. Vai ser perguntado se vc quer criar um controle array e vc afirma.
 
Bom tendo as caixas de texto e os 5 botões vc vai fazer o seguinte:
 
Primeiro vc vai fazer a consulta para saber qual é a senha
 
Dim Senha as String
 
Private Sub txtNome_LostFocus()
'Ao sair do foco da caixa de texto nome a consulta com a senha vai ser realizada
'Procurando o login:
Set RS = Conexao.Execute("SELECT senha from Tabela WHERE login = '" & txtNome & "'")
IF NOT RS.EOF THEN
   Senha = RS(0)
ENDIF
End Sub
 
 
Agora vamos à senha:
 
 
Private Sub Command1_Click(Index As Integer)
IF Senha <> "" then
    Call p_Senha(Index)
    If Len(txtSenha) = txtSenha.MaxLength Then
        If txtSenha <> senha Then
            MsgBox "senha inválida"
        Else
            MsgBox "senha aceita"
           
        End If
        txtSenha = ""
    End If
ELSE
    txtSenha = TxtSenha & " "
    If Len(txtSenha) = txtSenha.MaxLength Then msgbox "Senha inválida"
ENDIF
End Sub
 
 
Private Sub p_Senha(ByVal Idx As Integer)
If txtSenha <> "" Then
    If InStr(1, Command1(Idx).Caption, Mid(senha, Len(txtSenha) + 1, 1)) <> 0 Then
        txtSenha = txtSenha & Mid(senha, Len(txtSenha) + 1, 1)
    Else
        txtSenha = txtSenha & Mid(Command1(Idx).Caption, 1, 1)
    End If
Else
    If InStr(1, Command1(Idx).Caption, Mid(senha, 1, 1)) <> 0 Then
        txtSenha = txtSenha & Mid(senha, 1, 1)
    Else
        txtSenha = txtSenha & Mid(Command1(Idx).Caption, 1, 1)
    End If
End If
End Sub
 
 
Bom, o q está ae é o seguinte. O usário irá digitar o login. Caso tenha encontrado segue para a caixa de senha. Bom, como fiz um array dos botões então controlo todos através do evento click e jogo o index, para saber qual botão apertei, numa procedure e ela faz o tratamento de senha. Caso o login não seja válido o sistema "disfarça" como se tivesse aceitado o login e no final dá uma mensagem de senha inválida. Pelos meus testes parece q deu certo mas mesmo assim faça o teste com vc ae...
 
qq dúvida é só postar
 
t+
     
Página(s): 1/1    

CyberWEB Network Ltda.    © Copyright 2000-2025   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página