En este tutorial veremos los conceptos básicos sobre la programación en Visual Basic Net.
Este tutorial de VB net consistirá en aprender a utilizar las sentencias de flujo, sentencias que nos servirán al momento de tomar decisiones en base a una o más condiciones.
El código de los siguientes ejemplos debe colocarse en un botón en un formulario como este.
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Ingresar código aquí
End Sub
Sentencias de Flujo
IF
Es una sentencia que utilizaremos para evaluar condiciones y en base al resultado Verdadero o falso ejecutar una o varias instrucciones.
Su sintaxis más simple es:
If condición Then instrucciones
donde condición es una expresión lógica cuyo resultado es Verdadero o Falso, las condiciones usan los operadores lógicos And o Or asimismo los operadores relacionales como <,<,=,<>,>=,<=.
Ejemplo 1:
Dim nombre as String
nombre="alex"
If nombre="alex" then MsgBox("Bienvenido Alex")
Ejemplo 2:
Con valores booleanos (true/false).
Ejemplo 3:
Dim flag as Boolean
flag=True
If flag then MsgBox("flag es true")
La sintaxis ya presentada ejecuta solo una instrucción por condición si queremos ejecutar más de una usaremos.
If condición Then
instrucción1
instrucción2
"
"
"
End If
Por ejemplo:
Ejemplo 4:
Dim nombre as String
nombre="alex"
If nombre="alex" Then
MsgBox("Bienvenido Alex")
MsgBox("Buen dia")
End If
Qué pasa si queremos que nuestro programa muestre una instrucción cuando la condición se cumpla y otra cuando no, para ello usaremos:
If condición then
instrucción1
instrucción2
"
"
"
Else
instrucción1
instrucción2
"
"
"
End If
nombre = InputBox("Ingrese el usuario")
If nombre = "alex" Then
MsgBox("Bienvenido Alex")
MsgBox("Buen dia")
Else
MsgBox("acceso denegado")
End If
If condición Then
instruccion1
instruccion2
"
"
Elseif()
instruccion1
instruccion2
"
"
Else
"
"
End if
Ejemplo 6:
Crearemos una aplicación donde ingresaremos el nombre de un usuario si cumple nuestras condiciones mostrara un mensaje de bienvenida en el caso contrario de rechazo.
Dim user As String
user = InputBox("Ingresa el usuario")
If (user = "alex") Then
MsgBox("Bienvenido Alex")
ElseIf (user = "marco") Then
MsgBox("Bienvenido Marco")
ElseIf (user = "miguel") Then
MsgBox("Bienvenido Miguel")
Else
MsgBox("No eres bienvenido")
End If
"Inputbox" nos abrirá una ventana donde deberemos ingresar un texto a elección. En el siguiente ejemplo en caso de ingresar un usuario equivocado no mostrara ningún mensaje.
También es posible comparar fechas.
Ejemplo 8:
If (#12/12/2000# > #12/12/1900#) Then
MsgBox("Probando Fechas")
End If
Ejemplo 9:
Dim fechaactual As Date
fechaactual = Today
If (fechaactual < #12/12/1900#) Then
MsgBox("probando fechas")
End If
Ahora usaremos los más conocidos operadores relacionales.
Ejemplo 10:
dim numero as integer
numero = 5
If (numero > 0) And (numero < 10) Then
MsgBox("Numero esta entre 0 y 10")
End If
numero = 5
If (numero = 2) Or (numero = 5) Then
MsgBox("Numero es 2 o 5")
End If
Con "Or" la condición se cumple solo si una o las dos condiciones son verdaderas, en este caso se mostrara el mensaje solo si nuestra variable numero es 2 o 5. El ejemplo también se podría haber escrito utilizando un else.
Probaremos el sgte ejemplo con la función "IsNumeric" que devolverá Verdadero si el valor ingreso es un numero, Falso en el caso contrario.
También podemos usar "Not" para negar una condición:
Ejemplo 13:
Dim cadena As String
cadena = InputBox("Ingrese un numero")
If Not IsNumeric(cadena) Then
MsgBox("No es un numero")
End If
IIf
Es una instrucción condicional muy similar a IF que toma como argumentos una condición, un argumento para verdadero y otro para falso.
Donde si la condición es verdadera toma el primer valor de lo contrario el segundo.
Ejemplo 14:
Dim resultado as string
Dim edad As Integer
edad = 22
resultado = IIf(edad < 18, "menor de edad", "mayor de edad")
MsgBox(resultado)
Mostrara el resultado de acuerdo a la condición establecida "edad<18".
Este tutorial de VB net consistirá en aprender a utilizar las sentencias de flujo, sentencias que nos servirán al momento de tomar decisiones en base a una o más condiciones.
El código de los siguientes ejemplos debe colocarse en un botón en un formulario como este.
Doble Clic en "Button 1" para agregar el código.
Así debería quedar.
Ingresar código aquí
End Sub
Sentencias de Flujo
IF
Es una sentencia que utilizaremos para evaluar condiciones y en base al resultado Verdadero o falso ejecutar una o varias instrucciones.
Su sintaxis más simple es:
If condición Then instrucciones
donde condición es una expresión lógica cuyo resultado es Verdadero o Falso, las condiciones usan los operadores lógicos And o Or asimismo los operadores relacionales como <,<,=,<>,>=,<=.
Ejemplo 1:
Dim nombre as String
nombre="alex"
If nombre="alex" then MsgBox("Bienvenido Alex")
Se mostrara el MsgBox solo si cumple la condición en este caso el nombre es igual a "alex" de lo contrario no.
Ojo: Los ejemplos diferencian si esta en mayúscula o no, "ALEX" no es igual a "alex".
Ojo: Los ejemplos diferencian si esta en mayúscula o no, "ALEX" no es igual a "alex".
Si deseamos comparar números.
Ejemplo 2:
Dim numero as Integer
If numero=0 then MsgBox("El numero es 0")
Con valores booleanos (true/false).
Ejemplo 3:
Dim flag as Boolean
flag=True
If flag then MsgBox("flag es true")
La sintaxis ya presentada ejecuta solo una instrucción por condición si queremos ejecutar más de una usaremos.
If condición Then
instrucción1
instrucción2
"
"
"
End If
Por ejemplo:
Ejemplo 4:
Dim nombre as String
nombre="alex"
If nombre="alex" Then
MsgBox("Bienvenido Alex")
MsgBox("Buen dia")
End If
Qué pasa si queremos que nuestro programa muestre una instrucción cuando la condición se cumpla y otra cuando no, para ello usaremos:
If condición then
instrucción1
instrucción2
"
"
"
Else
instrucción1
instrucción2
"
"
"
End If
Ejemplo 5:
dim nombre as stringnombre = InputBox("Ingrese el usuario")
If nombre = "alex" Then
MsgBox("Bienvenido Alex")
MsgBox("Buen dia")
Else
MsgBox("acceso denegado")
End If
Si el nombre es "alex" mostrara las dos ventanas de alerta de lo contrario "acceso denegado", "Inputbox" nos abrirá una ventana donde deberemos ingresar un texto.
Otra variación es si tenemos múltiples condiciones, siendo el último else opcional, para ello usaremos la siguiente sintaxis:
instruccion1
instruccion2
"
"
Elseif()
instruccion1
instruccion2
"
"
Else
"
"
End if
Crearemos una aplicación donde ingresaremos el nombre de un usuario si cumple nuestras condiciones mostrara un mensaje de bienvenida en el caso contrario de rechazo.
Dim user As String
user = InputBox("Ingresa el usuario")
If (user = "alex") Then
MsgBox("Bienvenido Alex")
ElseIf (user = "marco") Then
MsgBox("Bienvenido Marco")
ElseIf (user = "miguel") Then
MsgBox("Bienvenido Miguel")
Else
MsgBox("No eres bienvenido")
End If
"Inputbox" nos abrirá una ventana donde deberemos ingresar un texto a elección. En el siguiente ejemplo en caso de ingresar un usuario equivocado no mostrara ningún mensaje.
Ejemplo 7:
Dim user As String
user = InputBox("Ingresa el usuario")
If (user = "alex") Then
MsgBox("Bienvenido Alex")
ElseIf (user = "marco") Then
MsgBox("Bienvenido Marco")
ElseIf (user = "miguel") Then
MsgBox("Bienvenido Miguel")
End If
También es posible comparar fechas.
Ejemplo 8:
If (#12/12/2000# > #12/12/1900#) Then
MsgBox("Probando Fechas")
End If
Ejemplo 9:
Dim fechaactual As Date
fechaactual = Today
If (fechaactual < #12/12/1900#) Then
MsgBox("probando fechas")
End If
Ahora usaremos los más conocidos operadores relacionales.
Ejemplo 10:
dim numero as integer
numero = 5
If (numero > 0) And (numero < 10) Then
MsgBox("Numero esta entre 0 y 10")
End If
En este ejemplo se mostrara un mensaje solo si el número está entre 0 y 10, gracias a que utilizamos el operador "and" que permite unir 2 condiciones.
Nota: Los paréntesis en este caso son opcionales sirven para ordenar un poco el código.
Ejemplo 11:
Dim numero As IntegerEjemplo 11:
numero = 5
If (numero = 2) Or (numero = 5) Then
MsgBox("Numero es 2 o 5")
End If
Con "Or" la condición se cumple solo si una o las dos condiciones son verdaderas, en este caso se mostrara el mensaje solo si nuestra variable numero es 2 o 5. El ejemplo también se podría haber escrito utilizando un else.
Probaremos el sgte ejemplo con la función "IsNumeric" que devolverá Verdadero si el valor ingreso es un numero, Falso en el caso contrario.
Ejemplo 12:
Dim cadena As String
cadena = InputBox("Ingrese un numero")
If (IsNumeric(cadena)) Then
MsgBox("Es un numero")
End If
También podemos usar "Not" para negar una condición:
Ejemplo 13:
Dim cadena As String
cadena = InputBox("Ingrese un numero")
If Not IsNumeric(cadena) Then
MsgBox("No es un numero")
End If
IIf
Es una instrucción condicional muy similar a IF que toma como argumentos una condición, un argumento para verdadero y otro para falso.
Su sintaxis es :
IIf(condicion,valor verdadero,valor falso)
IIf(condicion,valor verdadero,valor falso)
Donde si la condición es verdadera toma el primer valor de lo contrario el segundo.
Ejemplo 14:
Dim resultado as string
Dim edad As Integer
edad = 22
resultado = IIf(edad < 18, "menor de edad", "mayor de edad")
MsgBox(resultado)
Mostrara el resultado de acuerdo a la condición establecida "edad<18".
Select Case
Es otro tipo de instrucción condicional múltiple la ventaja que tiene con los IF es que es más ordenado y fácil de entender.
Su sintaxis es:
Select Case condición
Case valor1
instrucciones()
Case valor2
instrucciones()
Case valor3
instrucciones()
"
"
"
"
Case Else
instrucciones()
End Select
Donde el último case el "case else" es opcional.
Ejemplo 15:
Dim usuario As String
usuario = InputBox("Ingresar usuario")
Select Case usuario
Case "alex"
MsgBox("hola alex")
Case "marco"
MsgBox("hola alex")
Case "fabricio"
MsgBox("hola fabricio")
Case Else
MsgBox("hola extraño")
End Select
Ejemplo 16:
dim edad as integer
edad = 22
Select Case edad
Case Is < 18
MsgBox("eres un menor de edad")
Case Is >= 18
MsgBox("eres un mayor de edad")
End Select
Instrucciones Repetitivas
Estas instrucciones nos ayudaran con procesos repetitivos de acuerdo claro a ciertas condiciones.
Nota: Un error muy común es meterse en bucles infinitos, saldremos de ello con Ctrl+j (a tenerlo en cuenta).
For Next
Es una instrucción repetitiva se diferencia de las otras que vamos a estudiar en que es necesario conocer de antemano el número de repeticiones.
Su sintaxis es:
For contador=inicio To fin step incremento
instrucciones
Next
For contador=inicio To fin step incremento
instrucciones
Next
Lo veremos mas claramente con un ejemplo.
Ejemplo 17:
dim i as integer
For i = 0 To 10
MsgBox(" el numero es " & i)
Next
Como vemos el For ira de 0 a 10, incrementándose el valor de 1 a 1, si deseamos un incremento mayor podríamos usar Step.
Ejemplo 18:
Dim i As Integer
For i = 0 To 10 Step 2
MsgBox(" el numero es " & i)
Next
Que mostrara los valores 2,4,6,8,10, siendo 2 el incremento.
También podríamos mostrar los valores en forma descendente así.
Ejemplo 19:
Dim i As Integer
For i = 10 To 0 Step -1
MsgBox(" el numero es " & i)
Next
Cambiando los valores de inicio y final asimismo siendo nuestro decremento -1 para obtener
10,9,8,7,6,5,4,3,2,1
"Exit For", nos permite salir del For sin que lleguemos al final.
Ejemplo 20:
Dim i As Integer
For i = 0 To 10
MsgBox(" el numero es " & i)
If (i = 5) Then Exit For
Next
Do While
Esta instrucción genera loops en base a una condición, se diferencia de For en que no es necesario conocer de antemano el número de repeticiones ya que todo depende de la condición.
Su sintaxis es:
Do while condición
'instrucciones
Loop
O su variante
Do
'instrucciones
Loop while condición
Ejemplo 21:
Dim i As Integer
i = 0
Do While i < 10
MsgBox("El numero es " & i)
i = i + 1
Loop
Generara loops hasta que la condición deje de cumplirse ya que nuestro contador i aumentara de valor en cada ciclo o dicho de otra manera hasta que la condición sea falsa.
Con un Do While invertido, la condición es evaluada al final no al comienzo.
Ejemplo 22:
Dim i As Integer
i = 0
Do
MsgBox("el numero es " & i)
i = i + 1
Loop While i < 10
While
Similar a "Do While", su sintaxis es:
While condición
instrucciones
End While
Ejemplo 23:
Dim i As Integer
i = 0
While i < 10
MsgBox("el número es " & i)
i = i + 1
End While
"Exit While" nos permite salir de un bucle While. por ejemplo:
Ejemplo 24:
Dim i As Integer
i = 0
While i < 10
MsgBox("numero es " & i)
i = i + 1
If (i = 5) Then Exit While
End While
Do Until
Esta instrucción es similar a "Do While" con la única diferencia en que se ejecuta hasta que la condición sea verdadera o se cumpla.
Su sintaxis es:
Do Until condición
Instrucciones
Loop
O
Do
instrucciones
Loop Until condición
Ejemplo 25:
Dim i as integer
i = 0
Do Until i = 5
MsgBox("El número es " & i)
i = i + 1
Loop
Mientras la condición sea falsa es decir i sea diferente de 5 el ciclo seguirá.
También se podría haber creado este ejemplo como:
Ejemplo 26:
Dim i As Integer
i = 0
Do
MsgBox("El número es " & i)
i = i + 1
Loop Until i = 5
For Each...Next
Esta es una sentencia que es usada para iterar sobre variables de tipo arrays o collections.
Ejemplo 27:
Dim dias() as string={"Lunes","Martes","Miercoles","Jueves","Viernes","Sabado","Domingo"}
For Each diad As String In dias
MsgBox(diad)
Next
Ejemplo 28:
Dim numeros() As Integer = {1, 2, 3, 4, 5, 6, 7}
For Each number As Integer In numeros
MsgBox(number)
Next
0 comentarios:
Publicar un comentario