Visual Basic - Como paro un bucle ???

Life is soft - evento anual de software empresarial
 
Vista:

Como paro un bucle ???

Publicado por ZorroCloco (18 intervenciones) el 12/12/2003 02:19:03
Hola gente, que tal ?. Mi duda es esta y tengo el siguiente codigo:

For i = 1 To LOF(2) \ Len(data)

Get #2, reg3, data
Text1 = data.cliente
Text2 = data.cds
Text3 = data.listado
aviso = MsgBox("¿Este es el registro que busca?. Pulse NO para seguir", 32 + vbYesNo)

Select Case aviso

Case vbNo
reg3 = reg3 + 1

Case vbYes
Stop <--- para que se usa en Visual Basic? ??

End Select

Next i

Close #2
Close #1

Lo que quiero hacer es : Que si pulso el boton YES , es decir , SI . Que el bucle se pare. y el programa termine ahi. En Qbasic estaba EXIT DO , EXIT FOR ... . En visual basic que esta? . Muchas gracias gente.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Como paro un bucle ???

Publicado por Esteban (1144 intervenciones) el 12/12/2003 08:44:16
Considera a QBasic el prototipo de Visual Basic (VBasic solo cambiaron una letra)

Por intuición yo hubira probado esas instrucciones...

Para finalizar el programa es con "End" solito....
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Como paro un bucle ???

Publicado por Pedro Luis (878 intervenciones) el 12/12/2003 13:28:43
Se os ha pasado el Exit Sub, que también puede servir en este contexto
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Como paro un bucle ???

Publicado por Anita (24 intervenciones) el 15/12/2003 17:20:03
Me sumo al Exit Sub !
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Como paro un bucle ???

Publicado por Claudio (2 intervenciones) el 26/06/2004 19:43:38
En lugar de Stop, debes utilizar uno de estos dos quiebres:
Exit Sub 'Si quieres que salga de un Private Sub o Public Sub
Exit Function 'Si quieres que salga de una función cualquiera creada

Ahora, si queires que salga de sólo el bucle For, prueba con la instrucción:
Goto <linea de código>

<linea de código> es el nombre de la linea a la que debes saltar fuera del bucle. Esa linea puede estar en cualquier parte del código dentro de un Sub o un Function y se denota con su nombre seguido por un dos puntos. Ej:

Private Sub Command1()
---
---
Goto siguiente
---
---
siguiente:
---
---
End Sub

Yo he probado este quiebre de For o de While con la instrucción "On Error Goto <linea de codigo>", que te quiebra cualquiera detección de error en la ejecución y te manda a la linea que especificas con ese u otro nombre, que normalmente lo dejo al final de Sub o de Function. La instrucción Goto debiera funcionar igual (Ojalá sea así...)
Yo he probado con lenguajes más primitivos el quiebre de For y no resulta porque no los permite. Pero creo que acá debiera si ésto funciona con "On Error Goto".

Espero que te sirva mi ayuda. Saludos...! Chau!!

Claudio

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

EJEMPLO SENCIIIILLO...

Publicado por Claudio (2 intervenciones) el 26/06/2004 19:58:26
Mira:
Acá tienes un ejemplo de lo que sucede con el quiebre (algo bieeen sencillo). Tienes un Formulario vacío con un botón (Command1) y el siguiente código:

Private Sub Command1_Click()
For f = 1 To 10000000
If (f = 9000000) Then
GoTo Fin
End If
Next
MSJ = MsgBox("No finaliza!!!")
Exit Sub
Fin:
MSJ = MsgBox("Fin")
End
End Sub

Si termina el For, no finaliza el programa (prueba dejando toda la instrucción if como comentario, o sea, con comilla simple ' al principio), pero si pasa por 9000000, se salta inmediatamente a la linea nombrada como "Fin". Aplícalo a tu ejemplo y verás...

Saludos!!!!

Claudio.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar