You are on page 1of 52

CUADERNO DE TRABAJO VISUAL BASIC.

NET II

Cuaderno de Trabajo Visual Basic se encuentra bajo una Licencia Creative Commons Atribucin-No ComercialLicenciamiento Recproco 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 Contrasea.......................................................................................................... 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

Cuaderno de Trabajo Visual Basic .NET II

Pgina 2

Cuaderno de Trabajo Visual Basic .NET II

Pgina 3

INTRODUCCION
Este es el Cuaderno de Trabajo II de Visual Basic. Es la continuacion del primer cuaderno el cual esta lleno de ejercicios practicos llamados Actividades de Aprendizaje. A diferencia de los ejercicios (los cuales son paso a paso) y las practicas (que no se da ninguna solucion), estos ejercicios contienen una imagen del resultado y el codigo que debe ser tecleado. No asi, las propiedades de los controles y otros elementos graficos. 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 segn 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.

Cuaderno de Trabajo Visual Basic .NET II

Pgina 4

EJERCICIOS SOBRE EL LENGUAJE


Los siguientes ejercicios, aunque de manera visual y con manejo de controles, se centran mas en sentencias del lenguaje, declaracion de variables y funciones. Usando los controles minimos estandar.

Cuaderno de Trabajo Visual Basic .NET II

Pgina 5

Actividad de Aprendizaje 6 Partes de la computadora

Abrimos el programa Visual Basic seleccionamos Nuevo proyecto y comenzamos a trabajar. Este ejercicio muestra un truco muy sencillo pero de gran utilidad. A veces tenemos una imagen total que queremos particionar, en este caso la computadora, que nos permite subdividirla en tres partes : monitor, teclado, gabinete. Esto por cdigo sera muy complejo pero usando el control Label en su modo transparente y con el Caption vaco, o sea sin etiqueta nos permite subdividir la imagen y que sus partes respondan a el evento Click por separado, provocando una respuesta distinta. En el formulario podemos ver la Label dibujada sobre el monitor, todava opaca como viene por defecto, luego sobre el gabinete est transparente pero con el Caption , tambin 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 tamao deseado. Y cuatro Labels, tres transparentes para subdividir la Image y una opaca para mostrar la parte seleccionada, y un Botn de Salida.

Cuaderno de Trabajo Visual Basic .NET II

Pgina 6

Control label

Nombre

Propiedades = Valor

label

label

label

picturebox

El Cdigo de este ejercicio es el siguiente:

Public Class Form1 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Label1.Parent = PictureBox1 Label2.Parent = PictureBox1 Label3.Parent = PictureBox1 Label4.Parent = PictureBox1 Label1.BackColor Label2.BackColor Label3.BackColor Label4.BackColor End Sub = = = = Color.Transparent Color.Transparent Color.Transparent Color.Transparent

Private Sub Label1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label1.Click lblParte.Text = "Monitor" End Sub Private Sub Label2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label2.Click lblParte.Text = "CPU" End Sub Private Sub Label3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label3.Click lblParte.Text = "Teclado" End Sub

Cuaderno de Trabajo Visual Basic .NET II

Pgina 7

Private Sub Label4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label4.Click lblParte.Text = "Mouse" End Sub End Class

Actividad de Aprendizaje 7 Funciones matematicas

En este ejercicio veremos algunas funciones como la bsqueda de nmeros al azar, raz de nmeros y redondeo de decimales. Usamos botones para ejecutar las funciones, cajas de texto para ingresar valores y labels para dar salida a los resultados.

Cuaderno de Trabajo Visual Basic .NET II

Pgina 8

Control textbox textbox textbox textbox textbox textbox label label label label button button button button El cdigo es:

Nombre

Propiedades

Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim azar As Integer Randomize() azar = Int(10 * Rnd()) + 1 TextBox1.Text = azar End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Dim azar As Integer Dim rangomenor As Integer Dim rangomayor As Integer Randomize()

Cuaderno de Trabajo Visual Basic .NET II

Pgina 9

rangomayor = CInt(TextBox2.Text) rangomenor = CInt(TextBox3.Text) azar = Int((rangomayor - rangomenor + 1) * Rnd()) + rangomenor TextBox4.Text = azar End Sub Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click Dim numero As Integer Dim raiz As Integer raiz = CInt(TextBox5.Text) numero = CInt(TextBox6.Text) TextBox7.Text = numero ^ (1 / raiz) End Sub Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click Dim numero As Integer Dim decimales As Integer numero = TextBox8.Text decimales = CInt(TextBox9.Text) TextBox10.Text = Math.Round(numero, decimales) End Sub End Class

Actividad de Aprendizaje 8 Interes compuesto

