Red de conocimiento informático - Problemas con los teléfonos móviles - Declaraciones de bucle en vb

Declaraciones de bucle en vb

Usar sentencias de bucle

Usar bucles para ejecutar código repetidamente

Los bucles se utilizan para ejecutar repetidamente un conjunto de sentencias. Los bucles se pueden dividir en tres categorías: los que repiten una declaración hasta que una condición se vuelve Falsa, los que repiten una declaración hasta que una condición se vuelve Verdadera y los que repiten una declaración un número específico de veces.

Las siguientes sentencias de bucle se pueden utilizar en VBScript:

Do...Loop: bucle cuando (o hasta) la condición sea verdadera.

While...Wend: Realiza un bucle cuando la condición es True.

Para...Siguiente: especifique el número de veces que se repetirá y utilice un contador para ejecutar repetidamente la declaración.

Para cada...Siguiente: Repite un conjunto de declaraciones para cada elemento de una colección o cada elemento de una matriz.

Uso de bucles Do

Puede utilizar la instrucción Do...Loop para ejecutar un bloque de instrucciones varias veces (el número de veces es variable). Ejecuta repetidamente un bloque de declaraciones mientras la condición es Verdadera o antes de que la condición sea Verdadera.

Repita la declaración cuando la condición sea Verdadera

La palabra clave While se usa para verificar la condición en la declaración Do...Loop. Hay dos formas de verificar una condición: antes de ingresar al bucle (como en el ejemplo de ChkFirstWhile a continuación) o después de que el bucle se haya ejecutado al menos una vez (como en el ejemplo de ChkLastWhile a continuación); En el procedimiento ChkFirstWhile, si el valor inicial de myNum se establece en 9 en lugar de 20, las instrucciones del cuerpo del bucle nunca se ejecutan. Durante el procedimiento ChkLastWhile, las declaraciones dentro del cuerpo del bucle se ejecutan solo una vez porque la condición ya es Falsa cuando se marca.

Sub ChkFirstWhile()

Contador atenuado, myNum

contador = 0

myNum = 20

Hacer Mientras myNum gt; 10

myNum = myNum - 1

contador = contador 1

Bucle

MsgBox "Bucle repetido" amp; contador amp; "veces."

End Sub

Sub ChkLastWhile()

Contador atenuado, myNum

contador = 0< / p>

myNum = 9

Hacer

myNum = myNum - 1

contador = contador 1

Bucle mientras myNum gt 10

MsgBox "El bucle se repite " amp; counter amp " veces."

End Sub

Repite la declaración hasta que la condición se vuelve Verdadera

p>

La palabra clave Until se utiliza para verificar las condiciones en las declaraciones Do...Loop. Hay dos formas de verificar una condición: antes de ingresar al bucle (como en el ejemplo ChkFirstUntil a continuación o después de que el bucle se haya ejecutado al menos una vez (como en el ejemplo ChkLastUntil a continuación);

El ciclo continúa mientras la condición sea Falsa.

Sub ChkFirstUntil()

Contador atenuado, myNum

contador = 0

myNum = 20

Do Hasta myNum = 10

myNum = myNum - 1

contador = contador 1

Bucle

MsgBox "Bucle repetido" contador; amp; "veces."

End Sub

Sub ChkLastUntil()

Contador atenuado, myNum

contador = 0

myNum = 1

Hacer

myNum = myNum 1

contador = contador 1

Bucle hasta myNum = 10

MsgBox "El bucle se repite " amp; contador amp " veces."

End Sub

Salir del bucle

Salir de la instrucción Do Se utiliza para salir del bucle Do...Loop. Debido a que generalmente desea salir de un bucle solo bajo ciertas circunstancias especiales (por ejemplo, para evitar un bucle infinito), puede usar la instrucción Exit Do dentro de un bloque True de una instrucción If...Then...Else. Si la condición es Falsa, el ciclo se ejecutará como de costumbre.

En el siguiente ejemplo, el valor inicial de myNum provocará un bucle infinito. La instrucción If...Then...Else comprueba esta condición para evitar un bucle infinito.

Sub ExitExample()

Contador atenuado, myNum

contador = 0

myNum = 9

Hacer Hasta myNum = 10

myNum = myNum - 1

contador = contador 1

Si myNum lt 10 Entonces salga del bucle Do

;

MsgBox "El bucle se repite " amp; contador amp " veces."

End Sub

Usar While...Wend

While...Wend se proporciona para aquellos usuarios que están familiarizados con su uso. Sin embargo, debido a la falta de flexibilidad de While...Wend, se recomienda utilizar la instrucción Do...Loop.

Uso de For...Next

La instrucción For...Next se utiliza para ejecutar un bloque de instrucciones un número específico de veces. Utilice una variable de contador en un bucle cuyo valor aumente o disminuya cada vez que pasa por el bucle.

Por ejemplo, el siguiente ejemplo repite el procedimiento MyProc 50 veces. La declaración For especifica la variable de contador x y sus valores inicial y final. La siguiente declaración incrementa la variable del contador en 1 cada vez.

Sub DoMyProc50Times()

Dim x

Para x = 1 a 50

MyProc

Siguiente

End Sub

La palabra clave Paso se utiliza para especificar el valor que la variable del contador aumenta o disminuye cada vez. En el siguiente ejemplo, la variable de contador j se incrementa en 2 cada vez. Una vez finalizado el ciclo, el valor del total es la suma de 2, 4, 6, 8 y 10.

Sub TwosTotal()

Dim j, total

Para j = 2 a 10 Paso 2

total = total j p>

Siguiente

MsgBox "La suma es " amp total amp "."

End Sub

Para disminuir la variable del contador; , puede Paso se establece en un valor negativo. En este momento, el valor final de la variable del contador debe ser menor que el valor inicial. En el siguiente ejemplo, la variable de contador myNum se reduce en 2 cada vez. Una vez finalizado el ciclo, el valor del total es la suma de 16, 14, 12, 10, 8, 6, 4 y 2.

Sub NewTotal()

Atenuar myNum, total

Para myNum = 16 a 2 Paso -2

total = total myNum

Siguiente

MsgBox "La suma es " amp total amp "."

End Sub

Se utiliza la declaración Exit For; en el contador Salga de la instrucción For...Next antes de alcanzar su valor de terminación. Debido a que generalmente desea salir de un bucle solo bajo ciertas circunstancias especiales (como cuando ocurre un error), puede usar la instrucción Salir para dentro de un bloque Verdadero de una instrucción If...Then...Else. Si la condición es Falsa, el ciclo se ejecutará como de costumbre.

Uso de For Each...Next

El bucle For Each...Next es similar al bucle For...Next. For Each...Next En lugar de ejecutar la declaración un número específico de veces, For Each...Next repite un conjunto de declaraciones para cada elemento de una matriz o cada elemento de una colección de objetos. Esto es útil cuando no se sabe el número de elementos de la colección.