Escrito por Mauro Rondinelli el Miércoles 27 de Febrero de 2008 a las 13:54hs
Estructuras de control
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 sintaxis:
If condición1 Then
[instrucciones]
[ElseIf condición2 Then
[instrucciones]]
...
[Else
[instrucciones]
End If
Donde los corchetes representan partes opcionales de la instrucció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 "Dolar"
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 instrucció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 sintaxis de la instrucción Select Case es:
Select Case expresionDeComparación
[Case listaExpresiones]
[instrucciones]
...
Case Else
[instrucciones]
End Select
Volvamos al ejemplo anterior pero con la instrucción Select Case:
Select Case moneda
Case 0
MsgBox "Pesetas"
Case 1
MsgBox "Dolar"
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:
Expresiones Lógicas
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:
Matriz de controles
Un array o matriz de controles es un grupo de controles que comparten el mismo nombre, tipo y conjunto de procedimientos de evento. El número de controles que puede contener un array es indeterminado y depende de los recursos y memoria.
La matriz de controles se crea en tiempo de diseño aunque en tiempo de ejecución se pueden agregar más controles a la matriz. Para crear una matriz de controles, tienes que crear dos controles del mismo nombre, Visual Basic reconoce está situación y preguntará si quieres crear una matriz de controles.
Cuando se crea una matriz de controles puedes seguir trabajando con cada uno de los controles de forma individual. Para referirte a un control en particular tienes que utilizar la propiedad Index de dicho control. La propiedad se establece con el valor 0 para el primer control y se va incrementando a medida que se van creando los nuevos controles.
Si quieres crear nuevos controles en tiempo de ejecución tienes que utilizar la instrucción Load. La sintaxis será la siguiente:
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.
De la misma forma se puede eliminar un control en tiempo de ejecución, pero esta vez usando la instrucción Unload.
Estructuras de repetición
Otro tipo de estructuras que pueden modificar la ejecución de un programa son las estructuras de repetición o bucles. Estas estructuras sirven para repetir una y otra vez un conjunto de instrucciones.
Existirán dos tipos de estructuras de repetición: aquellas en las que se conoce el número de repeticiones y aquellas en que dicho número se establece durante la ejecución.
La estructura de repetición For...Next es adecuada cuando conocemos el número de veces que debe repetirse un conjunto de instrucciones y deseamos reducir la cantidad de código escrito.
La sintaxis es la siguiente:
For contador = principio To fin [Strep incremento]
[instrucciones]
[Exit For]
[Instrucciones]
Next [contador]
Donde el contador es el nombre de una variable que sirve como contador de las veces que se tiene que ejecutar el bucle. A dicha variable se le asigna un valor inicial y un valor final en el que una vez superado el bucle no vuelve a repetirse.
En el cuerpo del bucle estarán las instrucciones que deben ejecutarse existiendo la posibilidad de introducir Exit For para salir del bucle. Otra estructura de repetición es Do...Loop. Esta estructura se utiliza cuando desconocemos cuántas veces se ha de ejecutar el bucle.
La sintaxis es:
Do [While|Until] condición
[instrucciones]
[Exit Do]
[intrucciones]
Loop
Si utilizamos While el bucle se repite mientras la condición se cumpla y si utilizamos Until el bucle se repetirá hasta que la condición dé valor verdadero.
Con While, la condición es comprobada al principio del bucle, por lo que si no se cumple al iniciarse, el cuerpo del bucle no se ejecutará. Con Until se comprueba a la salida del bucle, por lo que por lo menos, una vez se ejecutará el bucle.
| < Volver Al Indice | Capitulo Siguiente: Fundamentos de la programación III > |
No hay comentarios.
No se permiten comentarios.