![]() |
![]() |
Capítulo Octavo
Fundamentos de Programación
Visual Basic incorpora estructuras de control que permiten controlar
el flujo de la ejecución de un programa.
Si no existen esta estructures el código se ejecutará
de arriba hacia abajo y de derecha a izquierda según lo hayas escrito.
Entre las estructuras de control cabe citar las estructuras de decisión
y las estructuras de repetición.
La instrucción If-Then-Else, es la estructura clásica
de decisión y presenta la siguiente síntaxis:
If condición1 Then
[instrucciones]
[ElseIf condición2 Then
[instrucciones]]
...
[Else
[instruccionesN]
End If
Donde los corchetes representan partes opcionales de la intrucción.
Además es posible que existan más de una cláusula
ElseIf en la misma instrucción If-Then-Else, por ello los puntos
suspensivos.
Si la condición 1 se cumple, entonces se ejecutará el
bloque de instrucciones 1, en caso contrario se ejecutará el bloque
de instrucciones (2...N-1) de la primera cláusula ElseIf condición
se cumpla. Si finalmente no se cumple ninguna de las condiciones se ejecutaría
el bloque de instrucciones N correspondiente a la cláusula Else.
La condición es una expresión, es decir, un conjunto
de palabras que se evalúan a verdadero o falso sin posibilidad de
poder tener otro valor. Se dice que una condición se cumple cuando
se evalúa a verdadero y que fracasa en caso contrario. Las condiciones
también se conocen como expresiones lógicas.
Vamos a ver un ejemplo:

El código sería:
Dim moneda
moneda = lstMoneda.ListIndex
If moneda = 0 Then
MsgBox "Peseta"
ElseIf moneda = 1 Then
MsgBox "Dólar"
ElseIf moneda = 2 Then
MsgBox "Franco"
End If
Se utiliza una variable para establecer el valor de una propiedad que
indica que la opción del cuadro de lista lstMoneda está seleccionado.
Una vez conocida la opción seleccionada, deberemos sacar el
mensaje adecuado, para ello necesitamos una estructura de decisión.
La intrucción de la cláusula Else, sólo se ejecuta
cuando el resto de condiciones han fracasado. Cualquiera de los bloques
de instrucción puede contener un número arbitrario de instrucciones,
incluida la posibilidad de que existan otras instrucciones If-Then-Else.
Cuando existe un gran número de instrucciones a evaluar es aconsejable
utilizar otra estructura de decisión, como puede ser las instrucción
Select Case.
Esta instrucción no dá más potencia al lenguaje,
pero hace que el código sea más legible y eficiente. La síntaxis
de la instrucción Select Case es:
Select Case expresiónDeComparación
[Case listaExpresiones]
[intrucciones]
...
Case Else
[intruccionesN]
End Select
Volvamos al ejemplo anterior pero con la instrucción Select Case:
Select Case moneda
Case 0
MsgBox "Pesetas"
Case 1
MsgBox "Dólar"
Case 2
MsgBox "Franco"
End Select
Además, la lista de expresiones de cada cláusula Case
puede ser mucho más complicada, refiriéndose a más
de un valor o rango de valores:
Case 1 To 9 valores desde el 1 hasta 3l 9
Case 1,2,3 valores 1, 2 y 3
Case 1,2,5 To 12 valores 1, 2 y desde el 5 hasta el 12
Visual Basic incorpora una serie de operadores de comparación
que nos son útiles a la hora de establecer condiciones.
=......Igual a
<>....Distinto a
<.....Menor que
>.....Mayor que
<=....Menor o igual que
>=....Mayor o igual que
Además existen los llamados operadores lógicos,
que nos permiten establecer condiciones que dependadan de más de
un criterio de selección.
Todos los operadores hacen que la expresión en la que se encuentren
se evalúa a verdadero o falso, sin posibilidad de cualquier otro
valor.
Estas expresiones son:
And: exp1 And exp2, donde se evalúa a verdadero sólo
en el caso que el exp1 como exp2 se evalúen a verdadero. En cualquier
otro caso se evalúa a falso.
Or: exp1 Or exp2, donde se evalúa a verdadero cuando
alguna de las expresiones exp1 o exp2 se evalúa a verdadero.
Not: Not exp1. aquí se evalúa a verdadero si exp1
es falso y se evalúa a falso si exp1 es verdadero.
Xor: exp1 Xor exp2, se evalúa a verdadero sólo
en el caso de que una y sólo una de las expresiones exp1 o exp2
se evalúa a verdadero.
Load objeto(índice)
Donde el objeto se refiere al nombre del control original que dio paso al control de la matriz e índice es el lugar que ocupará en la matriz.
For contador = principio To fin [Strep incremento]
[instrucciones]
[Exit For]
[Instrucciones]
Next [contador]
Do [While|Until] condición
[instrucciones]
[Exit Do]
[intrucciones]
Loop
| Capítulo 9 |