Estructuras de Control PDF
Estructuras de Control PDF
Estructuras de Control PDF
Estructuras de decisin
Estructuras de bucle
Estructuras de Decisin
Los procedimientos de Visual Basic pueden probar condiciones y, dependiendo de los
resultados, realizar diferentes operaciones. Entre las estructuras de decisin que acepta Visual
Basic se incluyen las siguientes:
If...Then
If...Then...Else
Select Case
If...Then
Use la estructura If...Then para ejecutar una o ms instrucciones basadas en una condicin.
Puede utilizar la sintaxis de una lnea o un bloque de varias lneas:
Condicin normalmente es una comparacin, pero puede ser cualquier expresin que d como
resultado un valor numrico. Visual Basic interpreta este valor como True o False; un valor
numrico cero es False y se considera True cualquier valor numrico distinto de cero. Si
condicin es True, Visual Basic ejecuta todas las sentencias que siguen a la palabra clave
Then. Puede utilizar sintaxis de una lnea o de varias lneas para ejecutar una sentencia basada
en una condicin, los siguientes dos ejemplos son equivalentes:
If cualquierFecha
<
If cualquierFecha <
CualquierFecha
End If
Now
Then
CualquierFecha
Now
Now Then
= Now
Observe que el formato de una nica lnea de If...Then no utiliza la instruccin End If. Si se
desea ejecutar ms de una lnea de cdigo cuando condicin sea True, debe utilizar la
sintaxis de bloque de varias lneas If...Then...End If.
If cualquierFecha <
CualquierFecha
Timer1.Enabled
End If
Now Then
= Now
= False Desactiva el control Timer.
If...Then...Else
Utilice un bloque If...The...Else para definir varios bloques de sentencias, uno de los cuales se
ejecutar:
If condicin1 Then
[bloque de sentencias 1]
[ElseIf condicin2 Then
[bloque de sentencias 2]] ...
[Else
[bloque de sentencias n]]
End If
1. Veamos un ejemplo:
El cdigo sera:
Private Sub List1_Click()
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
End Sub
Otros Ejemplos
If Ventas > 100000
strDscto =
Then
Format (0.10, Fixed)
= 0.0
= 0.05
= 0.10
= 0.20
Estrucuras de Repeticion
Las estructuras de repeticin o bucle le permiten ejecutar una o ms lneas de cdigo
repetidamente. Las estructuras de repeticin que acepta Visual Basic son:
Do...Loop
For...Next
For Each...Next
Do...Loop
Utilice el bucle Do para ejecutar un bloque de sentencias un nmero indefinido de veces. Hay
algunas variantes en la sentencia Do...Loop, pero cada una evala una condicin numrica
5
Do While condicin
Sentencias
Loop
Cuando Visual Basic ejecuta este bucle Do, primero evala condicin. Si condicin es False
(cero), se salta todas las sentencias. Si es True (distinto de cero) Visual Basic ejecuta las
sentencias, vuelve a la instruccin Do While y prueba la condicin de nuevo.
Por tanto, el bucle se puede ejecutar cualquier nmero de veces, siempre y cuando condicin
sea distinta de cero o True. Nunca se ejecutan las sentencias si condicin es False
inicialmente. Por ejemplo, este procedimiento cuenta las veces que se repite una cadena
destino dentro de otra cadena repitiendo el bucle tantas veces como se encuentre la cadena de
destino:
Function ContarCadenas (cadenalarga, destino)
Dim posicin, contador
posicin = 1
Do While InStr (posicin, cadenalarga, destino)
posicin
=
InStr
(posicin,
cadenalarga,
destino)+1
contador = contador + 1
Loop
ContarCadenas = contador
End Function
Si la cadena destino no est en la otra cadena, InStr devuelve 0 y no se ejecuta el bucle.
Otra variante de la instruccin Do...Loop ejecuta las sentencias primero y prueba la
condicin despus de cada ejecucin. Esta variacin garantiza al menos una ejecucin de
sentencias:
Do
Sentencias
Loop While condicin
Cuando termina un bucle, la variable contador contiene el valor del lmite superior ms el
paso.
Cuando sale de un bucle prematuramente, la variable contador conserva su valor segn
las reglas usuales del alcance.
Cuando sale antes del final de una coleccin, la variable contador contiene Nothing si se
trata de un tipo de dato Object y Empty si es un tipo de dato Variant.