Posted by :
Unknown
sábado, 2 de marzo de 2013
Estructuras de Bucle en Visual Basic 6.0
Las estructuras de bucle le permiten ejecutar una o más líneas de código repetidamente. Las estructuras de bucle que acepta Visual Basic son:
1) Do ... Loop (En español: Hacer ... Repetir)
2) While .... Wend (En español: Mientras .... Fin de Mientras)
Wend es una abreviación de While end
3) For ... Next (En español: Para ... Siguiente)
4) For Each ... Next (En español: Para Cada ... Siguiente)
Estructura Do ... Loop
Un Loop (Bucle) repite la ejecución de un conjunto de sentencias mientras una condición cada sea cierta (True), o hasta que una condición dada sea cierta (True). La condición puede ser verificada antes o después de ejecutarse el conjunto de sentencias. Sus posibles formas son las siguientes:
Formato 1
Estructura 1
Do While Condición
'Sentencias
Loop
Estructura 2
Do Until Condición
'Sentencias
Loop
Estructura 3
Do While Condición
'Sentencias
Exit Do
'Sentencias
Loop
Estructura 4
Do Until Condición
'Sentencias
Exit Do
'Sentencias
Loop
Formato 2
Estructura 1
Do
'Sentencias
Loop While Condición
Estructura 2
Do
'Sentencias
Loop Until Condición
Estructura 3
Do
'Sentencias
Exit Do
'Sentencias
Loop While Condición
Estructura 4
Do
'Sentencias
Exit Do
'Sentencias
Loop Until Condición
La sentencia opcional Exit Do permite salir de una bucle Do ... Loop antes de que finalice éste.
Ejemplo:
Check = True 'Se inicializan las variables
Counts = 0
Do 'Empieza el primer bucle sin comprobar ninguna condición
Do While Conts < 20 'Empieza el segundo bucle que termina si Counts >= 20 o con Exit Do
Counts = Conts + 1 'Se incrementa Counts
If Counts = 10 Then 'Si Counts en 10 entonces
Check = False 'Se asigna a Check el valor False
Exit Do 'Se termina el segundo Bucle con Exit Do
End if
Loop 'Termina el segundo Bucle sin comprobar ninguna condición
Loop Until Check = False 'Termina el primer Bucle si Check es False
En el ejemplo mostrado, se sale de los bucles siempre con Conts = 10. Es necesario fijarse que si se inicializa Conts con un número mayor o igual a 10 se entraría en un bucle infinito (El segundo bucle acabaría con Counts = 20 pero el primero no finalizaría nunca).
Estructura While ... Wend
Esta sentencia es otra forma de generar bucles que se recorren mientras se cumpla la condición inicial. Su estructura es la siguiente:
While
'Sentencias
Wend
Ejemplo:
Conts = 0 'Se inicializa la variable.
While Conts < 20 'Se comprueba el valor de Counts
Counts = Conts + 1 'Se incrementa el valor de Counts
Wend 'Se acaba el bucle cuando Counts > 19
Estructura For ... Next
La sentencia For da lugar a un bucle, y permite ejecutar un conjunto de sentencias cierto número de veces, su forma general es:
Estructura 1
For Variable = Valor Inicial To Valor Final
'Sentencias
Next Variable
Estructura 2
For Variable = Valor Inicial To Valor Final Step Valor
'Sentencias
Next Variable
Estructura 3
For Variable = Valor Inicial To Valor Final
'Sentencias
Exit For
'Sentencias
Next Variable
Estructura 4
For Variable = Valor Inicial To Valor Final Step Valor
'Sentencias
Exit For
'Sentencias
Next Variable
Cuando se ejecuta una sentencia For, primero se asigna el Valor Inicial a la variable y se comprueba si su valor es mayor o menor que el Valor Final. En caso de ser menor o igual se ejecutan las sentencias, y en caso de ser mayor el control del programa salta a las línea a continuación del Next (Se sale del For). Todo esto sucede en caso de ser Valor postivo. En caso contrario se ejecutarán las sentencias cuando la variable sea mayor que Valor Final. Una vez ejecutadas las sentencias, la variables se incrementa en el valor de Valor, o en 1 si Step no se especifica, volviéndose a efectuar la comparación entre la variable y el Valor Final, y así sucesivamente. La sentencia Exit For es opcional y permite salir de un bucle For ... Next antes de que éste finalice.
Ejemplo:
MiEspecialidad = "Informática"
For Words = 3 To 1 Step -1 '3 veces decremento de 1 en 1
For Chars = Words To Words + 4 '5 veces
MiEspecialidad = MiEspecialidad & Chars 'Se añade el número Chars al String
Next Chars 'Se incrementa el contador
MiEspecialidad = MiEspecialidad & " " 'Se añade un espacio
Next Words
'El valor de MiEspecialidad es: Informática 34567 23456 12345
Estructura For Each ... Next
Esta construcción es similar al bucle For, con la diferencia de que la variable que controla la repetición del bucle no toma valores entre un mínimo y un máximo, sino a partir de los elementos de un array (o de una colección de objetos). La forma general es la siguiente:
For Each Variable In Grupo
'Sentencias
Next Variable
Con arrays variable tiene que ser de tipo Variant. Con colecciones variables puede ser Variant o una Variable de tipo Object. Esta construcción es muy útil cuando no se sabe el número de elementos que tiene el array o la colección de objetos.
Información relacionada
- Ir a inicio »
- Visual Basic 6.0 »
- Estructuras de Bucle en Visual Basic 6.0