En este ejercicio vamos a crear una funcin que nos permite calcular un interes compuesto, de una suma inicial de acuerdo al porcentaje de inters ingresado y la cantidad de cuotas en que se devuelva el mismo. Usamos tres labels informativas, y tres cajas de texto para ingresar los valores, un boton para ejecutar la funcin y una label para que nos devuelva el clculo hecho.

Cuaderno de Trabajo Visual Basic .NET II

Pgina 10

Control label label label label textbox textbox textbox button

Nombre

Propiedades

El cdigo es:
Public Class Form1 Dim capital As Decimal Dim interesmensual As Single Dim cuotas As Long

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click capital = TextBox1.Text interesmensual = TextBox2.Text cuotas = TextBox3.Text Label4.Text = InteresCompuesto(capital, interesmensual, cuotas) End Sub Function InteresCompuesto(ByVal capitas As Integer, ByVal interesmensual As Single, ByVal cuotas As Long) As Integer Dim i As Long Dim total As Integer total = capital For i = 1 To cuotas total = total + (total * interesmensual) Next InteresCompuesto = total - capital End Function End Class

Cuaderno de Trabajo Visual Basic .NET II

Pgina 11

EJERCICIOS SOBRE CONDICIONALES IF y SELECT CASE


Los siguientes ejercicios, aunque de manera visual y con manejo de controles, se centran mas en las estrucuturas condicionales.

Cuaderno de Trabajo Visual Basic .NET II

Pgina 12

Actividad de Aprendizaje 9 Crucigrama


Con este ejercicio queremos sugerir una ejemplo de crucigrama que cada uno podr adaptar a los contenidos requeridos. Tambin a partir de aqu podramos elaborar un Ahorcado.

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 correccin de las letras ingresadas en las cajas de texto. El ingreso de las mismas se hace en tiempo de ejecucin a travs del teclado. A la derecha vemos unos controles Picture vacos que se cargaran con imgenes 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 funcin LoadPicture desde cualquier parte de nuestro disco rgido. Y un botn con el icono de Hijitus indica la Salida y cierre del programa. Ac tendremos que crear por cdigo una estructura condicional que controle si la entrada de datos es correcta o no. Control textbox textbox textbox
Cuaderno de Trabajo Visual Basic .NET II Pgina 13

Nombre

Propiedades

textbox textbox textbox textbox textbox textbox textbox textbox groupbox (frame) groupbox (frame) checkbox checkbox checkbox picturebox picturebox picturebox button

El cdigo es el siguiente:
Public Class Form1

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click End

Cuaderno de Trabajo Visual Basic .NET II

Pgina 14

End Sub Private Sub CheckBox1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles CheckBox1.Click If TextBox6.Text = "L" And TextBox7.Text = "O" And TextBox8.Text = "R" And TextBox4.Text = "O" And TextBox9.Text = "S" Then 'Este codigo debe ir todo en un mismo renlgon y revisa si se escribio una de las palabras correctas 'Cuidado con los nombres de los controles porque seguramente no seran los mismos que en este ejercicio 'Si acerto, pondremos una carita feliz, de lo contrario una carita fea. 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 Private Sub CheckBox2_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox2.CheckedChanged If TextBox7.Text = "O" And TextBox10.Text = "R" And TextBox11.Text = "O" Then 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 Private Sub CheckBox3_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox3.CheckedChanged If TextBox1.Text = "R" And TextBox2.Text = "A" And TextBox3.Text = "T" And TextBox4.Text = "O" And TextBox5.Text = "N" Then 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

Cuaderno de Trabajo Visual Basic .NET II

Pgina 15

Actividad de Aprendizaje 10 Contrasea


Varios visitantes nos han pedido algn ejercicio que use una contrasea para entrar a un programa. Aqu va un ejemplo. Vamos a usar la funcin InputBox que al abrir una ventana con una caja de texto nos permite ingresar la contrasea. Si no queremos usar la funcin podemos reemplazarla por el uso de un pequeo formulario diseado a nuestro gusto con una caja de texto. El programa se ve as:

Control button picturebox

Nombre

Propiedades

Y el cdigo del evento click del Botn Acceso al Sistema es el siguiente:


Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim nombreusuario As String Dim contrasea As String nombreusuario = InputBox("Introduzca su Nombre") contrasea = InputBox("Introduzca CONTRASEA") If UCase(nombreusuario) = "PROGRAMADOR" And LCase(contrasea) = "secreto" Then MsgBox("BIENVENIDA PROGRAMADOR! Preparada para trabajar con tu PC?") PictureBox1.Visible = True Me.WindowState = FormWindowState.Maximized ElseIf UCase(nombreusuario) = "ASISTENTE" And LCase(contrasea) = "duende" Then

