como crear un siclo infinito con "while"?

Pregunta Sin Miedo no te cortes cualquier cosa para empezar - Autoit se comienza facilmente.Para Ordenes o Comandos sueltos. Ver nota como preguntar.
Responder
criss
Mensajes: 6
Registrado: 30 Oct 2013, 22:49

como crear un siclo infinito con "while"?

Mensaje por criss »

hola a todos. Pues nececito aver si me pueden ayudar con esto. Resulta que quiero ponerle contraseña a una aplicación de manéra que primero el usuario cree su contraseña, luego la ingrese, cuando es correcta aparece un mensaje que confirma que la contraseña es correcta, el problema es que no logro hacer que cuando la contraseña es incorrecta, entonces me buelva a pedir que ingrese la contraseña, ya que cuando es incorrecta simplemente se cierra. Se que hay que ingresar un siclo infinito con “while”, pero no logro entender como funciona dicho comando. Aquí dejo el código para que me indíquen donde está la falla. De paso aprobecho para preguntarles si estoy usando bien el comando “if”, ya que se que al final de un “if” debe ir “endif”, pero cuando los incerto el script me da error, mientras que si no los pongo la cosa va bien como verán xd. Bueno aquí el código:

$pass=inputbox("contraseña", "crear contraseña", "")
$respuesta = inputbox("contraseña", "ingresa contraseña previamente creada", "")
if $respuesta= $pass then msgbox(0, "bienvenido", "contraseña correcta")
While if $respuesta<> $pass then inputbox ("contraseña", "ingrese la contraseña previamente creada", "", "*m")
WEnd

saludos y gracias!.
Avatar de Usuario
Dany
Profesional del Autoit
Mensajes: 651
Registrado: 28 Mar 2012, 22:49

Re: como crear un siclo infinito con "while"?

Mensaje por Dany »

Puedes Hacerlo Así:

Código: Seleccionar todo

Do
$pass=inputbox("contraseña", "crear contraseña", "")
$respuesta = inputbox("contraseña", "ingresa contraseña previamente creada", "")
Until ($pass==$respuesta)

Saludos

:smt027
  • ............................................Imagen
    ......................................Imagen
criss
Mensajes: 6
Registrado: 30 Oct 2013, 22:49

Re: como crear un siclo infinito con "while"?

Mensaje por criss »

OK!. gracias por la ayuda. eso si me quedan dudas. resulta que cuando utilizo el código que me indicas, el ciclo no es infinito, ya que después de ingresar 3 veces una contraseña incorrecta, no buelve a preguntarme y en vez de eso se cierra. por otro lado parece ser que el comando "do" es mas sencillo que el "while", sinembargo me gustaría si porfavor me pueden indicar como funciona, ya que es un comando usado sobretodo en las GUI que me interesa aprender. he visto en la ayuda pero no he tenido éxito aplicándolo. otra pregunta es que significa la convinación de dos signos igual juntos?: ==.

saludos!.
Avatar de Usuario
Dany
Profesional del Autoit
Mensajes: 651
Registrado: 28 Mar 2012, 22:49

Re: como crear un siclo infinito con "while"?

Mensaje por Dany »

Explicación

Código: Seleccionar todo

Do ; hacer 
$pass=inputbox("contraseña", "crear contraseña", "")
$respuesta = inputbox("contraseña", "ingresa contraseña previamente creada", "")
Until ($pass==$respuesta) ; hasta que $pass == $respuesta 

== es para comparar cadenas caso sensitivo a minúsculas y mayúsculas.

con while lo podrías hacer así.

Código: Seleccionar todo

Local $pass=inputbox("contraseña", "crear contraseña", "")
Local $respuesta = inputbox("contraseña", "ingresa contraseña previamente creada", "")

While  Not($pass==$respuesta) ; hacer mientras $pass y $respuestas no sean iguales
$pass=inputbox("contraseña", "crear contraseña", "")
$respuesta = inputbox("contraseña", "ingresa contraseña previamente creada", "")
WEnd 

Saludos
  • ............................................Imagen
    ......................................Imagen
criss
Mensajes: 6
Registrado: 30 Oct 2013, 22:49

Re: como crear un siclo infinito con "while"?

Mensaje por criss »

muchas gracias. si ahora comprendo mejor. eso si no entiendo que función cumplen las dos primeras lineas declaradas en el codigo del while, ya que tienen el comando local que desconosco en que situaciones se debe poner.

perdon que pregunte tanto, pero es que estoy aprendiendo hace poco xd.

saludos y gracias.
Avatar de Usuario
Dany
Profesional del Autoit
Mensajes: 651
Registrado: 28 Mar 2012, 22:49

Re: como crear un siclo infinito con "while"?

Mensaje por Dany »

Local quiere decir el tipo de variable.

osea local jajaja.

Es lo mas básico del lenguaje.

te recomiendo leas estos dos libros y la ayuda en español si se te hace difícil el ingles.

http://www.sendspace.com/file/dqjhhx

saludos
  • ............................................Imagen
    ......................................Imagen
criss
Mensajes: 6
Registrado: 30 Oct 2013, 22:49

Re: como crear un siclo infinito con "while"?

Mensaje por criss »

hola. aaa OK xd. muchas gracias por la ayuda y por el material, no lo tenía a sique me pondré a estudiarlo xd.

saludos!.
Responder