Está en la página 1de 24

VISUAL BASIC .

NET

1. QUE ES VISUAL BASIC .NET


Es un lenguaje de programación orientado a objetos que se puede considerar una
evolución de Visual Basic implementada sobre el Framework .NET. Posee cambios
considerativos en el lenguaje VB.NET no es retro compatible con Visual Basic pero es
similar en el manejo de instrucciones.

2. APLICACIONES DE CONSOLA
'escribimos una cadena de caracteres
Console.WriteLine("hola amigos de etp")
'escribimos un numero entero
Console.WriteLine(23)
'escribimos una comparación logica
Console.WriteLine(3 > 1)
Console.ReadLine() 'evitamos que la pantalla se cierre
automaticamente

El método ReadLine() Se usa para recoger información que el usuario introduce.


Queda en espera hasta que el usuario pulse INTRO
'declaramos una variable de tipo cadena de caracteres
Dim texto As String
'mostramos un mensaje al usuario
Console.WriteLine("Ingrese su nombre y apellido: ")
'capturamos el dato ingresado por el usuario
texto = Console.ReadLine()
'operamos con el dato
texto = "El nombre instroducido es: " & texto
'mostramos la cadena de texto
Console.WriteLine(texto)
Console.ReadLine()
Sub Main()
REM programa para ingresar datos personales
Dim nombre, direccion, sexo As String REM declaramos variables tipo texto
Dim edad As Integer REM variable tipo entero
Console.WriteLine("Hola, a continuación introduce tus datos personales:") REM
escribimos una liena en pantalla
Console.WriteLine("Nombre y apellidos; ") REM solicitamos el primer dato
nombre = Console.ReadLine() REM cargamos el primer dato en la variable nombre
Console.WriteLine("edad: ") REM solicitamos el segundo dato
edad = Console.ReadLine() REM cargamos el segundo dato en la variable edad
Console.WriteLine("dirección: ")
direccion = Console.ReadLine()
Console.WriteLine("sexo: ")
sexo = Console.ReadLine()
Console.WriteLine("Información Grabada") REM escribimos en pantalla
Console.ReadLine() REM paralizamos la pantalla
REM mostramos datos
Console.WriteLine("tu eres: " & nombre & ", tu edad es " & edad & " años" & ",
sexo " & sexo & " y vives en " & direccion)
Console.ReadLine()
End Sub

Sub Main()
'declaramos variables tipo entero
Dim nota1, nota2, nota3 As Integer
Dim promedio As Double
'pedimos nota 1 usuario
Console.WriteLine("ingrese la nota 1")
'capturamos el dato nota 1
nota1 = Console.ReadLine()
'pedimos nota 2 usuario
Console.WriteLine("ingrese la nota 2")
nota2 = Console.ReadLine()
'pedimos nota 3 usuario
Console.WriteLine("ingrese la nota 3")
nota3 = Console.ReadLine()
'proceso
promedio = (nota1 + nota2 + nota3) / 3
'salida
Console.WriteLine("el promedio es: " & promedio)
Console.ReadLine()

End Sub

3. COMO CREAR UN NUEVO PROYECTO


4. ENTORNO DE VISUAL BASIC
Barra de título
Barra de menús

Explorador de soluciones

Cuadro de herramientas Ventana de propiedades

Insertaremos dos controles comunes a nuestro formulario. Cada vez que seleccionamos
un control que acabamos de insertar, observaremos que sus propiedades cambian.

Para ver el código fuente de nuestra aplicación lo podemos hacer dando doble clic en
el Form, label o Button; según sea el caso.

5. GUARDAR EL PROYECTO
6. RECUPERAR EL PROYECTO GUARDADO
Buscar en el directorio donde se guardó el proyecto
7. CONTROLES DE LOS WINDOWS FORM
A. GroupBox. Componente que muestra un marco alrededor de un grupo de
controles con un título opcional.

B. Button. Control que permite controlar un botón de pulsación.


C. Label. Proporciona información en tiempo de ejecución o texto descriptivo para
un control.

D. Textbox. (caja de texto) Control que permite ingresar una línea de texto y editarlo

E. PictureBox. Control que permite ingresar una imagen en el formulario.

F. CheckBox. Permite seleccionar o deseleccionar uno o varios ítems de un


conjunto de opciones.
G. RadioButton. Componente para mostrar varias opciones, de las cuales solo se
puede seleccionar una.

H. ComboBox. Control usado para crear una lista despegable con varias opciones,
de las cuales solo se puede seleccionar una sola.

I. ListBox. Permite crear una lista con varias opciones, de las cuales se puede
seleccionar una o varias.
PROPIEDADES DE LOS CONTROLES

CREAR UN PROYECTO: prControles

1° Insertar un TabControl y modificar su propiedad TabPage


2° insertar 2 GroupBox (Datos de Usuario y Datos del Perfil
El control ComboBox (nacionalidad) agregar los siguientes datos: Peru, Ecuador,
Chile, Argentina…. Haciendo uso de su propiedad Items. En la propiedad Text:
Seleccione…
Para colocar la imagen en el control PictureBox, modificar la propiedad
BackGrounImage.
BackGrounImageLoyut sirve para adecuar el tamaño de la imagen al tamaño del
picture box.
3° Insertar un DateTimePicker y modificar su propiedad Format.

List Box: Bailar, estudiar, Cantar, escuchar musica


texBox Multiline (descripción)
TIPOS DE DATOS EN VISUAL BASIC.NET
PROBLEMA 1. Crear un programa que permita sumar, restar, multiplicar, dividir,
obtener potencia y raíz de 02 números ingresados por teclado.
Nombre del Proyecto: prOperadoresAritméticos

Modificar las Propiedades Name de los controles:

 Txtnum1
 Txtnum2
 BtnNuevo
 BtnCalcular
 BtnCerrar
 TxtSuma
 TxtResta
 TxtMult
 TxtDiv
 TxtPot
 TxtRaiz
CÓDIGO DEL btnCalcular
'Declaracion de variables....alt+39=comilla simple
Dim num1 As Integer
Dim num2 As Integer
Dim suma, resta, mult, pot As Integer
Dim div, raiz As Double

'entrada de datos
num1 = Val(txtNum1.Text)
num2 = Val(TxtNum2.Text)

'proceso
suma = num1 + num2
resta = num1 - num2
mult = num1 * num2
div = num1 / num2
pot = num1 ^ num2
raiz = num1 ^ (1 / num2)

'resultados
txtSuma.Text = suma
txtResta.Text = resta
txtMult.Text = mult
txtDiv.Text = div
txtPot.Text = pot
txtRaiz.Text = raiz

CÓDIGO DEL btnNuevo

txtNum1.Clear()
TxtNum2.Clear()
txtSuma.Clear()
txtResta.Clear()
txtMult.Clear()
txtDiv.Clear()
txtPot.Clear()
txtRaiz.Clear()

CÓDIGO DEL btnCerrar

End
PROBLEMA 2. Crea un programa para encontrar el área de un círculo, use la fórmula:
A=𝜋.r2
A= Área del círculo
𝜋 = valor constante 3.14159
r= radio del círculo

Nombre de controles:

 txtRadio
 BtnCalcular
 txtArea
Código del btnCalcular

'definimos valores constantes


Const pi As Double = 3.14159

'definimos variables
Dim area As Double
Dim radio As Double

'entrada de datos
radio = Val(txtRadio.Text)

'proceso
area = pi * radio ^ 2

'salida
txtArea.Text = area
ESTRUCTURAS CONDICIONALES SIMPLES: IF

PROBLEMA 3. Hacer una aplicación que permita ingresar el precio unitario de un


producto vendido y la cantidad de venta; después calcular el precio parcial (Precio
unitario * cantidad), mostrar un descuento del 7% solo si el vendedor ha seleccionado
la opción de aplicar descuento, al final mostrar también el precio neto (precio parcial –
descuento)

Nombre de los controles:

 txtpUnitario
 txtCantidad
 chkDesc
 btnNuevo
 btnCalcular
 btnSalir
 txtpparcial
 txtDescuento
 txtpneto
CÓDIGO DEL BOTON CALCULAR
'definimos variables

Dim cantidad As Integer


Dim punitario, pparcial, descuento, pneto As Single '
single=decimal simple
Dim marcdesc As Boolean ' boolean= true or false

'entrada de datos
punitario = Val(txtpUnitario.Text)
cantidad = Val(txtCantidad.Text)
marcdesc = chkDesc.Checked ' si la casilla ha sido checkeada
sera true

' inicializamos la variable descuento


descuento = 0 ' inicialmente no hay descuento

'proceso
pparcial = punitario * cantidad

'evaluamos si se aplica descuento o no


If (marcdesc = True) Then
descuento = pparcial * 0.07

End If
pneto = pparcial - descuento

'salida

txtpparcial.Text = pparcial
txtDescuento.Text = descuento
txtpNeto.Text = pneto

CÓDIGO DEL BOTON NUEVO


txtCantidad.Clear()
txtpUnitario.Clear()
txtpparcial.Clear()
txtDescuento.Clear()
txtpNeto.Clear()

CÓDIGO DEL BOTON SALIR


End
ESTRUCTURA CONDICIONAL DOBLE (IF-ELSE)

PROBLEMA 4. Hacer un programa que permita ingresar tres notas para un alumno, la
nota A que tiene una importancia de 3 créditos, la nota B tiene 4 créditos, y la nota C
tiene solo 2 créditos; se debe de calcular el promedio teniendo en cuenta las notas y al
final si el alumno tiene un promedio igual o mayor a 10.5 mostrar “Aprobado” en caso
contrario “Desaprobado”.
Abrimos el prCondicionales del problema anterior….y agregamos un formulario
frmPromedio

'declaramos variables
Dim notaa, notab, notac As Integer
Dim promedio As Double
Dim situacion As String

'ingreso de datos
notaa = Val(txtNotaA.Text)
notab = Val(txtNotaB.Text)
notac = Val(txtNotaC.Text)

'proceso de datos
promedio = (nota*3 + notab*4 + notac*2) / 9
If (promedio > 10.5) Then
situacion = "Aprobado"
Else
situacion = "Desaprobado"

End If
'salida de datos
txtPromedio.Text = promedio
txtSituacion.Text = situacion

PROBLEMA 5. (Estructuras condicionales anidadas)


Cal cular la utilidad que un trabajador recibe en el reparto de utilidades, si a este se le
asigna como un porcentaje de su salario mensual que depende de su antigüedad en la
empresa de acuerdo con lo siguiente:

Código del btnCalcular

'declaramos variables
Dim salario As Double
Dim antiguedad As Byte
Dim utilidad As Double
'entrada de datos
salario = Val(txtSalario.Text)
antiguedad = Val(cboAntiguedad.Text)
'proceso
If (antiguedad < 1) Then
utilidad = salario * 5 / 100
ElseIf (antiguedad >= 1 And antiguedad < 2) Then
utilidad = salario * 7 / 100
ElseIf (antiguedad >= 2 And antiguedad < 5) Then
utilidad = salario * 10 / 100
ElseIf (antiguedad >= 5 And antiguedad < 10) Then
utilidad = salario * 15 / 100
ElseIf (antiguedad >= 10) Then
utilidad = salario * 20 / 100
End If
'salida
txtUtilidad.Text = utilidad

Código del btnNuevo


txtSalario.Clear()
txtUtilidad.Clear()
Código del btnSalir
End

ESTRUCTURAS SELECTIVAS MULTIPLES (SELECT CASE)


Permite comparar un valor con diversas alternativas, si la comparación tiene éxito se
ejecuta el grupo de instrucciones que contenga la alternativa sleccionada y luego sale
de la estructura.

PROBLEMA 6. prSelectCase
Ingresar un número por teclado y determinar su representación en un día de la
semana. Por ejemplo, si se ingresa 3 deberá mostrar miércoles, si ingresa 7 mostrará
domingo; pero si ingresa un número fuera del rango entre 1 y 7 mostrar el mensaje
”Error intente con un nuevo número”.
Código del btnCalcular

'declaración de variables
Dim numero As Integer
Dim dia As String
'entrada de datos
numero = Val(txtNumero.Text)
'proceso
Select Case (numero)
Case 1
dia = "lunes"
Case 2
dia = "Martes"
Case 3
dia = "Miércoles"
Case 4
dia = "Jueves"
Case 5
dia = "Viernes"
Case 6
dia = "Sábado"
Case 7
dia = "Domingo"
Case Else
dia = "Error intente con otro número"
End Select
'salida de datos
txtDia.Text = dia

Código del btnNuevo


txtNumero.Clear()
txtDia.Clear()
Código del btnSalir
End

CONTROL TIMER.
Componente que genera un evento a intervalos de tiempo definidos por el usuario.
PROBLEMA 7. Implementar una aplicación que permita mostrar la hora actualizada al
segundo, y que permita crear una animación simple de dos etiquetas de texto.

Timer1 controla la animación


Interval: 100
Timer2 controla la hora
Interval: 1000
Enabled: true
Código del Timer1

'declaramos una variable fuera del ámbito de clase


Private num As Integer = 0

Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e


As System.EventArgs) Handles Timer1.Tick

If (num Mod 2 = 0) Then 'obtenemos el residuo de la div de


NUM entre 2....si es = 0 significa que es par
lblTexto1.Visible = True
lblTexto2.Visible = False
Else
lblTexto1.Visible = False
lblTexto2.Visible = True
End If
num = num + 1

código del btnPlay


Timer1.Enabled = True

código del btnStop


Timer1.Enabled = True

Código del Timer2


lblHora.Text = TimeOfDay ’este código puedes poner en el Form1
en acaso de error

MessageBox
El método MessageBoox.Show() permite mostrar un cuadro de mensaje que puede
obtener texto, botones y símbolos que informan e instruyen al usuario, el formato es:
InputBox
El método InputBox() permite mostrar un cuadro de mensaje en el que el usuario
puede introducir un valor o un mensaje en forma de texto. El formato es:

PROBLEMA 8: Crear un programa que permita ingresar el nombre de un usuario en un


inputbox y después mostrar el saludo respectivo en un MessageBox. Además, mostrar
un botón de salir que pregunte y seleccione la opción de salir antes de cerrar la
aplicación.

Código del btnIngresar


'declaramos variables
Dim nombre As String
'ingreso de datos
nombre = InputBox("Ingrese Nombre", "Registro de datos",
"Nombre", 100, 0) '100,0 indica la posicion en pantalla
MessageBox.Show("Bienvenido usuario: " & nombre, "Registro de
Datos", MessageBoxButtons.OK, MessageBoxIcon.Information)

Código del btnSalir


Dim opcion As DialogResult 'esta variable se cargara con el resultado
del cuadro de dialogo
opcion = MessageBox.Show("Realmente desea salir de la aplicación?",
"Salir de la App", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
If (opcion = Windows.Forms.DialogResult.Yes) Then 'si el usuaro
selecciona SI
Me.Close() ' se cierra la aplicación
End If

ERROR PROVIDER
Proporciona una interfaz de Usuario para indicar al usuario que el control de un
formulario tiene un error asociado.
PROBLEMA9: Crear un programa que permita ingresar de manera obligatoria los
nombres, la edad y el salario de una persona; además todos los campos de texto deben
de tener un mensaje emergente que ayude al usuario final con el contenido que debe
ingresar.

Propiedades:
Multiline=True
ScrollBars=Vertical
Código del btnEnviar
Try 'inicio del capturador de errores

If Me.ValidateChildren And txtNombre.Text <> String.Empty And


Val(txtEdad.Text) - Int(Val(txtEdad.Text)) = 0 And txtSalario.Text <>
String.Empty Then
'Me.ValidateChildren=en este formulario se validan todos los controles
hijos
'<>String.Empty = diferente a vacio
'Val(txtEdad.Text) - Int(Val(txtEdad.Text)) = 0....evaluamos si la
edad ingresada es entero.
MessageBox.Show("Datos registrados correctamente", "Registros de
usuarios", MessageBoxButtons.OK, MessageBoxIcon.Information)
Else
MessageBox.Show("Ingrese correctamente algunos datos remarcados",
"Registro de Usuarios", MessageBoxButtons.OK, MessageBoxIcon.Error)

End If
Catch ex As Exception 'captura el error o excepción
MsgBox(ex.Message) 'muestra la variable EX en un mensaje
End Try

Agregamos un control ErrorProvider ….y empezamos a validar cada una de las


cajas de texto en su evento Validating
txtNombre
If DirectCast(sender, TextBox).Text.Length > 0 Then 'enviamos el tipo
de control a directCast...si la longitud del texto es mayor a cero
Me.ErrorProvider1.SetError(sender, "") 'no enviamos ningun error

Else
Me.ErrorProvider1.SetError(sender, "Ingrese el nombre, este dato es
obligatorio") 'enviamos el error "ingrese...."

End If

txtEdad
If (Val(txtEdad.Text) - Int(Val(txtEdad.Text)) = 0) Then 'si la
resta resulta cero, es un entero
Me.ErrorProvider1.SetError(sender, "") 'no enviamos ningun error

Else
Me.ErrorProvider1.SetError(sender, "Ingrese la edad, este dato
es obligatorio") 'enviamos el error "ingrese...."

End If

txtSalario
If DirectCast(sender, TextBox).Text.Length > 0 Then 'enviamos el tipo
de control a directCast...si la longitud del texto es mayor a cero
Me.ErrorProvider1.SetError(sender, "") 'no enviamos ningun error
Else
Me.ErrorProvider1.SetError(sender, "Ingrese el salario, este dato es
obligatorio") 'enviamos el error "ingrese...."

End If

txtDescripción
If DirectCast(sender, TextBox).Text.Length > 0 Then 'enviamos el tipo
de control a directCast...si la longitud del texto es mayor a cero
Me.ErrorProvider1.SetError(sender, "") 'no enviamos ningun error

Else
Me.ErrorProvider1.SetError(sender, "Ingrese una descripción, este dato
es obligatorio") 'enviamos el error "ingrese...."

End If

También podría gustarte