Estructura If - Then - Else
Esta estructura permite mediante una condición, que se ejecute o no se ejecute determinada tarea o línea de código.Por ejemplo supongamos que tenemos en un formulario un control Label con la propiedad Caption con el valor 50
If Label1.Caption = "50" Then
msgbox "mi label tiene un valor de 50"
else
msgbox "mi label NO tiene un valor de 50"
end if
msgbox "mi label tiene un valor de 50"
else
msgbox "mi label NO tiene un valor de 50"
end if
Esto traducido al español significaría lo siguiente:
Si (If) la propiedad caption del label1 que tengo en el formulario es igual (=) a "50" entonces (Then) que muestre un determinado mensaje, si no (Else) que muestre el otro mensaje.
En conclusión lo que hace esta estructura es evaluar una condición, si se cumple, que se ejecute determinada tarea. si no se cumple, se ejecutará las líneas de código que estén bajo la cláusula Else. Luego tenemos que cerrar la estructura con la palabra end if.
Tenemos que aclarar que no es obligatorio usar If y else juntos en la misma cláusula. Por ejemplo podríamos utilizar solo una estructura If sin else. Por ejemplo:
Private Sub Command1_Click()
'Si la propiedad caption del Label1 es "Hola" entonces se termina el programa
If Label1.Caption = "Hola" Then
End
End If
'Si no, se prosigue con esta línea
MsgBox "No se ejecutó el bloque If Anterior porque el Caption del control Label1 no era Hola"
End Sub
'Si la propiedad caption del Label1 es "Hola" entonces se termina el programa
If Label1.Caption = "Hola" Then
End
End If
'Si no, se prosigue con esta línea
MsgBox "No se ejecutó el bloque If Anterior porque el Caption del control Label1 no era Hola"
End Sub
Coloca un Label1 y un Command1. En la propiedad caption del Label1 escribe "Hola". Al ejecutar el programa y presionar el Command1, se termina el programa con la sentencia End de Visual Basic (End sirve para finalizar completamente la ejecución de nuestro programa). En cambio si ahora le cambia el caption al Label1 y volvés a ejecutar el proyecto, podés ver que la instrucción End no se ejecuta, si no que la pasa por alto y sigue con las restantes líneas, en este caso ejecuta la función MsgBox con el mensaje.
Estructura While - Wend
Esta estructura de control repetirá sin detenerse un determinado código mientras se cumpla una condición.Por ejemplo supongamos que tenemos una variable llamada x que tiene un valor de 100.
while x = 100
...se ejecutan todas las líneas de código que estén aquí
wend
...se ejecutan todas las líneas de código que estén aquí
wend
Esto traducido al español significaría lo siguiente:
Mientras (While) la variable x sea igual a 100, y no cambie su valor, se formará un bucle interminable, hasta que x cambie a cualquier otro valor disto de 100. Si x cambia el valor, por ejemplo a 234 saldría del bucle While - wend y seguiría ejecutando el resto del código, si es que hay mas código o instrucciones a ejecutar.
Un ejemplo, agrega un Command1 al formulario y un control Text1. Cuando ejecutemos el ejemplo, se deberá escribir un número dentro del control textBox. Entonces se creará un bucle While, que mostrará en el Caption del formulario, es decir en la barra de título, el intervalo desde 0 hasta el número que hayamos ingresado en el Text1. Es decir si ingresamos el número 9000, en el caption del formulario se imprimirán los número desde 0 hasta 9000.
Para hacer esto, dentro del bucle While pondremos una variable llamada Contador, que en cada pasada se incrementará en 1, pero cuando la variable Contador sea igual al número que haya en el Text1, se finalizará el bucle y se mostrará un mensaje que finalizó el mismo
Private Sub Command1_Click()
Dim contador As Integer 'Declaramos la variable
While contador <> Text1
'Mostramos en el formulario el valor de la variable contador
Me.Caption = contador
'Incrementamos la variable en 1
contador = contador + 1
Wend
MsgBox "Terminó el bucle"
End Sub
Dim contador As Integer 'Declaramos la variable
While contador <> Text1
'Mostramos en el formulario el valor de la variable contador
Me.Caption = contador
'Incrementamos la variable en 1
contador = contador + 1
Wend
MsgBox "Terminó el bucle"
End Sub
Estructura For - next
La estructura es utilizada para generar una repetición de instrucciones o bucle, pero no evalúa una condición como en el caso del bucle While, si no que lo hace entre un número inicial y un número final que le debemos indicar al mismo. Por ejemplo, tenemos un formulario con un Label1 y declaramos una variable de tipo integer llamada "contador" como en el caso anterior
Private Sub Command1_Click()
Dim contador As Integer
For contador = 0 To 1000
Label1.Caption = contador
Next contador
End Sub
Dim contador As Integer
For contador = 0 To 1000
Label1.Caption = contador
Next contador
End Sub
Esto traducido significaría lo siguiente:
Primero, tenemos una variable llamada "contador". Mediante el bucle For - next podemos controlar la cantidad de veces que queremos repetir un determinado proceso o instrucción. Esta posee un principio y un fin, en este caso el principio sería 0 y el fin 1000, de manera que la variable contador se incrementará en 1 hasta que llegue a 1000, y repetirá 1000 veces todas las instrucciones que estén bajo la cláusula For-next. En este caso nuestro control Label1 mostraría el contenido de la variable contador
Para ver en forma detallada y paso a paso esto, pongamos un ejemplo que lo que hace es repetir 10 veces (desde el 1 hasta el 10 en el intervalo del bucle For) y mostrará un mensaje con el valor de la variable Contador. Una ves que llegue a 10, terminará.
Colocá un Command1. Doble Click en el botón para escribir dentro del procedimiento que se ejecutará cuando lo presionemos. El código:
Dim contador As Integer
For contador = 1 To 10
MsgBox "La variable Contador vale: " & contador
Next contador
MsgBox "Fin del bucle For"
For contador = 1 To 10
MsgBox "La variable Contador vale: " & contador
Next contador
MsgBox "Fin del bucle For"
Estructura Select case
La estructura Select Case se suele utilizar para evitar el uso de muchas cláusulas If y de esta manera no tener que anidarlas. La claúsula Select evalúa una condición y las cláusulas case contienen valores, si el valor que contiene la cláusula case es igual a la condición que se evaluó, ejecutará las instrucciones en dicha cláusula. Dim Nombre As String
Nombre = Text1
Select Case Nombre
Case "Jorge"
MsgBox "Se ejecutó la cláusula case: " & Nombre
Case "Pedro"
MsgBox "Se ejecutó la cláusula case: " & Nombre
Case "Carolina"
MsgBox "Se ejecutó la cláusula case: " & Nombre
End Select
Nombre = Text1
Select Case Nombre
Case "Jorge"
MsgBox "Se ejecutó la cláusula case: " & Nombre
Case "Pedro"
MsgBox "Se ejecutó la cláusula case: " & Nombre
Case "Carolina"
MsgBox "Se ejecutó la cláusula case: " & Nombre
End Select
Esta estructura es muy práctica. En el ejemplo anterior, la cláusula Select case contiene como condición el valor de la variable llamada Nombre. Esa Variable toma el valor que tenga un control Text1, entonces buscará en todas las cláusulas case, y si encuentra una igual a la condición, ejecutará solo las instrucciones de la cláusula case que tenga el mismo valor, por ejemplo si ingresara el nombre "Martín" no se ejecutará ninguna cláusula Case. En cambio si ingreso "Jorge" se ejecutará solo las instrucciones que estén en la sección Case "Jorge" y asi...
En el caso anterior solo hemos colocado un valor para cada Case. Si quisieramos colocar mas valores podríamos hacerlo de esta forma:
Private Sub Form_Load()
Dim x As Integer
x = 10 'Le ponemos un valor a x
Select Case x
Case 5, 10
MsgBox "Se ejecutó el case que tiene el 5 y el 10"
'Se ejecuta esta sección
Case 15, 20
'Esto no se ejecuta
Case 25, 30
'Esto tampoco
End Select
End Sub
Dim x As Integer
x = 10 'Le ponemos un valor a x
Select Case x
Case 5, 10
MsgBox "Se ejecutó el case que tiene el 5 y el 10"
'Se ejecuta esta sección
Case 15, 20
'Esto no se ejecuta
Case 25, 30
'Esto tampoco
End Select
End Sub
es decir que podemos listar los valores en los Case separados por comas. En el caso anterior se ejecutará el case 5, 10 ya que la variable x vale 10
6 - Operadores de Visual basic
Los operadores nos permiten operar, validar, comparar, asignar, distinguir, etc.., los datos e instrucciones de código de nuestros programas. A continuación los operadores mas importantes.Operadores aritméticos
Estos operadores nos permiten trabajar con cálculos matemáticos como la suma (+), resta (-), división (/) y multiplicación (*). Ejemplos:
a = 5
b = 15
c = a + b ' en este caso la variable c contendría el valor 20
ganancia = 500
perdida = 200
total = ganancia - perdida 'la variable total pasaría a valer 300
perdida = 200
total = ganancia - perdida 'la variable total pasaría a valer 300
x = 100
y = 20
z = x / y ' La Variable z vale 5
y = 20
z = x / y ' La Variable z vale 5
x = 100
y = 20
z = x * y ' La Variable z vale 2000
Operadores lógicos
Se utilizan en expresiones para devolver resultados del tipo True o False, es decir Verdadero o falso. Los mas comunes son el operador And y el operador Or Ejemplos:
If (x = 10) And (nombre = "maría") Then
'solo se ejecutará el código dentro de este bloque IF si la variable
'x vale 10 y la variable nombre es igual a maría
End If
'solo se ejecutará el código dentro de este bloque IF si la variable
'x vale 10 y la variable nombre es igual a maría
End If
If (m = 10) Or (nombre = "pedro") Then
'el código se ejecutará si por lo menos una variable es correcta
'es decir si por lo menos se cumple una condición
End If
'el código se ejecutará si por lo menos una variable es correcta
'es decir si por lo menos se cumple una condición
End If
Operadores de comparación
Los operadores de comparación se utilizan para comparar expresiones de cualquier tipo. Los mas importantes son: El operador de igualdad (=), menor que (<), mayor que (>), distinto a(<>) Ejemplos:
If label1.Caption = "06/08/1978" Then
'si el control label1 en su caption contiene esa fecha
'se ejecutará el código que este aquí
End If
if x > 6 then
'si la variable x es mayor que 6 se ejecutará el código que este aquí
end if
'si la variable x es mayor que 6 se ejecutará el código que este aquí
end if
If país <> "Estados unidos" Then
'si la variable país es distinta a "Estados unidos" se ejecutará el código
End If
'si la variable país es distinta a "Estados unidos" se ejecutará el código
End If
While c <= 87
'mientras la variable c sea menor o igual a 87 se ejecutará
'el bucle While
Wend
'mientras la variable c sea menor o igual a 87 se ejecutará
'el bucle While
Wend
Por último quedaría por ver el operador de concatenación (&) que se utiliza para unir cadenas de caracteres.
Por ejemplo:
nombre = "Jose"
apellido = "Peralta"
nombrecompleto = nombre & apellido
'La variable nombrecompleto pasaría a contener la unión de las otras dos variables
'es decir Jose Peralta
apellido = "Peralta"
nombrecompleto = nombre & apellido
'La variable nombrecompleto pasaría a contener la unión de las otras dos variables
'es decir Jose Peralta