Cuaderno de Trabajo Visual Basic .NET II

Pgina 16

MsgBox("BIENVENIDO ASISTENTE AL SISTEMA! A trabajar no te duermas!") PictureBox1.Visible = True Else MsgBox("ACCESO DENEGADO") End If End Sub End Class

Adems de darnos el acceso con un saludo despliega una imagen en un control Image, en caso de no ser la contrasea o el nombre del usuario el indicado nos niega el acceso.

Actividad de Aprendizaje 14 Cobro de Servicios

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 aadiendole unos cuantos picturebox asi como imgenes a los botones. Las imgenes fueron descargadas de internet a manera de iconos en formato .PNG. y ajustadas con la propiedad STRETCH.
Cuaderno de Trabajo Visual Basic .NET II Pgina 17

Aunque el codigo es algo largo porque debe evaluar cada una de las opciones, es facilmente entendible por las condicionales que presenta. Las operaciones son sumas. Control groupbox groupbox radiobutton radiobutton radiobutton radiobutton label label label label label label label label textbox textbox textbox textbox textbox textbox
Cuaderno de Trabajo Visual Basic .NET II Pgina 18

Nombre

Propiedades

textbox picturebox picturebox picturebox picturebox picturebox picturebox picturebox button button

Su cdigo 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 'Declaracion de variables de cantidad Dim CantidadHamburguesas As Integer Dim CantidadHotDog As Integer Dim CantidadSandwich As Integer Dim CantidadTe As Integer Dim CantidadRefresco As Integer Dim CantidadPapas As Integer Dim Dim Dim Dim Dim Dim Dim TotalVta As Single CostoHamburguesa As Single CostoHotDog As Single CostoSandwich As Single CostoTe As Single CostoRefresco As Single CostoPapas As Single

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles

Cuaderno de Trabajo Visual Basic .NET II

Pgina 19

MyBase.Load 'Inicializar las variables con los precios de los productos Hamburguesa = 20.5 HotDog = 19.25 Sandwich = 17.5 PapasFritas = 4.5 Refresco = 4 Te = 5 End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 'Multiplicando la cantidad por el precio y sumando el total CostoHamburguesa = CantidadHamburguesas * Hamburguesa CostoHotDog = CantidadHotDog * HotDog CostoSandwich = CantidadSandwich * Sandwich CostoTe = CantidadTe * Te CostoRefresco = CantidadRefresco * Refresco CostoPapas = CantidadPapas * PapasFritas TotalVta = CostoHamburguesa + CostoHotDog + CostoSandwich + CostoTe + CostoRefresco + CostoPapas txtTotal.Text = TotalVta

End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click End End Sub Private Sub RadioButton1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton1.CheckedChanged 'Paquete No.1 de Comida txtTotal.Text = "" 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 'Activar las cajas de texto del paquete txtHamburguesa.Enabled = True txtRefresco.Enabled = True txtPapas.Enabled = True 'Desactivar las otras cajas txtHotDog.Enabled = False

Cuaderno de Trabajo Visual Basic .NET II

Pgina 20

txtTe.Enabled = False txtSandwich.Enabled = False 'Limpiar las cajas de texto txtHotDog.Text = "" txtTe.Text = "" txtSandwich.Text = "" End If End Sub Private Sub RadioButton2_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton2.CheckedChanged 'Paquete No.2 de Comida txtTotal.Text = "" 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 'Activar las cajas de texto del paquete txtHotDog.Enabled = True txtRefresco.Enabled = True txtPapas.Enabled = True 'Desactivar las otras cajas txtHamburguesa.Enabled = False txtTe.Enabled = False txtSandwich.Enabled = False 'Limpiar las cajas de texto txtHamburguesa.Text = "" txtTe.Text = "" txtSandwich.Text = "" End If End Sub Private Sub RadioButton3_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles RadioButton3.Click 'Paquete No.3 de Comida txtTotal.Text = "" If RadioButton3.Checked Then CantidadHamburguesas = 0 CantidadRefresco = 1 CantidadPapas = 1 CantidadHotDog = 0

Cuaderno de Trabajo Visual Basic .NET II

Pgina 21

