Beruflich Dokumente
Kultur Dokumente
VISUAL BASIC.NET II
Cuaderno de Trabajo Visual Basic se encuentra bajo una Licencia Creative Commons Atribución-No Comercial-
Licenciamiento Recíproco 3.0 Unported. Septiembre 2011 – IDSystems
Contenido
INTRODUCCION ..........................................................................................................................................................4
EJERCICIOS SOBRE EL LENGUAJE ................................................................................................................................5
Actividad de Aprendizaje 6 – Partes de la computadora .......................................................................................6
Actividad de Aprendizaje 7 – Funciones matematicas ...........................................................................................8
Actividad de Aprendizaje 8 – Interes compuesto................................................................................................ 10
EJERCICIOS SOBRE CONDICIONALES IF y SELECT CASE............................................................................................ 12
Actividad de Aprendizaje 9 – Crucigrama............................................................................................................ 13
Actividad de Aprendizaje 10 – Contraseña.......................................................................................................... 16
Actividad de Aprendizaje 14 – Cobro de Servicios .............................................................................................. 17
Actividad de Aprendizaje 15 – Areas ................................................................................................................... 24
EJERCICIOS SOBRE CICLOS FOR, DO WHILE, DO UNTIL ........................................................................................... 29
Actividad de Aprendizaje 16 – Sumas ................................................................................................................. 30
Actividad de Aprendizaje 17 – Temperaturas ..................................................................................................... 33
EJERCICIOS SOBRE ARRAYS...................................................................................................................................... 38
Actividad de Aprendizaje 20 – Promedio de Notas ............................................................................................. 39
EJERCICIOS SOBRE USO DE CONTROLES.................................................................................................................. 42
Actividad de Aprendizaje 24 – Torero ................................................................................................................. 43
Actividad de Aprendizaje 26 – Cubos .................................................................................................................. 46
RETOS ...................................................................................................................................................................... 49
RETO 1 – Diagnostico de RED LAN ....................................................................................................................... 50
RETO 2 – Informacion de Sistema de una PC ...................................................................................................... 52
Es responsabilidad del Alumno crear una tabla (o llenar) de los controles (objetos visuales) que lleva cada una de
las actividades, para que se adecue según se muestra en la imagen resultante.
Estos ejercicios fueron tomados de Visual Basic Programacion para Docentes y agradezco a Mirta Echeverria y
Manuel Perez Valdez quienes tienen una excelente pagina de ejercicios. Sin embargo, hubo que clasificarlos en
bloques de temas para llevaran un orden de aprendizaje de acuerdo a la mayoria de los cursos de Visual Basic.
Por lo que dicha atribucion es nuestra.
Recomendamos ampliamente consultar los dos Cuadernos de Trabajo, asi como su Guia de Estudio.
Y tomar las notas resumidas en las clases presenciales de su profesor.
Estas actividades requieren que el Alumno entienda el proceso de programacion (previamente visto en otras
asignaturas) como son: tipos de datos, identificadores, condicionales (simples y multiples), ciclos (mientras,
hasta, para), arreglos (unidimensionales y multidimensionales), estructuras. Los actividades es una combinacion
de elementos de programacion, elementos del lenguaje VB.NET (comandos, funciones, namespaces, objetos),
ejercicios (algunos puntos paso a paso o codigo) y practica (el resto de la elaboracion).
De esta forma, el aprendizaje del entorno de Visual Basic.NET se centra mas en el uso y estructura de los
programas que en aprender a programar o iniciar con comandos en modo de consola.
Abrimos el programa
Visual Basic seleccionamos
Nuevo proyecto y
comenzamos a trabajar.
En el formulario podemos ver la Label dibujada sobre el monitor, todavía opaca como viene
por defecto, luego sobre el gabinete está transparente pero con el Caption , también por
defecto en este caso : Label2. Y en el teclado donde está posicionado el cursor en cambio
está transparente. De acuerdo a la parte que seleccionemos: en una cuarta Label se nos
mostrará el texto correspondiente, en el caso del formulario : "Teclado".
En este ejercicio tenemos una Image, con su Propiedad Stretch a True, lo que nos permite
agrandar un icono al tamaño deseado. Y cuatro Labels, tres transparentes para subdividir
la Image y una opaca para mostrar la parte seleccionada, y un Botón de Salida.
label
label
label
picturebox
Label1.BackColor = Color.Transparent
Label2.BackColor = Color.Transparent
Label3.BackColor = Color.Transparent
Label4.BackColor = Color.Transparent
End Sub
End Sub
En este ejercicio veremos algunas funciones como la búsqueda de números al azar, raíz de
números y redondeo de decimales. Usamos botones para ejecutar las funciones, cajas de texto
para ingresar valores y labels para dar salida a los resultados.
textbox
textbox
textbox
textbox
textbox
label
label
label
label
button
button
button
button
El código es:
End Sub
Usamos tres labels informativas, y tres cajas de texto para ingresar los valores, un boton para
ejecutar la función y una label para que nos devuelva el cálculo hecho.
label
label
label
textbox
textbox
textbox
button
El código es:
End Sub
El crucigrama está armado con cuadros de texto o sea controles Text, encerrados dentro de
un control frame, este control tiene la única finalidad de agrupar y contener otros controles,
ordenando la interactividad de una manera visual. Otros dos controles Frame agrupan las
opciones vertical y horizontal. Conteniendo controles CheckBox que al ser seleccionados
hacen la corrección de las letras ingresadas en las cajas de texto. El ingreso de las mismas se
hace en tiempo de ejecución a través del teclado.
A la derecha vemos unos controles Picture vacíos que se cargaran con imágenes que
muestren por ejemplo una cara sonriente si la palabra es correcta o seria si no lo es, o
cualquier otro tipo de imagen .Podemos llamar a esta imagen con la función LoadPicture
desde cualquier parte de nuestro disco rígido. Y un botón con el icono de Hijitus indica la
Salida y cierre del programa.
Acá tendremos que crear por código una estructura condicional que controle si la entrada
de datos es correcta o no.
textbox
textbox
textbox
textbox
textbox
textbox
textbox
textbox
textbox
groupbox
(frame)
groupbox
(frame)
checkbox
checkbox
checkbox
picturebox
picturebox
picturebox
button
El código es el siguiente:
MsgBox("ACERTO")
Else
PictureBox1.Image = Image.FromFile(System.IO.Path.GetFullPath("G:") +
"\ico004.ico")
MsgBox("FALLO")
End If
End Sub
PictureBox1.Image = Image.FromFile(System.IO.Path.GetFullPath("G:") +
"\ico003.ico")
MsgBox("ACERTO")
Else
PictureBox1.Image = Image.FromFile(System.IO.Path.GetFullPath("G:") +
"\ico004.ico")
MsgBox("FALLO")
End If
End Sub
PictureBox1.Image = Image.FromFile(System.IO.Path.GetFullPath("G:") +
"\ico003.ico")
MsgBox("ACERTO")
Else
PictureBox1.Image = Image.FromFile(System.IO.Path.GetFullPath("G:") +
"\ico004.ico")
MsgBox("FALLO")
End If
End Sub
End Class
Varios visitantes nos han pedido algún ejercicio que use una contraseña para entrar a un programa.
Aquí va un ejemplo. Vamos a usar la función InputBox que al abrir una ventana con una caja de texto
nos permite ingresar la contraseña.
Si no queremos usar la función podemos reemplazarla por el uso de un pequeño formulario diseñado a
nuestro gusto con una caja de texto. El programa se ve así:
picturebox
End Sub
End Class
Además de darnos el acceso con un saludo despliega una imagen en un control Image, en caso de no
ser la contraseña o el nombre del usuario el indicado nos niega el acceso.
Esta actividad nos permite trabajar con las condicionales, botones de opcion (radio button) que en si
son condicionales, realizar operaciones aritmeticas y presentar una interfaz mas agradable
añadiendole unos cuantos picturebox asi como imágenes a los botones. Las imágenes fueron
descargadas de internet a manera de iconos en formato .PNG. y ajustadas con la propiedad STRETCH.
groupbox
radiobutton
radiobutton
radiobutton
radiobutton
label
label
label
label
label
label
label
label
textbox
textbox
textbox
textbox
textbox
textbox
picturebox
picturebox
picturebox
picturebox
picturebox
picturebox
picturebox
button
button
Su código es el siguiente:
Public Class Form1
'Declaracion de variables
Dim Hamburguesa As Single
Dim HotDog As Single
Dim Sandwich As Single
Dim Te As Single
Dim Refresco As Single
Dim PapasFritas As Single
End Sub
txtTotal.Text = TotalVta
End Sub
If RadioButton1.Checked Then
CantidadHamburguesas = 1
CantidadRefresco = 1
CantidadPapas = 1
CantidadHotDog = 0
CantidadSandwich = 0
CantidadTe = 0
'Inicializar valores
txtHamburguesa.Text = CantidadHamburguesas
txtRefresco.Text = CantidadRefresco
txtPapas.Text = CantidadPapas
End If
End Sub
If RadioButton2.Checked Then
CantidadHamburguesas = 0
CantidadRefresco = 1
CantidadPapas = 1
CantidadHotDog = 1
CantidadSandwich = 0
CantidadTe = 0
'Inicializar valores
txtHotDog.Text = CantidadHotDog
txtRefresco.Text = CantidadRefresco
txtPapas.Text = CantidadPapas
End If
End Sub
If RadioButton3.Checked Then
CantidadHamburguesas = 0
CantidadRefresco = 1
CantidadPapas = 1
CantidadHotDog = 0
End If
End Sub
'Inicializar variables=
CantidadHamburguesas = 0
CantidadHotDog = 0
CantidadPapas = 0
CantidadRefresco = 0
CantidadTe = 0
CantidadSandwich = 0
txtHamburguesa.Text = CantidadHamburguesas
txtHotDog.Text = CantidadHotDog
txtSandwich.Text = CantidadSandwich
txtTe.Text = CantidadTe
txtRefresco.Text = CantidadRefresco
txtPapas.Text = CantidadPapas
End Sub
End Sub
Este ejercicio calcula el área de distintas figuras geométricas. usamos el mismo escenario que para la
aplicación Ecuaciones de Segundo Grado. El reto de este ejercicio es practicas los botones de opciones
(el equivalente a las estructuras condicionales) para calcular el area. Y trabajar con el codigo GDI+ de
VB.NET el cual nos permite dibujar con instrucciones del propio lenguaje.
Las imágenes que se ven en pantalla, no son creadas con un programa externo, sino con el propio
Visual Basic.Net y su librería de graficos. En el codigo vera como se puede lograr esto.
*NOTA: El codigo del programa no esta completo, para que usted lo desarrolle completamente
tomando como base la primer figura propuesta. Tome atencion que debe dibujar las figuras, la
formula, asi como presentar las cajas de texto correctas para realizar el calculo y presentar este en la
caja de Resultado.
groupbox
groupbox
groupbox
rectangleshape
radiobutton
radiobutton
radiobutton
radiobutton
radiobutton
radiobutton
radiobutton
picturebox
picturebox
label
label
label
label
textbox
textbox
textbox
textbox
button
Su código es:
Sub Limpiar()
Dim g As Graphics = imgFigura.CreateGraphics()
g.Clear(imgFigura.BackColor)
g.Dispose()
End Sub
Sub OcultarB1()
lblDato3.Visible = False
txtDato3.Visible = False
End Sub
Sub MostrarB1()
lblDato3.Visible = True
txtDato3.Visible = True
End Sub
Sub Triangulo()
Call Limpiar()
Dim bm As Bitmap
Dim gr As Graphics
Dim lapiz As Pen
Dim x1, y1 As Integer
x1 = Int(imgFigura.Height)
y1 = Int(imgFigura.Width)
Dim myArrayPoints() As Point = New Point() {New Point(20, 92), New Point(137, 92), _
bm = New Bitmap(imgFigura.Image)
gr = Graphics.FromImage(bm)
lapiz = New Pen(Color.Black) 'o el color que sea (o pen(color.black, N) n es el ancho)
'Dibujar la formula
bm2 = New Bitmap(imgFormula.Image)
fr = Graphics.FromImage(bm2)
imgFormula.Image = bm2
fr.DrawString("Area=( b x h ) / 2", draw2Font, drawBrush, 5, 30)
End If
End Sub
End Sub
Este ejercicio elige en forma Aleatoria dos números y los despliega en dos Labels para que el alumno
luego, introduzca el valor correcto de la suma de ambos en un TextBox . Si está bien le aparecerá la
carita sonriente y sino la de disgusto. Luego volverán a aparecer otros dos números para que siga
sumando.
El botón Aplicar permite hacer la corrección mediante un Condicional. Algunos de estos temas son
comunes a otros ejercicios. Por lo tanto nos centraremos en las funciones nuevas.
La función Rnd nos permite cargar en una variable un número aleatorio que en este caso definimos
como entero Int (de Integer) y de 0 a 10.
Repetimos el procedimiento para Num2, el segundo sumando de nuestra cuenta. Para que realmente
sea aleatorio debemos incorporar la sentencia Randomize en el Procedimiento Load del Formulario.
Otra función que utilizamos es Val que transforma una cadena de caracteres, en este caso el contenido
de un Text en un valor numérico.
En el caso de resolver bien la cuenta pasa a cargar otros dos números , iniciando una nueva cuenta.
Pero necesitamos una espera en la aplicación. Esto lo hacemos por código con un bucle que asociado al
reloj del sistema crea una pausa en la aplicación. Para esto creamos un Procedimiento llamado Pausa.
Posicionados en la ventana de código , en el area de GENERAL tecleamos el codigo descrito mas abajo.
Ahora veremos en nuestra ventana de código un nuevo Procedimiento llamado Pausa. Incluido dentro
de los procedimientos del objeto General. Luego lo llamaremos desde otra parte del programa con la
sentencia Call.
label
label
label
textbox
button
button
button
lineshape
picturebox
End Sub
End Sub
End Sub
Else
'MsgBox("Mal!")
PictureBox1.Image = Image.FromFile(System.IO.Path.GetFullPath("G:") +
"\sumas_ico001.ico")
End If
lblMensaje.Visible = True
lblMensaje.Text = "Pensando en otra suma para ti..."
' llama al procedimiento que creamos como Pausa
' pasandole como parametro la cantidad de segundos que queremos.
Call pausa(3)
lblMensaje.Visible = False
cmdOtraSuma.PerformClick()
End Sub
End Class
Debemos usar un arreglo para almacenar los valores introducidos en cada caja de texto, y con un ciclo
(For..Next), recorrer dicho arreglo para saber cual es el valor mas alto, mas bajo y el promedio en una
semana dada.
textbox
textbox
textbox
textbox
textbox
textbox
textbox
textbox
textbox
label
label
label
label
label
label
label
label
label
button
button
button
button
button
El código es el siguiente:
Sub SetControlArray()
'Funcion que nos pasara los valores de las cajas de texto de dia de la semana
'al array que hemos creado.
txtBox(1) = txtDomingo
txtBox(2) = txtLunes
txtBox(3) = txtMartes
txtBox(4) = txtMiercoles
txtBox(5) = txtJueves
txtBox(6) = txtViernes
txtBox(7) = txtSabado
End Sub
End Sub
End Sub
End Sub
Este ejercicio nos permite ingresar una cantidad de valores, por ejemplo las notas de un alumno, y
luego obtener su promedio. En el formulario usamos cuatro botones, dos cajas de texto, y un ListBox,
un frame y tres Labels.
Necesitamos usar un arreglo para almacenar los valores de las calificaciones que vamos introduciendo,
ya que la caja de lista, tambien se maneja con un arreglo de valores. Veremos ademas, el uso del
control Listbox para agregar elementos y para eliminarlos. Tambien usaremos un ciclo para recorrer
todos los valores del Array y calcular el promedio.
label
label
textbox
textbox
button
button
button
listbox
El código es el siguiente:
Public Class Form1
Dim Nota() As Single
Dim N As Integer 'Número total de notas.
End Sub
End Sub
End Sub
End Sub
End Class
Este ejercicio muestra una sucesión de Imágenes al estilo un show de diapositivas .Tenemos 2 modos
de hacerlo. Uino, las imágenes las cargamos en controles Image a la izquierda del formulario invisibles,
para luego convocarlas por código y desplegarlas en la Image central, ésta si con su propiedad visible =
True.
El segundo metodo, es tener las imágenes en la carpeta donde se ejecuta el programa, y de ahí
mediante codigo irlas mostrando en un solo control picturebox. La ventaja es que tendremos menos
controles en nuestro formulario, pero debemos tener las imágenes en la misma carpeta del programa.
En el primer metodo, las imágenes quedan DENTRO del programa.
El boton Reiniciar nos posibilita volver a comenzar sin salir de la aplicación, para esto inicializa la
variable A = 0 y pone el Timer nuevamente en funcionamiento.
picturebox
label
button
button
End Sub
End Sub
Este ejercicio es para ver los eventos que se pueden manejar con el mouse, moviendo una imagen por
el formulario. Es parecido al Drag&Drop pero no es lo mismo ya que usa los eventos de Mouse. Este
tipo de ejercicios es muy útil para los docentes que trabajan con los más pequeños.
Usamos tres controles Picture cargando en cada uno de ellos un icono que les guste.
picturebox
picturebox
el siguiente código:
btnDown = True
offsetX = e.X
offsetY = e.Y
End If
End Sub
btnDown = False
End If
End Sub
Hay otras instrucciones de VB.NET las cuales obtienen el nombre de la PC por su ip o viceversa, asi como el
manejo de errores si hay problemas de comunicación. El alumno debera resolver todos los inconvenientes y
crear una interfaz amigable para que que el usuario pueda monitorear cuales computadoras estan conectadas y
cuales no.
Posibles opciones:
1) De 1 por 1
2) Con un boton que chequen todas las computadoras de la red
3) Con un timer que se ejecute cada cierto tiempo
4) Con cuadros que cambien de color
5) Con el nombre de la PC
6) Con la ip de la PC
7) Con iconos que cambien.
NOTA TIP : En Internet hay una aplicación para conocer todas las ips de una red Lan de manera automatica.
Hay que buscar en google para ver el codigo fuente de dicha aplicación, modificarlo y adaptarlo a sus
necesidades.
Este reto, pretende crear una aplicación usando ciertas instrucciones de VB.NET para obtener informacion de
una computadora como su version de sistema operativo, memoria, resolucion de pantalla, etc. Sin hacer uso de
ningun control ActiveX.
La interfaz y la cantidad de informacion presentada correra a cargo del alumno (incluso puede poner algunas
imágenes o iconos de acompañamiento ).
nombreEquipo = My.Computer.Name
MemoriaFisicaDisp = My.Computer.Info.AvailablePhysicalMemory
MemoriaVirtualDisp = My.Computer.Info.AvailableVirtualMemory
SistemaOperativo = My.Computer.Info.OSFullName
SistemaOperativoVersion = My.Computer.Info.OSVersion
MemoriaFisica = My.Computer.Info.TotalPhysicalMemory
MemoriaVirtual = My.Computer.Info.TotalVirtualMemory
MouseRuedita = My.Computer.Mouse.WheelExists
HoraLoca = My.Computer.Clock.LocalTime
DirectorioDocs = My.Computer.FileSystem.SpecialDirectories.MyDocuments
TextBox1.Text = directoriodocs