ESTRUCTURAS DE CONTROL VISUAL BASIC 6.0


PARA QUE SIRVEN 

En lenguajes de programación, las estructuras de control permiten modificar el flujo de ejecución de las instrucciones de un programa.
Con las estructuras de control se puede:
  • De acuerdo con una condición, ejecutar un grupo u otro de sentencias (If-Then-Else)
  • De acuerdo con el valor de una variable, ejecutar un grupo u otro de sentencias (Select-Case)
  • Ejecutar un grupo de sentencias mientras se cumpla una condición (Do-While)
  • Ejecutar un grupo de sentencias hasta que se cumpla una condición (Do-Until)
  • Ejecutar un grupo de sentencias un número determinado de veces (For-Next)
Todas las estructuras de control tienen un único punto de entrada. Las estructuras de control se pueden clasificar en: secuenciales, iterativas y de control avanzadas. Esta es una de las cosas que permiten que la programación se rija por los principios de la programación estructurada.
Los lenguajes de programación modernos tienen estructuras de control similares. Básicamente lo que varía entre las estructuras de control de los diferentes lenguajes es su sintaxis; cada lenguaje tiene una sintaxis propia para expresar la estructura.
Otros lenguajes ofrecen estructuras diferentes, como por ejemplo los comandos guardados

TIPOS DE SINTAXIS 

IF THEN ELSE 
La función IF THEN ELSE es útil para crear una variedad de elementos calculados. Además, se puede usar en los cálculos de distintas maneras para filtrar, agrupar y volver a rotular los resultados. Si se usa IF THEN ELSE, tiene que proporcionar un elemento o condición que sirva para probar y valores si la expresión se cumple o no.
La expresión IF THEN ELSE puede definirse de dos maneras:
  • IF (condición booleana) THEN (valor verdadero) ELSE (valor falso) ENDIF: el resultado devuelto dependerá de si la condición se cumple o no.
  • IF (condición booleana) THEN (valor verdadero) ENDIF: el resultado devuelto siempre será el resultado verdadero. Si la expresión condicional no se cumple, el resultado estará vacío.
Los ejemplos en este artículo usan ambas definiciones en práctica.
Este artículo contiene las siguientes secciones:

EJEMPLO

Resultado de imagen para if then else ejemplos


SELECT CASE 
La sintaxis a emplear con Visual Basic es la que indicamos a continuación. Como se podrá comprobar, mediante esta instrucción establecemos una serie de casos que se podrían cumplir para el valor de una expresión o variable, y en función del valor de la variable se ejecutarán una serie de instrucciones asociadas u otra.

Select Case [expresión]
Case [valor expresión 1]
    Instrucción 1
    Instrucción 2
Case [valor expresión 2]
    Instrucción 3
    Instrucción 4
.
.
.
Case [valor expresión n]
    Instrucción k
Case Else
    Instrucción m
End Select

Select Case en Visual Basic equivale a la instrucción switch de otros lenguajes.
La expresión a evaluar puede ser un valor numérico o una cadena de texto. Sólo se puede evaluar una expresión y no múltiples expresiones. La evaluación de expresiones puede ser:
a)   De coincidencia: por ejemplo, Case 12 indicaría que si la expresión evaluada vale 12 se ejecutarán las instrucciones anexas.
b)   De intervalo: usando la palabra clave To. Por ejemplo, Case 12 To 14 indicaría que si la expresión evaluada tiene un valor comprendido entre 12 y 14 (incluidos los extremos de los intervalos), se ejecutarán las instrucciones anexas.
c)   De comparación: usando la palabra clave Is. Por ejemplo, Case Is <= 14 indicaría que si la expresión evaluada tiene un valor menor o igual a 14 se ejecutarán las instrucciones anexas.

Cuando varios casos son válidos, sólo se ejecutan las instrucciones asociadas al primer caso verificado, siguiendo el flujo del programa por la siguiente instrucción después de End Select. Esto debemos tenerlo muy en cuenta, ya que si pretendemos que cuando se cumplan dos condiciones se ejecuten sendos bloques de instrucciones, convendrá hacerlo a través de la instrucción If en vez de a través de Select Case.
Las instrucciones Select Case se pueden anidar. Cada instrucción Select Case debe tener su correspondiente terminación End Select.
La instrucción Select Case presenta similitudes marcadas con la instrucción If - Then. Por ello, en general podremos conseguir resultados similares con ambas instrucciones y elegir usar una u otra dependerá de nuestro gusto y de cuál se adapte mejor a nuestros intereses, que en general serán ahorrar código y conseguir claridad para cumplir el objetivo. Otras veces será interesante anidar ambas instrucciones.
Prueba el siguiente código:

