| Ver tema anterior :: Ver siguiente tema | | Autor | Mensaje |
|---|
d00ze
Registrado: 18 Ene 2011 Mensajes: 16
| Publicado: 16/02/2011 3:18 am | | | Título: sobre usuario y contraseña |
| Necesito saber que tengo mal en el codigo, ya que cuando meto mal la password no me deja volver a intentarlo, lo he puesto para que tenga 3 intentos, a ver si alguien me puede ayuda.
| Código: | Private Sub Command1_Click()
Dim cont As Integer cont = 0 Do While cont < 3 If user.Text = "user" And pass.Text = "prueba" Then Unload Me Form2.Show Else cont = cont + 1 MsgBox "Contraseña inválida No " & CStr(cont), vbCritical user.Text = "" pass.Text = "" End If Loop MsgBox "Adios...", vbInformation Unload Me End Sub
Private Sub Command2_Click() Unload Me End Sub
|
|
| | Volver arriba | |  | EddyW
Registrado: 20 Abr 2011 Mensajes: 10
| Publicado: 21/04/2011 11:12 am | | | Título: |
| Wenas,
Se que el mensaje es de hace 2 meses, pero quizá sirva de ayuda para otros:
El "While" se encuentra dentro del CommandButton, por lo tanto al hacer clic una sola vez, intentará comprobar la misma contraseña las 3 veces. Una solución simple, es declarar una variable "Static" (Estática) que se declara una sola vez, o que no se inicializa nuevamente para cada llamada. El código corregido funciona así:
| Código: | Private Sub Command1_Click() Static cont As Integer If cont < 3 Then If user.Text = "user" And pass.Text = "prueba" Then Unload Me Form2.Show Else cont = cont + 1 MsgBox "Contraseña inválida No " & CStr(cont), vbCritical user.Text = "" pass.Text = "" End If Else MsgBox "Adios...", vbInformation Unload Me End If End Sub
Private Sub Command2_Click() Unload Me End Sub |
SaluDOS!!![/code] |
| | Volver arriba | |  | brainet
Registrado: 07 Jul 2005 Mensajes: 84 Ubicación: La Serena Chile
| Publicado: 23/05/2011 1:20 pm | | | Título: La respuesta definitiva |
| La mejor solucion para que tu codigo funcione es
| Código: | ' Inicio del archivo ' Declaracion de la Variable Cont Dim cont As Integer ' Contendra los intentos realizados
Private Sub Command1_Click() If user.Text = "user" And pass.Text = "prueba" Then Unload Me Form2.Show cont = 0 ' En el caso de cerrar sesion y abrir con otro usuario Else cont = cont + 1 MsgBox "Contraseña inválida No " & CStr(cont), vbCritical MsgBox "le quedan " & CStr(3-cont) & " Intentos", vbCritical user.Text = "" pass.Text = "" user.setfocus End If
MsgBox "Adios...", vbInformation Unload Me End Sub
Private Sub Command2_Click() Unload Me End Sub
|
Espero te sirva _________________ Venta de propiedades |
| | Volver arriba | |  | | |
| No puede crear mensajes No puede responder temas No puede editar sus mensajes No puede borrar sus mensajes No puede votar en encuestas
|
|
| |