CantidadSandwich = 1 CantidadTe = 0 'Inicializar valores txtSandwich.Text = CantidadSandwich txtRefresco.Text = CantidadRefresco txtPapas.Text = CantidadPapas 'Activar las cajas de texto del paquete txtSandwich.Enabled = True txtRefresco.Enabled = True txtPapas.Enabled = True 'Desactivar las otras cajas txtHotDog.Enabled = False txtTe.Enabled = False txtHamburguesa.Enabled = False 'Limpiar las cajas de texto txtHamburguesa.Text = "" txtTe.Text = "" txtHotDog.Text = "" End If End Sub Private Sub RadioButton4_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton4.CheckedChanged 'Opcion Otro Pedido txtTotal.Text = "" 'Inicializar variables= CantidadHamburguesas = 0 CantidadHotDog = 0 CantidadPapas = 0 CantidadRefresco = 0 CantidadTe = 0 CantidadSandwich = 0 'Habilitar todas las entradas txtHamburguesa.Enabled = True txtHotDog.Enabled = True txtSandwich.Enabled = True txtTe.Enabled = True txtRefresco.Enabled = True txtPapas.Enabled = True txtHamburguesa.Text = CantidadHamburguesas txtHotDog.Text = CantidadHotDog txtSandwich.Text = CantidadSandwich txtTe.Text = CantidadTe txtRefresco.Text = CantidadRefresco txtPapas.Text = CantidadPapas End Sub Private Sub txtHamburguesa_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtHamburguesa.TextChanged txtTotal.Text = ""

Cuaderno de Trabajo Visual Basic .NET II

Pgina 22

CantidadHamburguesas = Val(txtHamburguesa.Text) End Sub Private Sub txtHotDog_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtHotDog.TextChanged txtTotal.Text = "" CantidadHotDog = Val(txtHotDog.Text) End Sub Private Sub txtSandwich_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSandwich.TextChanged txtTotal.Text = "" CantidadSandwich = Val(txtSandwich.Text) End Sub Private Sub txtTe_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTe.TextChanged txtTotal.Text = "" CantidadTe = Val(txtTe.Text) End Sub Private Sub txtRefresco_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtRefresco.TextChanged txtTotal.Text = "" CantidadRefresco = Val(txtRefresco.Text) End Sub Private Sub txtPapas_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtPapas.TextChanged txtTotal.Text = "" CantidadPapas = Val(txtPapas.Text) End Sub End Class

Cuaderno de Trabajo Visual Basic .NET II

Pgina 23

Actividad de Aprendizaje 15 Areas

Este ejercicio calcula el rea de distintas figuras geomtricas. usamos el mismo escenario que para la aplicacin 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 imgenes que se ven en pantalla, no son creadas con un programa externo, sino con el propio Visual Basic.Net y su librera 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. Control groupbox groupbox Nombre Propiedades

Cuaderno de Trabajo Visual Basic .NET II

Pgina 24

groupbox groupbox groupbox rectangleshape radiobutton radiobutton radiobutton radiobutton radiobutton radiobutton radiobutton picturebox picturebox label label label label textbox textbox textbox textbox button
Cuaderno de Trabajo Visual Basic .NET II Pgina 25

button

Su cdigo es:
Public Class Form1 Dim h As Integer Dim b As Integer Dim b1 As Integer

Sub Limpiar() Dim g As Graphics = imgFigura.CreateGraphics() g.Clear(imgFigura.BackColor) g.Dispose() Dim g1 As Graphics = imgFormula.CreateGraphics g1.Clear(imgFormula.BackColor) g1.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 Dim Dim Dim bm As Bitmap gr As Graphics lapiz As Pen x1, y1 As Integer

' Create string to draw. Dim drawString As [String] = "Sample Text" ' Create font and brush. Dim drawFont As New Font("Arial", 12) Dim drawBrush As New SolidBrush(Color.Black) Dim draw2Font As New Font("Arial", 14) Dim bm2 As Bitmap Dim fr As Graphics x1 = Int(imgFigura.Height) y1 = Int(imgFigura.Width) Dim myArrayPoints() As Point = New Point() {New Point(20, 92), New Point(137, 92), _

Cuaderno de Trabajo Visual Basic .NET II

Pgina 26

New Point(106, 20)} 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) gr.DrawPolygon(New Pen(Color.Brown, 2), myArrayPoints) gr.DrawLine(lapiz, 106, 20, 106, 92) imgFigura.Image = bm ' Draw string to screen. gr.DrawString("h", drawFont, drawBrush, 90, 60) gr.DrawString("b", drawFont, drawBrush, 75, 100) '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) 'Ahora cambiar las etiquetas segun corresponde lblDato1.Text = "b=" lblDato2.Text = "h=" End Sub

Private Sub cmdSalir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdSalir.Click End End Sub Private Sub optTriangulo_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles optTriangulo.CheckedChanged If optTriangulo.Checked Then 'frmFigura = "Triangulo" Call OcultarB1() 'Call MostrarH() Call Triangulo() frmDatos.Visible = True frmResultado.Visible = True End If End Sub

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 'Inicializar las variables H = 1 B = 2 b1 = 1 'Inicializar las cajas de texto txtDato1.Text = B txtDato2.Text = H txtDato3.Text = b1 End Sub

