Autor Tema: Ejercicio 8 - Semana 10 "Fundamentos de programación I"  (Leído 3050 veces)

JValero

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 27
    • Ver Perfil
Ejercicio 8 - Semana 10 "Fundamentos de programación I"
« en: 10 de Septiembre 2014, 18:30 »
Buenas tardes,

Tengo un problema con el código del siguiente ejercicio.

En el programa debería de insertar la contraseña y reconocerla como válida o no. al tercer fallo el programa debería indicarme que he fallado tres veces y cerrarse.

El programa funciona cuando inserto la contraseña correcta pero me entra en un bucle sin salida cuando introduzco una contraseña erronea.

¿Alguna idea? Muchas gracias.

Código: [Seleccionar]
Option Explicit

Dim Clave As Integer
Dim i As Integer

Private Sub Form_load()
Form1.Caption = "Insertar contraseña"
Label1.Caption = "Por favor, introduzca su contraseña"
Label1.Alignment = 2
Text1 = ""
Text1.Alignment = 2
Command1.Caption = "Verificar"
End Sub

Private Sub Command1_click()
Clave = Text1
Do While Clave <> "1234"
i = i + 1
MsgBox ("La clave introducida no es válida. Inténtelo de nuevo.")
Text1 = ""
If i > 2 Then
MsgBox ("Ha introducido tres veces la clave incorrectamente.")
End If
Loop
MsgBox ("Contraseña correcta")

End Sub


Alex Rodríguez

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2050
    • Ver Perfil
Re:Ejercicio 8 - Semana 10 "Fundamentos de programación I"
« Respuesta #1 en: 10 de Septiembre 2014, 18:39 »
No estoy seguro, pero el problema parece ser el mismo que comentamos sobre el ejercicio 6 en https://www.aprenderaprogramar.com/foros/index.php?topic=1294.0

Es decir, que usando un textbox no hay detención para introducir el dato.

Si en vez de usar un textbox usas inputbox (míralo en el ejercicio 6) debería detenerse, pedir el dato y funcionar como se espera. Es decir, elimina los textbox y usa sólo inputbox.

Saludos!

JValero

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 27
    • Ver Perfil
Re:Ejercicio 8 - Semana 10 "Fundamentos de programación I"
« Respuesta #2 en: 10 de Septiembre 2014, 19:43 »
Hola alex,

Si, efectivamente lo habíamos comentado anteriormente pero no entiendo porque no funciona con un MSGBOX.

Pensaba que una vez pinchase sobre aceptar la aplicación volvería a la pantalla inicial para permitirme insertar una contraseña nuevamente.

No obstante, tienes toda la razón, con el inputbox funciona perfectamente.

Muchas gracias!!

Alex Rodríguez

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2050
    • Ver Perfil
Re:Ejercicio 8 - Semana 10 "Fundamentos de programación I"
« Respuesta #3 en: 10 de Septiembre 2014, 19:56 »
No vuelve a la pantalla inicial porque el bucle no le deja, parece que debiera detenerse con el msgbox, pero aunque se detuviera sería para volver a mostrarlo inmediatamente porque el bucle no tiene condición de salida. Con tres repeticiones se supone que se muestra un mensaje pero al no haber condición de salida se repite y se repite y se repite hasta el infinito...

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".