Visual Basic como otros lenguajes de programación ejecutan las líneas de código de arriba hacia abajo. Sin embargo fecuentemente deseamos que no todas la líneas se ejecuten siempre cuando el progrma esta corriendo. En lugar de escribir varios progrmas diferentes para este trabajo, se pueden usar comandos de repetición y bifurcación (ramificación).
Los comandos de bifurcación (ramificación) se usan para determinar cuando se ejecuta una pequeña sección de código o cuando no se debe ejecutar. Un ejemplo de este tipo de comando es 'If'.Si la expresión que acomaña al comando If es veradadera el c´digo deberá ser ejecutado, en caso contrario VB continua con las líneas de código de más abajo.
La repetición de comandos es usada para que pequeñas secciones de código se ejecuten varias veces. Si un programador necesita que que el programa lea 200 lineas de texto de un archivo, él deberá usar 200 líneas de código, una para cada una de la expresiones en el archivo o alternativamente un ciclo 'For Next' puede hacer un trabajo similar usando solo tres o cuatro líneas de código.
If en Línea simple (Ejemplo):
If a > 10 Then Label1.Caption = "A es mayor que 10"
If en Multi-línea (Ejemplo):
If a > 10 And b < 20 Then
Label1.Caption = "A es mayor que 10"
Label2.Caption = "B es menor que 20"
End If
El If de multi-línea necesita una expresión 'End If' para definir el final del bloque If.
If y Else (Ejemplo):
If a > 10 And b < 20 Then
Label1.Caption = "A es mayor que 10"
Label2.Caption = "B es menor que 20"
Else
Label1.Caption = "A es menor o igual que 10 ó"
Label2.Caption = "B es más grande o igul que 20"
End If
Si cualquiera de las dos condiciones es falsa, el programa ejecutará el código qu está en el bloque 'Else'.
El comando 'ElseIf' puede usarse para checar una segunda condición en caso de que la primera sea falsa.
If y ElseIf (Ejemplo):
If a > 10 And b < 20 Then
lblFirst.Caption = "A es mayor que 10"
lblSecond.Caption = "B es menor que 20"
ElseIf c = 8
lblFirst.Caption = "A es menor o igual que 10 OR"
lblSecond.Caption = "B es mayor o igula que 20"
lblThird.Caption = "Sin embargo, C es igual a 8"
Else
lblFirst.Caption = "Los primeros dos test fallarón"
End If
Si más ramas son necesarias, entonces usamos el comando 'Select Case'
Case (Ejemplo):
Select Case dia_actual
Case 1
nombre_del_dia = "Domingo"
Case 2
nombre_del_dia = "Lunes"
...
Case 7
nombre_del_dia = "Sábado"
End Select
La expresión 'End Select' define el final del bloque de casos. Si deseamos que presente un mensaje si se introduce un valor no definido en el bloque de casos, deberemos usar 'Case Else' de la siguiente manera.
...
Case 7
nombre_del_dia = "Sábado"
Case Else
MsgBox "Error en selección, una semana tiene solamente 7 dias"
End Select
Los siguientes comandos pueden ser usados para repetir varias veces la ejecución de una sección de código.
Ciclo Do (Sintaxis):
Do While condición
líneas de código
Loop
Ciclo Do (Ejemplo):
hoy = 1
Do While hoy = 7
hoy = hoy + 1
Loop
Un ciclo similar a el 'Do While' es el 'Loop While'. La principal diferencia es que el ciclo Do While la condición para poder continuar esta al principio (primero ceha la condición y luego ejecuta el código que se desea repetir), mientras que en el Loop While esta al final, esto es después de que ejecuta el código checa si debe continuar. Esto significa que un ciclo Do While, puede nunca ser ejecutado, mientras que un ciclo Loop While siempre al menos se ejecutará una vez.
Ciclo While (Sintaxis):
Do
líneas de código
Loop While condición
Ciclo While (Ejemplo):
temp = 0
Do
temp = temp + 1
Loop While temp = 100 ' No hierve
Los ciclos For si los programadores saben cuantas veces un cliclo debe ser ejecutado.
Ciclo For (Sintaxis):
For contador = valor_inicial To valor_final [Step incremento]
líneas de código
Next [contador]
Ciclo For (Ejemplo):
For dia_actual = 1 To 365
lblDia.Caption = "Dia = " &Str$(dia_actual)
Next dia_actual
Ciclos anidados (Ejemplos):
For semana_actual = 1 To 52
For dia_actual = 1 To 7
...
Next dia_actual
Next semana_actual
El incremento en Step como parte del ciclo, es usado para decirle a VB cuanto debe aumentar en cada ciclo la variable de control. Introduce el siguiente código y observa que valores se imprimen.:
For test = 1 To 10 Step 2
Print test
Next test
¿Cuantas veces el código dentro del ciclo?
Prueba con otros valores aparte del 2 .