Cuaderno de Trabajo Visual Basic .NET II

Pgina 27

Private Sub optParalelogramo_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles optParalelogramo.CheckedChanged Call Triangulo() End Sub End Class

Cuaderno de Trabajo Visual Basic .NET II

Pgina 28

EJERCICIOS SOBRE CICLOS FOR, DO WHILE, DO UNTIL


Los siguientes ejercicios, aunque de manera visual y con manejo de controles, se centran mas en las estrucuturas repetitivas o ciclos.

Cuaderno de Trabajo Visual Basic .NET II

Pgina 29

Actividad de Aprendizaje 16 Sumas

Este ejercicio elige en forma Aleatoria dos nmeros 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 volvern a aparecer otros dos nmeros para que siga sumando.

El botn Aplicar permite hacer la correccin mediante un Condicional. Algunos de estos temas son comunes a otros ejercicios. Por lo tanto nos centraremos en las funciones nuevas. La funcin Rnd nos permite cargar en una variable un nmero aleatorio que en este caso definimos como entero Int (de Integer) y de 0 a 10.

Cuaderno de Trabajo Visual Basic .NET II

Pgina 30

Num1 = int( Rnd * 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 funcin que utilizamos es Val que transforma una cadena de caracteres, en este caso el contenido de un Text en un valor numrico. Resultado = Val ( Text1.Text) Y luego con un condicional y el operador de suma + controlamos si el resultado es correcto: If resultado = Int(num1) + Int(num2) then... En el caso de resolver bien la cuenta pasa a cargar otros dos nmeros , iniciando una nueva cuenta. Pero necesitamos una espera en la aplicacin. Esto lo hacemos por cdigo con un bucle que asociado al reloj del sistema crea una pausa en la aplicacin. Para esto creamos un Procedimiento llamado Pausa. Posicionados en la ventana de cdigo , en el area de GENERAL tecleamos el codigo descrito mas abajo. Ahora veremos en nuestra ventana de cdigo 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. Control label label label label textbox button button button lineshape picturebox
Cuaderno de Trabajo Visual Basic .NET II Pgina 31

Nombre

Propiedades

Para mayor claridad vamos al cdigo:


Public Class Form1 Dim num1, num2, resultado As Integer Private Sub pausa(ByVal segundos As Integer) ' este el procedimiento creado por nosotros para crear una pausa ' usando un ciclo (sin el control Timer) Dim esperaTmp As Long = My.Computer.Clock.TickCount + (segundos * 1000) While esperaTmp > My.Computer.Clock.TickCount System.Windows.Forms.Application.DoEvents() End While End Sub

Private Sub cmdSalir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdSalir.Click End End Sub Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Randomize() num1 = Int(Rnd() * 10) 'al cargarse el programa ya aparece una cuenta num2 = Int(Rnd() * 10) txtResultado.Text = "" lblDato1.Text = num1 'se vuelcan las variables en las Labels lblDato2.Text = num2 cmdCalcular.Enabled = False 'el botn aplicar est desactivado End Sub Private Sub txtResultado_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtResultado.TextChanged cmdCalcular.Enabled = True End Sub Private Sub cmdOtraSuma_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdOtraSuma.Click num1 = Int(Rnd() * 10) 'elige un nmero aleatorio num2 = Int(Rnd() * 10) 'elige un nmero aleatorio txtResultado.Text = "" lblDato1.Text = num1 lblDato2.Text = num2 txtResultado.Focus() ' ubica el foco del cursor en el control Text1 cmdCalcular.Enabled = False PictureBox1.Image = Nothing 'vaca el contenido de la imagen End Sub Private Sub cmdCalcular_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdCalcular.Click cmdCalcular.Enabled = False

Cuaderno de Trabajo Visual Basic .NET II

Pgina 32

resultado = Val(txtResultado.Text) If resultado = Int(num1) + Int(num2) Then 'MsgBox("Bien!") PictureBox1.Image = Image.FromFile(System.IO.Path.GetFullPath("G:") + "\sumas_ico002.ico") 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

Actividad de Aprendizaje 17 Temperaturas

Cuaderno de Trabajo Visual Basic .NET II

Pgina 33

En este ejercicio, simplemente entramos en tiempo de ejecucin una temperatura para cada da de la semana y luego haciendo click en los botones: Alta, Media y Baja , devuelve los valores en otras cajas de texto. 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. Control textbox textbox textbox textbox textbox textbox textbox textbox textbox textbox label label label label label label label Nombre Propiedades

Cuaderno de Trabajo Visual Basic .NET II

Pgina 34

label label label button button button button button

El cdigo es el siguiente:
Public Class Form1 'Declaramos las variables que vamos a calcular. Dim alta As Single Dim dia As Integer Dim baja As Single Dim media As Single 'Declaramos un arreglo para los dias de la semana Dim txtBox(7) As TextBox 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 Private Sub cmdSalir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdSalir.Click End End Sub Private Sub cmdAlta_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdAlta.Click ' Calcular cual es la temperatura mas alta de la semana de acuerdo a los valores ' introducidos por el usuario. ' Primero llamamos la funcion para poner los valores en el array Call SetControlArray()

Cuaderno de Trabajo Visual Basic .NET II

Pgina 35

' Ahora realizaremos un ciclo para recorrer todos los dias de la semana ' y saber cual es el dia en que el valor es el mas alto. alta = txtBox(1).Text For Me.dia = 1 To 7 If txtBox(dia).Text > alta Then alta = txtBox(dia).Text End If Next dia txtAlta.Text = alta End Sub Private Sub cmdBaja_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdBaja.Click ' Calcular cual es la temperatura mas baja de la semana Call SetControlArray() baja = txtBox(1).Text For Me.dia = 1 To 7 If txtBox(dia).Text < baja Then baja = txtBox(dia).Text End If Next dia txtBaja.Text = baja End Sub Private Sub cmdMedia_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdMedia.Click 'Calcular la temperatura promedio del dia de la semana ' Declarar variables locales Dim total As Long Dim promedio As Long 'Llamar array de inicializacion Call SetControlArray() total = 0 For Me.dia = 1 To 7 total = total + txtBox(dia).Text Next dia promedio = total / 7 txtMedia.Text = Format(promedio, "##.##") 'formato con dos decimales End Sub Private Sub cmdBorrar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdBorrar.Click 'Borrar todos los valores de temperaturas de la semana 'Aqui no pondremos el array sino accesamos de manera directa a los controles txtDomingo.Text = "" txtLunes.Text = "" txtMartes.Text = "" txtMiercoles.Text = "" txtJueves.Text = "" txtViernes.Text = "" txtSabado.Text = "" End Sub End Class

Cuaderno de Trabajo Visual Basic .NET II

Pgina 36

Usando estructuras de repeticin For Next, calculamos los valores de alta y baja, luego para la media sacamos por divisin el promedio.

Cuaderno de Trabajo Visual Basic .NET II

Pgina 37

EJERCICIOS SOBRE ARRAYS


Los siguientes ejercicios, aunque de manera visual y con manejo de controles, se centran mas en los Arreglos y algunos controles que los utilizan.

Cuaderno de Trabajo Visual Basic .NET II

Pgina 38

Actividad de Aprendizaje 20 Promedio de Notas

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. Control groupbox label label textbox textbox
Cuaderno de Trabajo Visual Basic .NET II Pgina 39

Nombre

Propiedades

button button button button listbox

El cdigo es el siguiente:
Public Class Form1 Dim Nota() As Single Dim N As Integer 'Nmero total de notas. Private Sub cmdSalir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdSalir.Click End End Sub Private Sub txtCalificacion_LostFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtCalificacion.LostFocus If IsNumeric(txtCalificacion.Text) Then 'Chequea si el valor es numrico. If txtCalificacion.Text <= 0 Then 'Chequea si es mayor que cero. MsgBox("Valor incorrecto,debe ser mayor que cero", vbCritical) txtCalificacion.Focus() 'Situa el foco en el TexBox Text1. End If Else 'Si no es numrico el dato. MsgBox("El valor debe ser mayor que cero", vbCritical) txtCalificacion.Focus() 'Situa el foco en el TexBox Text1. End If End Sub Private Sub cmdCaptura_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdCaptura.Click If txtCalificacion.Text = "" Then 'Si no se han introducido nota. MsgBox("No se ha introducido una nota") txtCalificacion.Focus() Exit Sub End If N = N + 1 'Inicializa el conteo de las notas entradas. ReDim Preserve Nota(0 To N) 'Redimesiona el arreglo. Nota(N) = txtCalificacion.Text 'Asigna el valor al arreglo. 'Aade la nota a la lista. ListBox1.Items.Add(Nota(N)) 'cmdEntrarNota.Enabled = False End Sub

Cuaderno de Trabajo Visual Basic .NET II

Pgina 40

Private Sub cmdBorrar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdBorrar.Click Dim i As Integer, NotaInd As Integer 'NotaInd = ListBox1.ListIndex + 1 'Asigna el orden del elemento de la lista a una variable. NotaInd = ListBox1.SelectedIndex + 1 'If ListBox1.ListIndex = -1 Then 'Si no esta checheada la lista. If ListBox1.SelectedIndex = -1 Then MsgBox("Haga click en la lista para borrar la nota") Exit Sub Else 'ListBox1.RemoveItem(List1.ListIndex) 'Borra de la Lista la Nota ListBox1.Items.RemoveAt(ListBox1.SelectedIndex) txtCalificacion.Text = "" 'Limpia el texto. 'Eliminar la nota de indice (List1.ListIndex+1) y correr las notas For i = NotaInd To N - 1 Nota(i) = Nota(i + 1) Next i N = N - 1 'actualizando nmero de notas por ser borrada una. If N > 1 Then ReDim Preserve Nota(0 To N) 'Reajustando la dimensin del arreglo notas txtPromedio.Text = "" End If End Sub Private Sub cmdCalcular_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdCalcular.Click 'Calcular el proemdio Dim Suma As Single Dim Promedio As Single Dim J As Integer If N = 0 Then 'Si el nmero de notas es cero. MsgBox("No existen valores para promediar") Exit Sub End If Suma = 0 For J = 1 To N 'Suma todas las notas Suma = Suma + Nota(J) Next J Promedio = Suma / N txtPromedio.Text = Promedio End Sub End Class

Cuaderno de Trabajo Visual Basic .NET II

Pgina 41

EJERCICIOS SOBRE USO DE CONTROLES


Los siguientes ejercicios, se centran en el uso de los controles estandar de Visual Basic, sus propiedades y eventos para conocer como se comportan.

Cuaderno de Trabajo Visual Basic .NET II

Pgina 42

Actividad de Aprendizaje 24 Torero

Este ejercicio muestra una sucesin de Imgenes al estilo un show de diapositivas .Tenemos 2 modos de hacerlo. Uino, las imgenes las cargamos en controles Image a la izquierda del formulario invisibles, para luego convocarlas por cdigo y desplegarlas en la Image central, sta si con su propiedad visible = True. El segundo metodo, es tener las imgenes 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 imgenes en la misma carpeta del programa. En el primer metodo, las imgenes quedan DENTRO del programa.

Cuaderno de Trabajo Visual Basic .NET II

Pgina 43

La sucesin de imgenes la realiza un control Timer asociado a un contador , cada imagen se relaciona con un texto que desplegamos en una Label colocada debajo de la imagen central. Al llegar el contador a 12 se detiene la sucesin. El boton Reiniciar nos posibilita volver a comenzar sin salir de la aplicacin, para esto inicializa la variable A = 0 y pone el Timer nuevamente en funcionamiento. Control picturebox picturebox label button button Nombre Propiedades

El cdigo de los principales procedimientos es el siguiente:


Public Class Form1 Dim a As Integer Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick

Cuaderno de Trabajo Visual Basic .NET II

Pgina 44

a = a + 1 If a = 2 Then PictureBox2.Image = Image.FromFile("Torerito_JPG002.jpg") Label1.Text = " Y los tirantes despus..." ElseIf a = 3 Then PictureBox2.Image = Image.FromFile("Torerito_JPG003.jpg") Label1.Text = " enseguida la corbata..." ElseIf a = 4 Then PictureBox2.Image = Image.FromFile("Torerito_JPG004.jpg") Label1.Text = " enseguida la corbata..." ElseIf a = 5 Then PictureBox2.Image = Image.FromFile("Torerito_JPG005.jpg") Label1.Text = "Y una faja de chip..." ElseIf a = 6 Then PictureBox2.Image = Image.FromFile("Torerito_JPG006.jpg") Label1.Text = "El chaleco hay que ensancharlo..." ElseIf a = 7 Then PictureBox2.Image = Image.FromFile("Torerito_JPG007.jpg") Label1.Text = "la chaquetilla est bien..." ElseIf a = 8 Then PictureBox2.Image = Image.FromFile("Torerito_JPG008.jpg") Label1.Text = "Una cinta desatada..." ElseIf a = 9 Then Label1.Text = "Un beso ardiente... dos... tres..." PictureBox2.Image = Image.FromFile("Torerito_JPG009.jpg") ElseIf a = 10 Then PictureBox2.Image = Image.FromFile("Torerito_JPG010.jpg") Label1.Text = " Mezcla de llanto y de juego y un rezo de ella por l..." ElseIf a = 11 Then PictureBox2.Image = Image.FromFile("Torerito_JPG011.jpg") Label1.Text = "Dios mo que vuelva zano! Si l muere, muero tambin!" ElseIf a = 12 Then 'Label4.Visible = True Timer1.Enabled = False End If End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Timer1.Enabled = True a = 0 Label1.Text = "Lo primero es la coleta..."

End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click End End Sub End Class

Cuaderno de Trabajo Visual Basic .NET II

Pgina 45

*NOTA: El timer por defecto esta desactivado, hay que activarlo. El intervalo del timer debe ser puesto a 3000 (3 segundos) entre cada imagen.

Actividad de Aprendizaje 26 Cubos

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 ms pequeos. Usamos tres controles Picture cargando en cada uno de ellos un icono que les guste. Control picturebox picturebox picturebox Nombre Propiedades

el siguiente cdigo:
Cuaderno de Trabajo Visual Basic .NET II Pgina 46

Public Class Form1 Private btnDown As Boolean Private offsetX As Integer Private offsetY As Integer Private btn2Down As Boolean Private x2, y2 As Integer Private btn3Down As Boolean Private x3, y3 As Integer Dim origen As Integer

Private Sub PictureBox1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PictureBox1.MouseDown ' el boton izquierdo esta pulsado If (e.Button = MouseButtons.Left) Then btnDown = True offsetX = e.X offsetY = e.Y End If End Sub Private Sub PictureBox1_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PictureBox1.MouseMove If btnDown = True Then '// mover el pictureBox con el raton PictureBox1.Left += e.X - offsetX PictureBox1.Top += e.Y - offsetY End If End Sub Private Sub PictureBox1_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PictureBox1.MouseUp '// el boton izquierdo se libera If e.Button = MouseButtons.Left Then btnDown = False End If End Sub Private Sub PictureBox2_DragDrop(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles PictureBox2.DragDrop PictureBox2.Left += e.X - x2 PictureBox2.Top += e.Y - y2 End Sub Private Sub PictureBox2_DragOver(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles PictureBox2.DragOver PictureBox2.Left += e.X - x2 PictureBox2.Top += e.Y - y2 End Sub

Private Sub PictureBox2_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PictureBox2.MouseDown PictureBox2.DoDragDrop(PictureBox2, DragDropEffects.Move)

Cuaderno de Trabajo Visual Basic .NET II

Pgina 47

x2 = PictureBox2.Location.X y2 = PictureBox2.Location.Y End Sub End Class

Cuaderno de Trabajo Visual Basic .NET II

Pgina 48

RETOS
Las siguientes actividades son retos para los alumnos y que desarrollen sus habilidades como programadores, aplicando lo que han aprendido en clase sobre los comandos de VB.NET ,asi como la logica de la programacion. Algunos de los retos, contendran un poco de codigo a manera de guia sobre lo que se desea realizar, otros mostraran solo alguna imagen final de cmo debe quedar la aplicacin final.

Cuaderno de Trabajo Visual Basic .NET II

Pgina 49

RETO 1 Diagnostico de RED LAN

El reto de esta aplicacin es determinar: 1) Si la computadora donde se ejecuta el programa esta conectado a una red 2) Si la computadora donde se ejecuta el programa esta conectado a Internet 3) Checar todas las computadoras de una RED LAN. Como ejemplo, para el caso numero 1, tendremos:
If My.Computer.Network.IsAvailable = True Then MsgBox("Estas conectado a una red") Else MsgBox("No estas conectado a una red") End If

Cuaderno de Trabajo Visual Basic .NET II

Pgina 50

Y para el caso numero 2:


If My.Computer.Network.Ping("www.google.com") = True Then MsgBox("Tienes conexion a Internet") Else MsgBox("No puedes conectarte a Internet" + Chr(13) + "Revisa tu modem") End If

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 comunicacin. 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. En fin, las posibilidades son muchas.

NOTA TIP : En Internet hay una aplicacin para conocer todas las ips de una red Lan de manera automatica. Hay que buscar en google para ver el codigo fuente de dicha aplicacin, modificarlo y adaptarlo a sus necesidades.

Cuaderno de Trabajo Visual Basic .NET II

Pgina 51

RETO 2 Informacion de Sistema de una PC


Este reto, pretende crear una aplicacin 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 imgenes o iconos de acompaamiento ). Ejemplo de esta informacion:
Inicializar varias variables para que sea mas descriptivo Dim Dim Dim Dim nombreEquipo, MemoriaFisicaDisp, MemoriaVirtualDisp As String sistemaoperativo, sistemaoperativoversion, memoriafisica, memoriavirtual As String mouseruedita As Boolean horaloca, directoriodocs As String

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

Cuaderno de Trabajo Visual Basic .NET II

Pgina 52

You might also like