¿Cuáles son las diversas estructuras de bucle en VB?
1.While...Declaración Wend
Mientras la condición especificada sea Verdadera, se ejecutará una serie de declaraciones repetidamente.
Sintaxis
Condición while
[declaraciones]
..
Wend
2.Do...Loop
2.1 El primer uso
Utilice el bucle Do para ejecutar repetidamente un bloque de declaraciones con un número variable de repeticiones. Hay varias variaciones de la instrucción Do...Loop, pero cada una evalúa una condición numérica para decidir si continúa la ejecución. Como si... Entonces la condición debe ser un valor numérico o una expresión que se evalúe como Verdadero (distinto de cero) o Falso (cero).
En el siguiente bucle Do..., las sentencias se ejecutan siempre que la condición sea Verdadera.
Declaraciones de condición Do While
..
Bucle
2.2 El segundo uso
Otra variación de la instrucción Do...Loop es ejecutar la instrucción primero y luego probar la condición después de cada ejecución. Este formulario garantiza que las sentencias se ejecuten al menos una vez:
Do
sentencias
Condición Loop While
Nota: Las otras dos evoluciones Los formularios son similares. La diferencia con los dos primeros es que ejecutan el bucle siempre que la condición sea Falsa en lugar de Verdadera.
Repetir cero o más veces
Declaraciones de condición Hacer hasta
Repetir
Repetir al menos una vez
Declaraciones Do
Condición de bucle hasta
3.For...Next
sin conocer el bucle Cuando necesita ejecutar una declaración varias veces dentro de una declaración, es apropiado utilizar un bucle Do. Sin embargo, cuando sepa cuántas veces desea ejecutar, es mejor usar un bucle For...Next. A diferencia del bucle Do, el bucle For utiliza una variable llamada contador. El valor de la variable del contador aumenta o disminuye cada vez que se repite el bucle. La sintaxis del bucle For es la siguiente:
Contador For = inicio Para finalizar [incremento de paso]
sentencias
Siguiente [contador]
Los parámetros Contador, Inicio, Fin e Incremento son todos numéricos.
Tenga en cuenta que el parámetro de incremento puede ser positivo o negativo. Si el incremento es positivo, el inicio debe ser menor o igual que el final; de lo contrario, las declaraciones dentro del bucle no se pueden ejecutar. Si el incremento es negativo, el inicio debe ser mayor o igual que el final para que se pueda ejecutar el cuerpo del bucle. Si no se establece Paso, el incremento predeterminado es 1.
Ejemplo:
El siguiente código imprime todos los nombres de fuentes de pantalla válidos:
Private Sub Form_Click ()
Dim I As Integer
For i = 0 To Screen.FontCount
Imprimir Screen.Fonts (i)
Siguiente
Fin Sub
4.For Each...Next
El bucle For Each...Next es similar al bucle For...Next, pero repite un conjunto de declaraciones para cada elemento de una matriz o colección de objetos, en lugar de repetir la afirmación un número determinado de veces. El bucle For Each...Next es útil si no sabes cuántos elementos tiene una colección.
La sintaxis del bucle For Each...Next es la siguiente:
Declaraciones For Each elemento In group
Siguiente elementt
Por ejemplo, el siguiente subproceso abre Biblio.mdb y agrega el nombre de cada tabla al cuadro de lista.
Sub ListTableDefs ()
Atenuar objDb como base de datos
Atenuar MyTableDef como TableDef
Establecer objDb = OpenDatabase("c:\vb \biblio.mdb", _
Verdadero, Falso)
Para cada MyTableDef en objDb.TableDefs ()
Lista1.AddItem MyTableDef.Name
Siguiente MyTableDef
End Sub
Recuerde algunas limitaciones al usar For Each...Next:
Para colecciones, solo elemento Puede ser una variable variante, una variable de objeto normal o un objeto listado en el Explorador de objetos.
Para matrices, el elemento solo puede ser variable variante.
For Each...Next no se puede utilizar con matrices de tipos definidos por el usuario porque Variant no puede contener tipos definidos por el usuario.