Código (versionesVB menos recientes)Código (versiones VB más recientes)

Rem Curso Visual Basic aprenderaprogramar.com
Option Explicit
Dim A As Integer

Private Sub Form_Load()
A = 12
Select Case A
    Case 12
    MsgBox ("A vale 12")
    Case Is < 14
    MsgBox ("A es menor que 14")
    Case 160 To 200
    MsgBox ("A está comprendida entre 160 y 200")
    Case Else
        MsgBox ("No se ha verificado ninguna de las condiciones previstas")
End Select
End Sub
REM Curso Visual Basic aprenderaprogramar.com
Option Explicit On

Public Class Form1
    Dim A As Integer
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    A = 12
    Select Case A
        Case 12
        MsgBox("A vale 12")
        Case Is < 14
        MsgBox("A es menor que 14")
        Case 160 To 200
        MsgBox("A está comprendida entre 160 y 200")
        Case Else
        MsgBox("No se ha verificado ninguna de las condiciones previstas")
    End Select
    End Sub
End Class 


El resultado es que se muestra en pantalla "A vale 12". Sin embargo, a pesar de que la hipótesis  A < 14 se cumple, no llega a evaluarse y por tanto las instrucciones asociadas a este caso no se ejecutan.

DO LOOP 
El bucle DO...LOOP es muy versatil. Con el se pueden crear gran variedad de bucles distintos, bucles que comprueben una condición antes de ejecutar el bucle una vez, después de la primera ejecución y con conbinaciones con mientras (WHILE) que se cumple una condición o hasta (UNTIL) que esa condicion se cumpla. la sintaxis de esta estructura es la siguiente:
DO [WHILE | UNTIL (condicion)]
Sentencias
.....
LOOP [WHILE | UNTIL (condicion)]
Vamos a tratar de explicar esta sentencia de manera pausada para que sea más fácil de entender. Lo que siempre tendremos en estos bucles es el DO y el LOOP, entre estos dos colocaremos las sentencias que queremos ejecutar en cada iteración del bucle. Los bucles tienen que evaluar entre cada iteración si se siguen ejecutando o no, para ello evaluan una condición. Lo versatil de este bucle es que la condición se puede expresar de muchas maneras distintas.

Condición expresada al lado del DO:

En este caso la condición se evalua antes de empezar a ejecutarse el bucle.

Condición expresada al lado del LOOP:

En este caso la condición se evalua después de ejecutarse el bucle. Tiene como diferencia principal frenta al otro método que en este caso el bucle se ejecutará por lo menos una vez.
Además de poder expresar la condición en estos dos sitios también se puede construir la condición con un enunciado mientras (WHILE) o un enunciado hasta (UNTIL). Las diferencias semanticas de estas dos posibilidades se trasladan también a su manera de funcionar.
Vamos a ver un par de ejemplos de este bucle para comprender su funcionamiento. El ejemplo pide cunstantemente el nombre del autor de la página y no para hasta que el nombre sea "migue". También tiene el usuario la posibilidad de escribir "out", en ese caso, comprobado con un enunciado IF, se sale del bucle rompiéndolo con la sentencia EXIT DO, utilizada para romper bucles.

WHILE WEND 

Instrucción While...Wend

Ejecuta una serie de instrucciones siempre que una condición dada sea True.
While condición
   Versión [instrucciones]
Wend

Argumentos

condición
Expresión de cadena o numérica que se evalúa como True o False. Si la condición es Null, la condición se trata como False.
instrucciones
Una o varias instrucciones ejecutadas mientras la condición es True.

Comentarios

Si la condición es True, todas las instrucciones en instrucciones se ejecutan hasta que se encuentra la instrucción Wend. Entonces se devuelve el control a la instrucción While y la condición se comprueba de nuevo. Si la condición es aún True, se repite el proceso. Si no es True, se reanuda la ejecución con la instrucción que sigue a Wend.
Los bucles While...Wend se pueden anidar en cualquier nivel. Cada Wend coincide con el elemento While más reciente.
Nota   La instrucción Do...Loop proporciona una manera más estructurada y flexible de realizar bucles.
El siguiente ejemplo ilustra el uso de la instrucción While...Wend:
Dim Contador
Contador = 0   ' Inicializa la variable.
While Contador < 20   ' Comprueba el valor de Contador.
   Contador = Contador + 1   ' Incrementa el contador.
   Alert Contador
Wend   ' Termina el bucle While cuando Contador > 19.
Resultado de imagen para while wend  visual basic 


for next
Resultado de imagen para for next visual basic ejemplos

Comentarios