Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Net
INDICE
TEMA 1 .............................................................................................................................................................. 4 Qu es la Plataforma .NET? ......................................................................................................................... 5 Qu es el .NET Framework?......................................................................................................................... 5 Visual Basic .NET ............................................................................................................................................ 6 Crear un Proyecto .......................................................................................................................................... 6 Qu es un Formulario? ................................................................................................................................ 6 Ventana de Cdigo ........................................................................................................................................ 6 Barra de Herramientas .................................................................................................................................. 7 Propiedades ................................................................................................................................................... 8 Mtodos ...................................................................................................................................................... 10 Controles ..................................................................................................................................................... 11 Ejercicio Practico N1. ................................................................................................................................. 13 Resolver: ...................................................................................................................................................... 14 TEMA 2 ............................................................................................................................................................ 16 Tipo de Datos ............................................................................................................................................... 17 Variables ...................................................................................................................................................... 18 mbito de una Variable ............................................................................................................................... 19 Ejercicio Prctico N1: ................................................................................................................................. 21 Variables Estticas ....................................................................................................................................... 21 Variables vs. Constantes .............................................................................................................................. 22 Convertir Tipos de Datos ............................................................................................................................. 23 Ejercicios ...................................................................................................................................................... 24 TEMA 3 ............................................................................................................................................................ 28 FUNCIONES TIPO CADENA ........................................................................................................................... 29 Format ......................................................................................................................................................... 31 TEMA 4 ............................................................................................................................................................ 38 Cmo Utilizar Operadores Aritmticos ....................................................................................................... 39 Cmo Utilizar Operadores de Comparacin................................................................................................ 40 Cmo Utilizar los Operadores Lgicos ......................................................................................................... 40 Uso de Estructuras de Decisin ................................................................................................................... 41
Pag. 1 de 125
Pag. 2 de 125
Pag. 3 de 125
TEMA 1
Qu es la plataforma Microsoft .NET? Qu es el .NET Framework?
Pag. 4 de 125
Introduccin
Qu es la Plataforma .NET?
La plataforma .NET proporciona la base de la siguiente generacin de software que permite conectar sistemas, informacin, dispositivos y usuarios distintos de un modo ms unificado y personalizado. Incorpora servicios Web XML como el medio para permitir la interoperabilidad entre tecnologas diferentes. Visual Basic .NET usa una jerarqua de clases que estn incluidas en el .NET Framework, por tanto conocer el .NET Framework nos ayudar a conocer al propio Visual Basic .NET.
Qu es el .NET Framework?
"El .NET Framework es un entorno multi-lenguaje para la construccin, distribucin y ejecucin de Servicios Webs y aplicaciones." El .NET Framework es el corazn de .NET, cualquier cosa que queramos hacer en cualquier lenguaje .NET debe pasar por el filtro cualquiera de las partes integrantes del .NET Framework. El .NET Framework tiene dos componentes principales: el Common Lenguaje Runtime y la biblioteca de clases. Biblioteca de Clases: La biblioteca de clases es una coleccin completa orientada a objetos de clases reutilizables y organizadas en espacios de nombres jerrquicos en base a su funcionalidad. Podemos utilizar la biblioteca de clases para desarrollar aplicaciones que abarcan desde las aplicaciones clientes tradicionales hasta las aplicaciones basadas en las ltimas innovaciones proporcionadas por ASP.NET y los servicios Web XML. Common Language Runtime: El Common Language Runtime es la base del .NET Framework. En el entorno .NET, los programadores desarrollan aplicaciones en el lenguaje compatible con .NET que elijan; el cdigo se compila en MSIL, y el entorno de ejecucin gestiona y ejecuta el cdigo compilado.
Pag. 5 de 125
Ventana de Diseo
Al crear una nueva solucin de Aplicacin para Windows, siempre nos aparecer la siguiente ventana. Como se darn cuenta ac el archivo siempre tendr un nombre de Form1, que es el primer formulario del proyecto.
Qu es un Formulario?
Es la ventana principal, porque sirve de fondo para los controles que se dibujan. en una aplicacin, como cajas de textos, etiquetas, botones, etc. Se podra decir que es un contenedor de controles y objetos.
Ventana de Cdigo
Esta ventana contendr todo el cdigo que realizara los diferentes eventos, procedimientos, instrucciones del formulario. Mayormente para activar esta ventana y aadir cualquier cdigo, siempre se tendr que hacer doble clic en el control deseado, o si no oprimir la tecla F7.
Caja de Herramientas
Pag. 6 de 125
Explorador de Soluciones
En esta ventana se encuentra el formulario, tambin vas a poder encontrar todos los tem que agregas de aqu en adelante, ya sean formularios, mdulos, clases, etc.
Barra de Herramientas
Esta barra contendr diversos botones que suelen facilitar al programador en el uso del programa.
Pag. 7 de 125
Pag. 8 de 125
Pag. 9 de 125
Eventos
Vamos a tocar los eventos ms utilizados, ya que existen una cierta cantidad considerables de eventos.
Pag. 10 de 125
Controles
Con el .NET Framework 2.0 tenemos una diversidad de control y objetos que podemos usar en nuestras aplicaciones, ahora veremos algunos controles que mas vamos a usar divididos en categoras.
Pag. 11 de 125
Pag. 12 de 125
BtnMensaj
2. En el evento click del boton BtnMensaje codificamos lo siguiente: Private Sub btnMensaje_Click MsgBox("Bienvenido a Visual Basic .Net " & Me.txtnombre.Text) End Sub Ejercicio Practico N2. 1. Disear el siguiente Formulario:
TxtTexto
btnColorText o btnColorFondo
2.- Luego codificamos lo siguiente en el evento click de los botones: Private Sub BtnColorTexto_Click Me.TxtTexto.ForeColor = Color.Blue End Sub Private Sub BtnColorFondo_Click Me.BackColor = Color.Red End Sub Ejercicio Practico N3. 1. Disear el siguiente Formulario:
Pag. 13 de 125
BtnNuev
2.- Luego codificamos lo siguiente en el evento click de los botones: Private Sub btnsuma_Click Me.txtres.Text = Val(Me.txt1.Text) + Val(Me.txt2.Text) End Sub Private Sub btnresta_Click Me.txtres.Text = Val(Me.txt1.Text) - Val(Me.txt2.Text) End Sub Private Sub btnmulti_Click Me.txtres.Text = Val(Me.txt1.Text) * Val(Me.txt2.Text) End Sub Private Sub btndividir_Click Me.txtres.Text = Val(Me.txt1.Text) / Val(Me.txt2.Text) End Sub Private Sub btnpotencia_Click Me.txtres.Text = Val(Me.txt1.Text) ^ Val(Me.txt2.Text) End Sub Private Sub btnnuevo_Click Me.txt1.Clear() Me.txt2.Clear() Me.txtres.Clear() Me.txt1.Focus() End Sub
Resolver:
1.- Crear una aplicacin en la cual me permita realizar la siguiente ecuacion: y= 5x2+2x+2 10
Pag. 14 de 125
Pag. 15 de 125
TEMA 2
Introduccin a los Tipos de Datos Qu son las Variables? mbito de las Variables Convertir Tipos de Datos
Pag. 16 de 125
La ilustracin anterior lista algunos de los tipos ms utilizados en Visual Basic .NET. El trmino con signo significa que los nmeros pueden ser positivos o negativos, como en +48 o -48.
Pag. 17 de 125
Variables
Pag. 18 de 125
Sintaxis Para asignar un valor a una variable, utilice el operador de asignacin (=), como se muestra en la siguiente expresin: NombreVariable = Valor El valor del lado derecho de la expresin se asigna a la variable del lado izquierdo de la expresin.
Asignar un Valor despus de Declararla Puede asignar valores a variables despus de declararlas, como se muestra en el siguiente ejemplo: Dim cumpleaos As Date Cumpleaos = #3/9/1974# Cuando creamos una variable con la instruccin Dim, Visual Basic inicializa automticamente las variables numricas a 0, las cadenas de texto a vacas ("") y las variables de fecha a 1 de enero de 0001. Asignar Valores mientras la Declaras Tambin puede asignar un valor a una variable mientras la declara, como se muestra en los siguientes ejemplos: Dim cumpleaos As Date = #3/9/1974# Dim goodNews As String = "Su cheque est en el correo." Dim testCondition As Boolean = True
Nota: Los valores de fecha (Date) deben estar encerrados entre almohadillas (##), y los valores de cadena (String) deben estar encerrados entre comillas ("").
Pag. 19 de 125
Pag. 20 de 125
2.- Luego codificamos lo siguiente Imports System.Drawing.Image Public Class Form3 Dim ruta As String = "Aqui pondremos la ruta donde se encuentran las imgenes unido con un \" Private Sub btnimagen1_Click Me.PictureBox1.Image = FromFile(ruta & "nombre de la imagen con su extension") End Sub End Class 3.- El codigo del evento click del boton BtnImagen1; es el mismo para los otros botones pero con imgenes diferentes.
Variables Estticas
La vida de una variable local empieza cuando un procedimiento la invoca y acaba cuando el procedimiento finaliza. Cuando acaba la vida de una variable local, la instancia de la variable se destruye y su valor se pierde. En ocasiones, es posible que deseemos que la vida de una variable local sea ms larga que la vida del procedimiento. Por ejemplo, podemos desear que un procedimiento realice una accin especfica la primera vez que sea invocado y que no haga nada en las siguientes llamadas. Podemos declarar una variable esttica para conseguir esta funcionalidad. Definicin: Una variable esttica perdurar mientras la aplicacin siga ejecutndose. Las variables estticas siguen existiendo y conservan sus ltimos valores entre invocaciones al procedimiento en el que se han declarado. Sin embargo, el cdigo de otros procedimientos no puede acceder a ellas. Sintaxis: Para declarar una variable esttica local, utilizaremos la siguiente sintaxis: Static variableName As Type
Pag. 21 de 125
2.- Luego codificaremos lo siguiente dentro del botn btnincrementa (Evento Click) Dim a As Integer Static b As Integer a=a+1 b=b+1 lbla.Text = a lblb.Text = b
Las constantes almacenan valores que, como su nombre indica, permanecen constantes durante la ejecucin de una aplicacin. Algunas ventajas de utilizar constantes son: Ejercicio Prctico N3: Hacen que el cdigo sea ms fcil de leer. Utilizan menos memoria que las variables. Hacen que los cambios a nivel de aplicacin sean ms fciles de implementar.
Pag. 22 de 125
2. Luego codificaremos lo siguiente, declaramos para todo el formulario las siguientes variables. Dim circunferencia, radio as Double Const Pi as Double = 3.1415 3. Luego codificar el siguiente cdigo dentro del evento clic del botn btncalcular. Radio=txtradio.text Circunferencia= 2 * Pi * radio Txtcircun.text=circunferencia
Pag. 23 de 125
Ejercicios
TxtNom TxtA TxtNiv TxtGra TxtCur TxtFin TxtN1 btnReporte Enabled=False TxtPar
2.- Luego agregaremos un Modulo. 3.- Iremos al Men Proyecto /Agregar Modulo. Pag. 24 de 125
LblMensaje
BtnMostrar
BtnVolver
7.- En el formulario FrmReporte codificaremos lo siguiente Private Sub btnmostrar_Click Me.lblmensaje.Text = "El Alumno:" & nom.ToString & vbCrLf _ & "Con Edad:" & edad.ToString & vbCrLf _ & "Nivel:" & niv.ToString & vbCrLf _ & "Grado:" & grad.ToString & vbCrLf _ & "En el Curso de " & cur.ToString & " tiene un promedio de " & prom.ToString End Sub Private Sub btnvolver_Click Form1.Show() Me.Hide() End Sub
8.- Por ultimo probaremos la aplicacin y quedara de la siguiente manera Pag. 26 de 125
Ejercicios Propuestos
Ejercicio N1 1.- Calcular el inters, su primera cuota de pago y el monto total a pagar de un prstamo. Utilizando variables y constante.
Ejercicio N2 1.- Realizar una pequea aplicacin de pagos de trabajadores. Utilizando variables.
Pag. 27 de 125
TEMA 3
Funciones Left, Rigth, Len, Trim, etc
Uso de FormatDateTime.
Pag. 28 de 125
Pag. 29 de 125
4. Luego codificaremos lo siguiente dentro del botn btnSalir (Evento Click) Me.Close()
Pag. 30 de 125
Su sintaxis sera la siguiente: Format(Variable,.Formato.) Ejemplo: Dim Numero As Double Numero = 100000/3 Me.Label1.Text = Format(Numero, "###,##0.00") Y lo que nos mostrara el Label en la pantalla seria lo siguiente Rpta.- 33,333.33
Pag. 31 de 125
2.- Luego codificaremos lo siguiente Private Sub btnfecactual_Click Me.txtfecha.Text = Format(Now(), "dd/MM/yy") End Sub Private Sub btnhora_Click Me.txthora.Text = Format(Now(), "hh:mm:ss tt") End Sub Pag. 32 de 125
Ejercicios
Ejercicio 1
1. En esta aplicacin se debe de ingresar el nombre del un producto, su precio unitario y la cantidad comprada de dicho producto, luego se debe calcular y visualizar el sub Total, el descuento en porcentaje, el descuento en soles y el total a pagar. El descuento en porcentaje se depende del sub total, de acuerdo a la siguiente tabla.
Pag. 33 de 125
3. Digitar el siguiente cdigo dentro del botn btnNuevo (Evento Click) txtCantComp.Text = "" txtPrecUnit.Text = "" txtProducto.Text = "" lblDescP.Text = "" lblDescS.Text = "" lblSubTotal.Text = "" lblTotal.Text = "" txtProducto.Focus() btnSalir (Evento Click) Me.Close()
Ejercicio 2
1. En este programa se debe de ingresar el nombre del alumno, su nota nmero 1 y su nota nmero 2, al hacer clic en el botn obtener promedio se debe de visualizar: el promedio del alumno, una observacin que indica si el alumno esta aprobado o desaprobado, la cantidad de puntos que le faltan para aprobar, si esta desaprobado o los puntos para llegar a veinte en caso que este aprobado. 2. Tambin se debe visualizar la nota cualitativa del alumno de acuerdo al promedio. Se debe de controlar que solo se ingresen notas entre 0 y 20.
Pag. 34 de 125
4. Digitar el siguiente cdigo dentro del botn btnObtener (Evento Click) lblPromedio.Text = CStr((Val(txtN1.Text) + Val(txtN2.Text)) / 2) If Val(lblPromedio.Text) >= 10.5 Then lblObservacin.Text = "Aprobado(a)" lblPuntos.Text = "Le faltan " + CStr(20 - Val(lblPromedio.Text)) + " puntos para tener 20" Else lblObservacin.Text = "Desaprobado(a)" lblPuntos.Text = "Le faltan " + CStr(11 - Val(lblPromedio.Text)) + " puntos para aprobar" End If Select Case Val(lblPromedio.Text) Case 0 To 5 : lblCualidad.Text = "Psimo" Case 5.1 To 10.4 : lblCualidad.Text = "Malo" Case 10.5 To 14.4 : lblCualidad.Text = "Regular" Case 14.5 To 17.4 : lblCualidad.Text = "Bueno" Case 17.5 To 20 : lblCualidad.Text = "Excelente"
Pag. 35 de 125
Pag. 36 de 125
Pag. 37 de 125
Pag. 39 de 125
Pag. 40 de 125
Pag. 41 de 125
Pag. 42 de 125
If condition Then statements ElseIf condition2 Then statements Else statements End If
Pag. 43 de 125
Ejercicio Prctico N1
1. Disear el siguiente formulario
TxtUsu TxtPas
Btningresa
BtnSali
2. Declarar para todo el formulario las siguientes variables. Dim usu, contra As String Dim num As Integer 3. Digitar el siguiente codigo dentro del control txtpas evento (TextChanged). usu = Me.txtusu.Text contra = Me.txtpas.Text If usu = "Carlos" And contra = "123" Then Me.btningresar.Enabled = True Me.btningresar.Focus() num = 1 ElseIf usu = "Sunheri" And contra = "456" Then Me.btningresar.Enabled = True Me.btningresar.Focus() num = 2
Pag. 44 de 125
Ejercicio Prctico N2
1. Disear el siguiente formulario
TxtNombre
TxtFecNac
BtnOk Lbldiain
lblmesin
BtnSali
lblaoin lbldiase Lblfecac 2. Digitar el siguiente cdigo dentro del evento Load del formulario.
Lblfecin
Pag. 45 de 125
If MsgBox("Desea salir del programa?", MsgBoxStyle.Question.YesNo, "Funciones Tipo fecha") = MsgBoxResult.Yes Then Me.Close()
4. Digitar el siguiente cdigo dentro del control btnOk evento(Click).
Dim fecha As Date Dim nmes, diasemana As String Dim dia, mes, ao, ndia As Integer If IsDate(txtfecnac.Text) = False Then MsgBox("Debe de ingresar un fecha vlida, como se muestra en el ejemplo", MsgBoxStyle.Information, "Funciones Tipo Fecha") txtfecnac.Text = "" txtfecnac.Focus() Exit Sub End If fecha = CDate(txtfecnac.Text) dia = Microsoft.VisualBasic.Day(fecha) mes = Microsoft.VisualBasic.Month(fecha) ao = Year(fecha) ndia = Weekday(fecha) lbldiaing.Text = dia.ToString lblmesing.Text = mes.ToString lblanioing.Text = ao.ToString Select Case ndia Case 1 : diasemana = "Domingo" Case 2 : diasemana = "Lunes" Case 3 : diasemana = "Martes"
Case 4 : diasemana = "Miercoles" Case 5 : diasemana = "Jueves" Case 6 : diasemana = "Viernes" Case 7 : diasemana = "Sbado" End Select lbldiasem.Text = diasemana Select Case mes Case 1 : nmes = "Enero" Case 2 : nmes = "Febrero" Case 3 : nmes = "Marzo" Case 4 : nmes = "Abril" Case 5 : nmes = "Mayo" Case 6 : nmes = "Junio" Case 7 : nmes = "Julio" Case 8 : nmes = "Agosto" Case 9 : nmes = "Septiembre" Case 10 : nmes = "Octubre" Case 11 : nmes = "Noviembre" Case 12 : nmes = "Diciembre" End Select lblfecing.Text = diasemana + ", " + dia.ToString + " de " + nmes + " de " + ao.ToString
Pag. 46 de 125
Pag. 47 de 125
TEMA 5
Como Utilizar el ListBox y ComboBox Propiedades ms utilizadas Ejemplos prcticos
Pag. 48 de 125
Estos dos controles (ListBox y ComboBox) se parecen mucho, tanto en sus propiedades como en eventos, ya sea aadiendo elementos, eliminndolos, obteniendo el elementos seleccionado, etc. Hay dos formas de ingresar los elementos en estos controles, ya sea mediante un editor (en modo de diseo), o mediante cdigo (en tiempo de ejecucin). Instrucciones ms utilizadas para los dos controles. Para aadir un elemento ListBox1.Items.Add(Cadena de Texto) ComboBox1.Items.Add(Cadena de Texto) Para eliminar un elemento ListBox1.Items.Remove(Numero del Elemento a Eliminar) ComboBox1.Items.Remove(Numero del Elemento a Eliminar)
Pag. 49 de 125
Ejercicio Practico N1
1. Disear el siguiente formulario
TxtNo m
LstNombre s
Pag. 50 de 125
LblTotal
Pag. 51 de 125
txtcurso
btnaadi
Btnsalir 2. Digitar el siguiente cdigo dentro del control btnAadir evento(Click). lstcurso.Items.Add(txtcurso.Text) txtcurso.Text = "" txtcurso.Focus() 3. Digitar el siguiente cdigo dentro del control btnAgregar1 evento(Click). If lstcurso.SelectedIndex <> -1 Then lstcurso2.Items.Add(lstcurso.Text) lstcurso.Items.RemoveAt(lstcurso.SelectedIndex) End If 4. Digitar el siguiente cdigo dentro del control btnAgregar2 evento(Click). Dim i As Integer
Pag. 52 de 125
Pag. 53 de 125
Pag. 54 de 125
TEMA 6
Cmo utilizar instrucciones ForNext Cmo utilizar instrucciones For EachNext
Pag. 55 de 125
Bucles
Es probable que necesite frecuentemente repetir la ejecucin de un bloque de cdigo hasta que se cumpla una determinada condicin en los programas que desarrolle. Para repetir la ejecucin de un bloque de cdigo en Visual Basic .NET, es conveniente utilizar estructuras de bucle condicionales. Esta leccin describe cmo utilizar bucles condicionales para decidir si ejecutar o no cdigo y cundo hacerlo. Esta leccin tambin describe cmo decidir el uso de una instruccin Exit para salir de un bucle.
For counter = start To end [Step step] [statements] [Exit For] Next [counter]
En el siguiente ejemplo, se utiliza una instruccin ForNext para recorrer el contenido de una pequea matriz. Se utiliza un cuadro de mensaje para mostrar cada nombre en pantalla. Los nombres se muestran otra vez, pero en orden inverso. Dim NamePos as Integer Dim Names(4) As String Names(0) = "Bob" Names(1) = "Tina" Names(2) = "Robert" Names(3) = "George" Names(4) = "Greg" For NamePos = 0 to 4 MessageBox.Show(Names(NamePos)) Next ' En reversa
Pag. 56 de 125
Ejercicio Practico N1
1. Disear el siguiente formulario
ListBox ListBox
TxtNu
ListBox
BtnCalcula BtnLimpia
2. Digitar el siguiente cdigo dentro del control btnCalcular evento(Click). Dim n, s, r As Integer n = Val(Me.txtnum.Text) For s = 1 To 12 Me.ListBox2.Items.Add(s & " =") Next For r = 1 To 12
Pag. 57 de 125
btnLimpia
2. Digitar el siguiente cdigo dentro del control btnLimpiar evento(Click). Dim con As Control For Each con In Me.Controls If TypeOf con Is TextBox Then con.Text = "" If TypeOf con Is GroupBox Then Dim con2 As Control For Each con2 In con.Controls If TypeOf con2 Is TextBox Then con2.Text = "" Next End If Next End Sub
Pag. 58 de 125
BtnWhil BtnUntil
2. Digitar el siguiente cdigo dentro del control btnWhile evento (Click). Dim entrada as String entrada = "" DO WHILE (entrada <> "diego") entrada = inputbox ("Dime el nombre del autor","seguridad","diego",2,3) if (entrada = "out") then msgbox ("salgo por la puerta de atras") exit do end if LOOP El siguiente ejemplo realiza una cuenta y entre cuenta y cuenta se muestra el valor de la cuenta actual en una ventanita donde sale un botn de Reintentar y otro de Cancelar. Si se pulsa reintentar se sigue ejecutando el bucle y si se pulsa Cancelar se sale por la puerta de atrs, de manera similar a como se sala en el ejemplo anterior, con EXIT DO.
Pag. 59 de 125
2.- Crear una Estructura con Tres Campos: Codigo, Nombre, Nota. Luego almacenar 3 valores a cada campos y que se me muestre en un mensaje al dar clic en el botn Recorrer la Estructura.
Pag. 60 de 125
Pag. 61 de 125
TEMA 7
Qu es una matriz? Cmo declarar una matriz unidimensional
Arreglos
Arrays
Una de las formas en las que podemos agrupar varios datos es mediante los arrays (o matrices). Usando un array, podemos acceder a cualquiera de los valores que tenemos almacenado mediante un ndice numrico. Por ejemplo, si tenemos la variable discografa y queremos acceder al tercer disco, podramos hacerlo de la siguiente forma: discografa (3). Sabiendo esto, podemos comprobar que sera fcil recorrer el contenido de los arrays mediante un bucle For.
Pag. 63 de 125
Tambin podemos hacerlo de esta otra forma: Dim a As Integer() = {1, 42, 15, 90, 2}
Pag. 64 de 125
Pag. 65 de 125
Pag. 66 de 125
LstNombres
2. Declarar la siguiente variable para todo el formulario. Dim nombres(0) As String 3. Digitar el siguiente cdigo dentro del control btnAgregar evento(Click). If Me.txtnombre.Text.Trim <> "" Then nombres(UBound(nombres)) = Me.txtnombre.Text ReDim Preserve nombres(UBound(nombres) + 1) MsgBox("Guardado ...!", MsgBoxStyle.Information, "Arreglos") Me.txtnombre.Clear() Me.txtnombre.Focus() Else MsgBox("Por Favor Ingrese un Nombre", MsgBoxStyle.Information, "Arreglos") Me.txtnombre.Clear() Me.txtnombre.Focus() End If 4. Digitar el siguiente cdigo dentro del control btnMostrar evento(Click). Dim x As Integer For x = 0 To UBound(nombres) - 1
Pag. 67 de 125
Estructuras
Podemos combinar elementos de datos de distintos tipos para crear una combinacin de tipos de datos nica denominada estructura. Las estructuras resultan tiles cuando deseamos que una nica variable guarde varias piezas de informacin relacionadas. Despus de declarar una estructura, podemos declarar variables de ese tipo. Definicin.-Una estructura es una combinacin de tipos de datos que se crea combinando otros tipos de datos. Las estructuras son de tipo valor (es decir, una variable de tipo estructura contiene los datos de la estructura, en lugar de una referencia a los datos como hace el tipo referencia). Las estructuras pueden tener datos, propiedades, mtodos y procedimientos y pueden invocar y manipular eventos. Ejemplo El uso ms simple y habitual de las estructuras es encapsular variables relacionadas, creando un tipo de datos definido por el usuario. Por ejemplo, es posible que deseemos guardar juntos el nombre, fecha de contratacin, cargo y salario de un empleado. Podramos utilizar varias variables para esta informacin, o podemos definir una estructura y utilizarla como la variable de un nico empleado. La ventaja de la estructura se hace patente cuando tiene muchos empleados y, por tanto, muchas instancias de la variable. El siguiente ejemplo muestra una estructura Employee simple: Public Structure Employee Public FirstName As String Public LastName As String Public HireDate As Date Public JobTitle As String Private Salary As Decimal End Structure Cmo Declarar Estructuras
Pag. 68 de 125
Ejercicio Practico N2 1. Agregar un Modulo a la aplicacin y escribir el siguiente cdigo. Module Module1 'Declaramos la estructura Public Structure DatosAlumnos Public codigo As Integer Public nombre As String Public curso As String Public promedio As Integer End Structure 'Declaramos un arrays que me almacenen los valores Public alumnos(0) As DatosAlumnos End Module 2. Luego disear el siguiente formulario txtnombre
txtcurso txtpromedi
btnagrega
btnconsultar
Pag. 69 de 125
Pag. 70 de 125
Ejercicios de Arrays
Ejercicio 1
1. Esta aplicacin nos permite ingresar un nmero del 1 al 7 y visualizar el nombre del da de la semana.
2. Para esta aplicacin los nombres de los controles son los siguientes: El TextBox1 se llamara txtNumero El Label2 se llamara lblNombDia El Button1 se llamara btnOk El Button2 se llamara btnSalir
3. Declaramos variables a Nivel del Formulario. Dim Dias (6) As String Pag. 71 de 125
Dias(0) = "Lunes" Dias(1) = "Martes" Dias(2) = "Mircoles" Dias(3) = "Jueves" Dias(4) = "Viernes" Dias(5) = "Sbado" Dias(6) = "Domingo"
5. Digitar el siguiente cdigo dentro del control btnOK evento(Click).
Dim N As Integer N = Val(txtNumero.Text) If N >= 1 And N <= 7 Then lblNombDia.Text = "El nmero ingresado representa el da " + CStr(Dias(N -1)) Else MsgBox("Solo nmeros del 1 al 7", MsgBoxStyle.Information, "Por Favor") txtNumero.Text = "" txtNumero.Focus() End If
6. Digitar el siguiente cdigo dentro del control btnSalir evento(Click).
Me.Close()
Ejercicio 2
1. Desarrollar una aplicacin que permita realizar consultas de una serie de cursos que aparecern en un control ListBox. El usuario debe seleccionar un curso y se debe de presentar los horarios del laboratorio y de teora asi como los syllabus de los cursos. Lbl1
txtla lstcursos
txtte
Pag. 72 de 125
Resolver
Desarrollar una aplicacin en la que seleccione un producto en un ListBox, y me salga el precio, stock, categora y Fecha de vencimiento como informacin del producto, pero esa informacin se visualice en un mensaje.
Pag. 73 de 125
Pag. 74 de 125
TEMA 8
Cmo utilizar Sentencia Rnd() Cmo utilizar Procedimiento Sub y Function
Pag. 75 de 125
Sentencia RND ()
Visual Basic.Net nos provee la Sentencia Rnd() la cual nos genera un valor aleatoriamente (random) entre 0.0 y 1.0 Private Sub BtnAleatorio_Click
TxtAl BtnAleatorio
Note que cada vez que da clic al botn se genera un nmero aleatorio(random) y se muestra en la caja de texto, pero cierre el programa y ejectelo de nuevo, notar que siempre da la misma secuencia de nmeros, es por ello que a estos nmeros se les llama pseudo-aleatorios. Si requiere obtener un nmero entero a partir del nmero generado, en vez de la fraccin, entonces multiplquelo por 10 y despus redondelo utilizando la funcin de redondeo de la clase Math.
TxtAl BtnAleatorio
Private Sub BtnAleatorio_Click Me.txtale.Text = Rnd() Me.txtale.Text = Math.Round(Me.txtale.Text * 100) End Sub
Randomize
La funcin Rnd crea siempre la misma secuencia de nmeros aleatorios, para crear un autntico nmero aleatorio utilice el mtodo Randomize la cual utiliza el reloj de la PC para crear un punto de inicio aleatorio el cual ser utilizado despus por la funcin Rnd().
TxtAl BtnAleatorio
Pag. 76 de 125
Rango
Si deseamos que nuestro valor circule dentro de un rango de nmeros determinados podemos hacer lo siguiente:
TxtIni BtnAleatori
TxtLi TxtAl
Dim num As Double Private Sub btnaleatorio_Click Randomize() num = Rnd() num = Math.Round(num * 100) If num >= CInt(Me.txtini.Text) And num <= CInt(Me.txtlim.Text) Then Me.txtale.Text = num End If End Sub
Pag. 77 de 125
Procedimientos Sub
Un procedimiento Sub ejecuta acciones, pero no devuelve ningn valor. Puede tomar argumentos, como constantes, variables o expresiones, que le pasa el cdigo de llamda. La sintaxis para declarar un procedimiento Sub es la siguiente: Declarcin: [ Public | Private | Friend ] Sub <Nombre Subrutina> ([Lista de Parmetros]) <Sentencias> [Exit Sub] End Sub
Procedmientos Function
Un procedimiento Function consiste en una serie de instrucciones de Visual Basic delimitadas por las instrucciones Function y End Function. Cada vez que se llama a un procedimiento de este tipo, se ejecutan las instrucciones de ste, desde la primera instruccin ejecutable. La sintaxis para declarar un procedimiento Function es la siguiente: [ Public | Private | Friend ] Function <Nombre Funcin> ([Lista de Parmetros]) As <Tipo de Dato> <Sentencias> [Exit Function] End Function Ejercicio Practico N1 1.- Agregar una clase la cual se llamara CLSOPERACIONES Public Class clsoperaciones Public Function promedio(ByVal nota1 As Short, ByVal nota2 As Short, ByVal nota3 As Short) As Short promedio = (nota1 + nota2 + nota3) / 3 End Function Public Function parimpar(ByVal numero As Integer) As String If numero Mod 2 = 0 Then parimpar = "Es par" Else parimpar = "Impar" End If Pag. 78 de 125
El Control Timer
El control Timer es un temporizador que nos permite ejecutar instrucciones de cdigo, rutinas,
funciones etc..., cada cierto intervalo de tiempo, es decir el tiempo que nosotros le establezcamos. El control Timer es un control que es invisible en tiempo de ejecucin, esto quiere decir que no tiene interfaz grfica, solo es visible cuando lo agregamos a un formulario y estamos en modo de diseo , pero en modo de ejecucin este funcionar como tal pero no estar visible en el formulario. La propiedad mas importante de este control es la propiedad Interval Esta propiedad es la que determina el intervalo en el que ejecutar las instrucciones que estn en el
evento llamado Timer
El Evento Timer es el nico evento que posee este control Antes de hacer un ejemplo, hay que aclarar que la propiedad Interval est expresada en milisegundos, esto quiere decir que por ejemplo si quiero ejecutar una instruccin cada 3 segundos por decir un ejemplo, la propiedad Interval debe estar en 3000, si quisiera ejecutarla cada 10 segundos en 10000 etc... Propiedades Enabled: Obtiene o establece si el temporizador esta funcionando. Interval: Obtiene o establece el tiempo, en milisegundos, entre los pasos de temporizador. Pag. 79 de 125
Pc2 Pc1
Pc3
Label
Agregar tambin un Control Timer de su cuadro de herramientas. Y en su propiedad Interval=1000 Y Enabled=False Private Sub Timer1_Tick Static sw As Integer If sw = 0 Then pc1.Visible = True pc2.Visible = False pc3.Visible = False sw = 1 Else If sw = 1 Then pc1.Visible = False pc2.Visible = True pc3.Visible = False sw = 2 Else Pag. 80 de 125 Private Sub Form2_Load Timer1.Enabled = True End Sub If sw = 2 Then pc1.Visible = False pc2.Visible = False pc3.Visible = True sw = 0 End If End If End If End Sub
Pag. 81 de 125
TEMA 9
Cmo utilizar RadioButton Cmo utilizar CheckBox
Pag. 82 de 125
RadioButton y CheckBox
CheckBox
Un control CheckBox muestra una Check cuando esta activado, el checked desaparece cuando esta desactivado. Utilice este control para ofrecer al usuario una opcin de tipo Verdadero o Falso o S o No. Puede utilizar controles CheckBox en grupos para mostrar mltiples opciones entre las cuales el usuario puede seleccionar una o ms.
Propiedades
Name: Generalmente usaremos el prefijo Chk. Appearance: Controla la apariencia del control, puede ser: Normal(como casilla) o Button(como botn de comando) AutoCheck: Cambia de estado cada vez que se da clic al botn. Checked: Indica si el checkbox ha sido seleccionado o no. CheckAlign : Controla la alineacin del checkbox. Hay 9 opciones. CheckState: Devuelve el estado del checkbox, puede ser: Unchecked(sin marcar), Checked(marcado), o Indeterminate(gris). ThreeState: Habilita o deshabilita el estado in determinado del checkbox cada vez que se da el tercer clic.
RadioButton
Un control OptionButtton muestra una opcin que se puede activar o desactivar El control OptionButton se utiliza en un grupo de opciones para mostrar opciones entre las cuales el usuario slo puede seleccionar una.
Propiedades
Name: Generalmente usaremos el prefijo Rbn. Appearance: Controla la apariencia del control, puede ser: Normal(como botn de opcin) o Button(como botn de comando). AutoCheck: Cambia de estado cada vez que se da clic al botn. CheckAlign: Controla la alineacin del botn. Hay 9 opciones. Checked: Indica si el botn ha sido seleccionado o no.
Pag. 83 de 125
chkcursiva.Checked = True Then lblTexto.Font FontStyle.Underline) ElseIf chknegrita.Checked = True AndAlso chksubrayado.Checked = True Then lblTexto.Font = New Font(lblTexto.Font, FontStyle.Bold + FontStyle.Underline) ElseIf chknegrita.Checked = True AndAlso chkcursiva.Checked = True Then lblTexto.Font = New Font(lblTexto.Font, FontStyle.Bold + FontStyle.Italic) ElseIf chknegrita.Checked = False AndAlso chksubrayado.Checked = True AndAlso chkcursiva.Checked = True Then lblTexto.Font = New Font(lblTexto.Font, FontStyle.Underline + FontStyle.Italic) ElseIf chknegrita.Checked = False AndAlso chksubrayado.Checked = True Then lblTexto.Font = New Font(lblTexto.Font, FontStyle.Underline) ElseIf chknegrita.Checked = False AndAlso chkcursiva.Checked = True Then Pag. 84 de 125 = New Font(lblTexto.Font, FontStyle.Bold + FontStyle.Italic +
Private Sub Form1_Load cbocolor.Items.Add("Negro") cbocolor.Items.Add("Rojo") cbocolor.Items.Add("Azul") cbocolor.Items.Add("Verde") cbocolor.Items.Add("Rosado") cbocolor.Items.Add("Blanco") cbocolor.Items.Add("Amarillo") cbocolor.Items.Add("Anaranjado") cbocolor.SelectedIndex = 0 End Sub
Pag. 85 de 125
Private Sub cbocolor_SelectedIndexChanged Dim Index As Integer Index = cbocolor.SelectedIndex Select Case Index Case 0 : lblTexto.ForeColor = System.Drawing.Color.Black Case 1 : lblTexto.ForeColor = System.Drawing.Color.Red Case 2 : lblTexto.ForeColor = System.Drawing.Color.Blue Case 3 : lblTexto.ForeColor = System.Drawing.Color.Green Case 4 : lblTexto.ForeColor = System.Drawing.Color.Pink Case 5 : lblTexto.ForeColor = System.Drawing.Color.White Case 6 : lblTexto.ForeColor = System.Drawing.Color.Yellow Case 7 : lblTexto.ForeColor = System.Drawing.Color.Orange End Select End Sub
RbMaana
LstEdad
LstTurno
Pag. 86 de 125
Public Class Form2 Dim casado, turno, nombre As String Dim edad As Byte
edad = Me.UpEdad.Value nombre = Me.TxtNombre.Text.ToUpper If Me.ChkCasado.Checked = True Then casado = "Si" Else casado = "No" End If
If Me.RbMaana.Checked = True Then turno = "Maana" ElseIf Me.RbTarde.Checked = True Then turno = "Tarde" ElseIf Me.RbNoche.Checked = True Then turno = "Noche" End If
Pag. 87 de 125
RbCe
RbFa LblA
LblDe
LblRes TxtGrados
BtnConvertir
Private Sub btnconvertir_Click If Me.RbCe.Checked = False And Me.RbFa.Checked = False Then MsgBox("Seleccione el Tipo de Conversion", MsgBoxStyle.DefaultButton1) End If
Dim grados, r As Double grados = CInt(Me.txtgrados.Text) If Me.RbCe.Checked = True Then r = (grados * 9 / 5) + 32 Else r = (grados - 32) * 5 / 9 End If Me.lblresul.Text = r.ToString End Sub
Private Sub RbCe_CheckedChanged Me.lblDE.Text = "Grados C:" Me.lblA.Text = "Grados F:" Me.txtgrados.Clear() Me.lblresul.Text = "" End Sub Pag. 88 de 125
Private Sub RbFa_CheckedChanged Me.lblDE.Text = "Grados F:" Me.lblA.Text = "Grados C:" End Sub
Try...Catch
Cuando durante la ejecucin de un programa se produce un error que impide su continuacin, Visual Basic lanza una excepcin que hace que se visualice un mensaje acerca de lo ocurrido y se detenga la ejecucin. Cuando esto ocurra, si no deseamos que la ejecucin del programa se detenga, habr que utilizar Try para poner en alerta al programa acerca del codigo que puede lanzar una excepcin y utilizar Catch para capturar y manejar cada excepcin que se lance. Por ejemplo, el cdigo que se muestra a continuacin: Dentro de un Button escribimos Private Sub Button1_Click Dim dato1, dato2, dato3 As Integer dato1 = dato1 + 1 dato3 = dato1 / dato2 dato2 = dato2 + 1 End Sub La informacin dad por el mensaje anterior, adems del tipo de excepcin, especifica que ha ocurrido una divisin por cero en la lnea n Modifiquemos este cdigo con la intencin de capturar la excepcin lanzada. El resultado puede ser el siguiente: Private Sub Button1_Click Dim dato1, dato2, dato3 As Integer Try dato1 = dato1 + 1 Pag. 89 de 125
Pag. 90 de 125
Pag. 91 de 125
TEMA 10
Cmo utilizar OpenFileDialog Cmo utilizar SaveDialog
Pag. 92 de 125
Control OpenFileDialog
Este uno de los nuevos controles que se encuentra en esta nueva versin y no te preocupes, que son fciles de usar, primero familiarcese con la imagen del control, que es el siguiente.
Este control nos permite abrir mltiples tipos de archivos, ya sean de imgenes, sonido, texto, etc. para abrir cada tipo de archivo necesitar utilizar un *.ocx o un *.dll que pueda soportar esa extensin, ahora veremos su sintaxis de utilizacin: Sintaxis NombreDelControl.Filter() = .Tipo de Archivo (*.ExtensinDelArchivo)|*. ExtensinDelArchivo. Por ejemplo, para abrir archivos de solo texto. OpenFileDialog1.Filter () = "Archivos de Texto (*.txt)|*.txt"
Control SaveFileDialog
Este nuevo control nos permite guardar mltiples archivos, ya sean de imgenes, textos, etc. Este es el siguiente icono del archivo.
Sintaxis NombreDelControl.Filter() = .Tipo de Archivo (*.ExtensinDelArchivo)|*. ExtensinDelArchivo. Ejemplo, para guardar un archivo de imagen: SaveFileDialog1.Filter () = "Imgenes JPG (*.jpg)|*.jpg " SaveFileDialog1.Title = "Guarda la imagen como..." 'En Una Sola Lnea este cdigo PictureBox1.Image.Save (SaveFileDialog1.FileName, System.Drawing.Imaging.ImageFormat.Jpeg) Y listo esta imagen mostrada en un Picture Box se guardar en el lugar que le indiquemos, que fcil no?. Como se han dado cuenta para el filtro se utiliza igual la sintaxis del control anterior, la propiedad FileName del control SaveFileDialog1, tiene el nombre y la ruta del archivo a guardar y para decirle a la PC como que lo vamos a guardar, mejor dicho mediante que extensin lo guardamos, utilizamos el ImageFormat.Jpeg, que es la extensin de una imagen comprimida, si queremos BMP, seleccionaremos BMP en ImageFormat, as de sencillo. Pag. 93 de 125
Control FontDialog
Este nuevo control nos permite visualizar y cambiar el tipo de fuente de letra, tamao, estilo, su utilizacin es ms fcil que ponerse unas medias, su sintaxis es la siguiente:
Sintaxis NombreDelControl.ShowDialog() Por ejemplo para cambiar la fuente a un TextBox en tiempo de ejecucin. FontDialog1.ShowDialog () TextBox1.Font = FontDialog1.Font
Control ColorDialog
Este nuevo control nos permite visualizar y cambiar el color a varios controles, tambin es muy fcil de usar, su sintaxis es la siguiente:
Sintaxis NombreDelControl.ShowDialog() Por ejemplo para cambiar el color de la letra de un control TextBox en tiempo de ejecucin. ColorDialog1.ShowDialog () TextBox1.ForeColor = ColorDialog1.Color
Ejercicio Prctico 1
btnAbrir btnGuardar
PictureBox1
Pag. 94 de 125
Private Sub btnabrir_Click Me.OpenFileDialog1.Filter = "Archivo de Imagenes(*.jpg;*.bmp)|*.jpg;*.bmp" If Me.OpenFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then Me.PictureBox1.Image = New Bitmap(Me.OpenFileDialog1.OpenFile) Me.PictureBox1.SizeMode = PictureBoxSizeMode.StretchImage End If End Sub Private Sub btnguardar_Click Dim nombreimagen As String If Not Me.PictureBox1.Image Is Nothing Then Me.SaveFileDialog1.Filter = "Imagenes(*.jpg)|*.jpg|Mapa de Bits(*.bmp)|*.bmp" Me.SaveFileDialog1.Title = "Guardar Imagen Como..." If Me.SaveFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then nombreimagen = Me.SaveFileDialog1.FileName If (nombreimagen.EndsWith("jpg")) Then Me.PictureBox1.Image.Save(nombreimagen, System.Drawing.Imaging.ImageFormat.Jpeg) If (nombreimagen.EndsWith("bmp")) Then Me.PictureBox1.Image.Save(nombreimagen, System.Drawing.Imaging.ImageFormat.Bmp) End If End If End If End If End Sub Ejercicio Prctico N2
btnAbrir
RichTextBox1
btnGuardar
btnFuente btnColor
Pag. 95 de 125
Private Sub BtnAbrir_Click Me.OpenFileDialog1.Filter = "Documento de texto (*.txt)|*.txt" If Me.OpenFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then Me.RichTextBox1.LoadFile(Me.OpenFileDialog1.OpenFile, RichTextBoxStreamType.PlainText) Else Exit Sub End If End Sub Private Sub BtnGuardar_Click Dim nombretexto As String If Not Me.RichTextBox1.Text = "" Then Me.SaveFileDialog1.Filter = "Documento de Texto(*.txt)|*.txt" Me.SaveFileDialog1.Title = "Guardar Documento Como..." If Me.SaveFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then nombretexto = Me.SaveFileDialog1.FileName If (nombretexto.EndsWith("txt")) Then Me.RichTextBox1.SaveFile(nombretexto, RichTextBoxStreamType.PlainText) End If End If End If End Sub Private Sub BtnFuente_Click If Me.FontDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then Me.RichTextBox1.Font = Me.FontDialog1.Font End If End Sub Private Sub BtnColor_Click If Me.ColorDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then Me.RichTextBox1.ForeColor = Me.ColorDialog1.Color End If End Sub
Pag. 96 de 125
ProgressBar
Un objeto ProgressBar es una barra de progreso; esto es, un rectngulo de una longitud arbitraria, del cual, en un instante determinado, estar coloreado un tanto por ciento en funcin de la cantidad ya finalizada de un proceso por el que estamos esperando. Es una forma de indicar al usuario que una aplicacin no esta bloqueada, sino que esta realizando una tarea larga. La propiedades Maximum y Minimum definen el intervalo de valores que representaran el progreso de una tarea. Normalmente la propiedad Minimum se pone a valor cero y Maximun al valor que indica que la tarea ha terminado. La propiedad value representa el progreso que la aplicacin realiza para terminar la operacin. Esta propiedad se puede modificar directamente, o se puede utilizar la propiedad Step para especificar el valor con que se incrementara y, despus, llamar el mtodo PerformStep para incrementar ese valor, o se puede utilizar el mtodo increment. El mtodo Increment permite incrementar el valor de la propiedad Value una cantidad especfica; este mtodo es similar a utilizar la propiedad Step con el mtodo PerformStep. Ejercicio Prctico N1
lblprogres btnComenz Pb1 tkbavanc lblprogr
lblTotal
BtnSuma
Private Sub Timer1_Tick Me.pb1.Value = Me.pb1.Value + 1 Me.lblprogreso.Text = Me.pb1.Value & " %" If Me.pb1.Value = 100 Then Me.Timer1.Stop() End If End Sub Private Sub btncomenzar_Click Me.Timer1.Enabled = True End Sub Private Sub tkbavance_Scroll Pag. 97 de 125
Pag. 98 de 125
TEMA 11 1
Cmo utilizar MonthCalendar Cmo utilizar DateTimePicker
Pag. 99 de 125
El Control DateTimePicker
El control DateTimePicker permite seleccionar una fecha de manera conveniente. Cuando se accede a este objeto, muestra la fecha actual y, mediante flechas de desplazamiento que pertenecen al control, muestra calendarios que pueden recorrerse mes a mes y ao a ao. Efectuando un clic sobre un nmero de da, el control se cierra, pudindose extraer este dato a travs de la Propiedad Text o la Propiedad Value, para que se pueda utilizar a posteriori. Asimismo, la Propiedad Value puede extenderse para extraer solo partes del dato obtenido, es decir, solo el nmero del da, el nmero del mes o el nmero del ao, entre muchas otras funcionalidades.
MonthCalendar
El control MonthCalendar de formularios Windows Forms muestra una intuitiva interfaz grfica de usuario para que los usuarios vean y establezcan informacin relativa a fechas. El control muestra una cuadrcula que contiene los das numerados del mes actual, organizados en columnas bajo los das de la semana. Para seleccionar un mes diferente, puede hacer clic en los botones de fecha a los lados del ttulo del mes. A diferencia del control DateTimePicker, de apariencia similar, con este control es posible seleccionar un intervalo de fechas; sin embargo, el control DateTimePicker le permite establecer horas y fechas.
ToolTip
El componente ToolTip de los formularios Windows Forms muestra texto cuando el usuario apunta a otros controles. Un ToolTip puede asociarse a cualquier otro control. Por ejemplo, este control se puede utilizar para ahorrar espacio en un formulario, puede mostrar un pequeo icono en un botn y utilizar un control ToolTip para explicar la funcin del botn.
NotifyIcon
El componente NotifyIcon de formularios Windows Forms muestra iconos en el rea de notificacin de estado de la barra de tareas para procesos que se ejecutan en segundo plano y que, de otro modo, no tendran interfaz de usuario. Un ejemplo sera un programa de proteccin antivirus al que se puede tener acceso si se hace clic en un icono situado en el rea de notificacin de estado de la barra de tareas.
Propiedades
Icon: Obtiene o establece el icono actual. Text: Obtiene o establece el texto de la informacin sobre herramientas que se muestra cuando el mouse pasa sobre un icono del rea de estado. Pag. 100 de 125
Eventos
Click: Se produce cuando el usuario hace clic en el icono del rea de estado. DoubleClick: Se produce cuando el usuario hace doble clic en el icono del rea de notificacin de estado de la barra de tarea. MouseDown: Se produce cuando el usuario presiona el botn del mouse mientras el puntero esta sobre el icono del rea de notificacin de estado de la barra de tareas. MouseMove: Se produce cuando el usuario mueve el mouse mientras el puntero esta sobre el icono del rea de notificacin de estado de la barra de tareas. MouseUp: Se produce cuando el usuario suelta el botn del mouse mientras el puntero esta sobre el icono del rea de notificacin de estado de la barra de tareas.
Ejercicio Prctico N1
DtpFecha
txtfecha txtao
txtdia txtmes
Txt1
btnsum a txtsuma
Private Sub Dtpfecha_ValueChanged_1 txtfecha.Text = Format(dtpfecha.Value, "Short Date") txtao.Text = dtpfecha.Value.Year txtdia.Text = dtpfecha.Value.Day txtmes.Text = dtpfecha.Value.Month End Sub Private Sub btnsuma_Click Pag. 101 de 125
MounthCalendar
Txtfecha1 Txtfecha2
btntooltip
btnnotify
Agregar un control ToolTip y NotifyIcon de su cuadro de herramientas. 1. Para mostrar mas de 2 meses a mas tenemos que modificar la propiedad CalendarDimensions del control MonthCalendar; el cual nos pide dos valores (a;b) el cual a vendra a ser el nmero de columnas a mostrar y b el nmero de filas a mostrar Private Sub MonthCalendar1_DateChanged txtfecha1.Text = MonthCalendar1.SelectionRange.Start txtfecha2.Text = MonthCalendar1.SelectionRange.End End Sub Private Sub btntooltip_MouseMove ToolTip1.SetToolTip(btntooltip, "Save changes") End Sub Private Sub btnnotify_Click NotifyIcon1.Visible = True NotifyIcon1.Text = "Antivirus program" End Sub Pag. 102 de 125
TEMA 12
Cmo crear un Formulario MDI Cmo agregar Mens Cmo agregar un Men Contextual Cmo agregar un Barra de Estado Cmo agregar una Barra de Herramientas
El Editor de Men
El Men o Barra de Men es la segunda lnea de cualquier ventana Windows, donde pueden verse distintos nombres. La Barra de Men es un componente de un formulario. Para crear un men debe usarse el Editor de Men, que se encuentra en la Barra de Herramientas. Para colocar el cursor de escritura en una u otra casilla, puede hacerse bien con las flechas. Para pasar a la siguiente lnea de edicin (crear una nueva palabra), basta con pulsar Enter. En la versin anterior de visual Basic, se llamaba Men, pero ahora se llama MenuStrip, viene a hacer el mismo control pero con otro nombre, a diferencia del control anterior en VB 6.0, este no utiliza un editor de mens, solo nos basta escribir en el men y darle entrar cada vez que ya queremos que grabe ese men, como en la figura que esta a continuacin.
Ahora, si deseas agregar una tecla de acceso rpido, debes escribir el smbolo y delante de la letra a la que deseas acceder. Y seleccionar en la propiedad ShortcutKeys, la tecla con la que deseas acceder. Si te sitas sobre una lnea ya editada, y haciendo clic sobre el botn con flecha hacia la izquierda, puedes agregar submens.
3. En la propiedad ContextMenu del formulario, seleccionaremos que control de men contextual queramos que nos muestre.
Control ToolBar
Este control tambin no ha cambiado mucho en su utilizacin, necesita un control ImageList para almacenar las imgenes que se van a mostrar en los botones, lo nico que cambia es un poco en su codificacin pero eso ya lo veremos, como ya les dije este, tambin es un control de coleccin as que tambin tendr un editor de colecciones, veamos la ventana de propiedades de este control para que me entiendan. ImageList.- En esta propiedad seleccionaremos de qu contenedor (Control de coleccin) utilizaremos las imgenes para los botones. Buttons.- En esta propiedad empezaremos a insertar los botones Pag. 106 de 125
Las propiedades mas utilizadas en el editor de los botones son: Name.- Si queremos ponerle un nombre especial o identificativo al botn. ImageIndex.- Aqu seleccionaremos el ndice o la imagen que queramos que se muestre en el botn, estas imgenes son las que estn en el control ImageList. ToolTipText.- Aqu escribiremos el texto que se va a mostrar cuando ubicaremos el Mouse por el botn.
Ejercicio Prctico N1
MenSt ToolBar
Agregar un Control ImageList y agregarle a este control 6 imgenes. Private Sub ToolBar1_ButtonClick Dim x As Integer x = Me.ToolBar1.Buttons.IndexOf(e.Button) Select Case x Case 0 : MsgBox("Nuevo Documento", MsgBoxStyle.Information, "ToolBar") Case 1 : MsgBox("Abre un Documento", MsgBoxStyle.Information, "ToolBar") Case 2 : MsgBox("Graba un Nuevo Documento", MsgBoxStyle.Information, "ToolBar") Case 3 : MsgBox("Imprime un Nuevo Documento", MsgBoxStyle.Information, "ToolBar") Case 4 : MsgBox("Elimina un Nuevo Documento", MsgBoxStyle.Information, "ToolBar") Case 5 : MsgBox("Ventana de Ayuda", MsgBoxStyle.Information, "ToolBar") Case 6 : MsgBox("Salir del Sistema", MsgBoxStyle.Information, "ToolBar") End Select End Sub Pag. 108 de 125
ToolStrip(Barra de Herramientas)
Desde el punto de vista de la jerarqua de clases de biblioteca .Net, una barra de herramientas es un objeto ToolStrip que acta como contenedor para los objetos de las clases ToolStripButton, ToolStripLabel, etc.
StatusStrip(Barra de Estado)
Desde el punto de vista de la jerarqua de clases de la biblioteca .Net, una barra de estado es un objeto StatusStrip que acta como contenedor para los objetos de las clases ToolStripStatusLabel, ToolStripProgressBar, ToolStripDropDownButton y ToolStripSplitButton. Para aadir la barra de estado, arrastre desde la caja de herramientas de Visual Studio .Net un control StatusStrip sobre el formulario.
Ejercicio Prctico N1
stbLabel1
stbLabel3
Private Sub Form1_Load Me.stblabel1.Text = Format(Now, "dd - MMM - yyyy") Me.Timer1.Enabled = True End Sub Private Sub Timer1_Tick Me.stblabel3.Text = Format(Now, "hh:mm:ss tt") End Sub
Ejercicio Prctico N2
Private Sub EjercicioPracticoN1ToolStripMenuItem_Click EjercicioPracticoN1ToolStripMenuItem.Click Form1.MdiParent = Me Form1.Show() End Sub Private Sub EjercicioPracticoN2ToolStripMenuItem_Click EjercicioPracticoN2ToolStripMenuItem.Click Form2.MdiParent = Me Form2.Show() End Sub Private Sub EjercicioPracticoN3ToolStripMenuItem_Click EjercicioPracticoN3ToolStripMenuItem.Click Form3.MdiParent = Me Form3.Show() End Sub Private Sub EjercicioPracticoN4ToolStripMenuItem_Click EjercicioPracticoN4ToolStripMenuItem.Click Form4.MdiParent = Me Form4.Show() End Sub Private Sub SalirDelSistemaToolStripMenuItem1_Click SalirDelSistemaToolStripMenuItem1.Click Dim x As String x = MsgBox("Desea Salir del Sistema", MsgBoxStyle.YesNo + MsgBoxStyle.Information, "Sistema") If x = vbYes Then Me.Close() End If End Sub Pag. 111 de 125
Private Sub VerticalToolStripMenuItem_Click Me.LayoutMdi(MdiLayout.TileVertical) End Sub Private Sub HorizontalToolStripMenuItem_Click Me.LayoutMdi(MdiLayout.TileHorizontal) End Sub Private Sub CascadaToolStripMenuItem_Click Me.LayoutMdi(MdiLayout.Cascade) End Sub
3.- Cdigo para los SubMens del Men Utilitarios.
Private Sub CalculadoraToolStripMenuItem_Click Shell("C:\WINDOWS\system32\calc.exe", AppWinStyle.MaximizedFocus) End Sub Private Sub PaintToolStripMenuItem_Click Shell("C:\WINDOWS\system32\mspaint.exe", AppWinStyle.MaximizedFocus) End Sub Private Sub BlocDeNotasToolStripMenuItem_Click BlocDeNotasToolStripMenuItem.Click Shell("C:\WINDOWS\system32\notepad.exe", AppWinStyle.MaximizedFocus) End Sub Private Sub SalirDelSistemaToolStripMenuItem_Click SalirDelSistemaToolStripMenuItem.Click Dim x As String x = MsgBox("Desea Salir del Sistema", MsgBoxStyle.YesNo + MsgBoxStyle.Information, "Sistema") If x = vbYes Then Me.Close() End If End Sub
4.- Cdigo para la Hora del StatusStrip
Private Sub Timer1_Tick Me.ToolStripStatusLabel3.Text = Format(Now, "hh:mm:ss tt") End Sub Private Sub frmprincipal_Load Me.Timer1.Enabled = True Me.MostrarHoraToolStripMenuItem.Enabled = False Pag. 112 de 125
Private Sub MostrarFechaToolStripMenuItem_Click MostrarFechaToolStripMenuItem.Click Me.Timer1.Enabled = False Me.ToolStripStatusLabel3.Text = Format(Now, "dddd, MMM d yyyy") Me.MostrarFechaToolStripMenuItem.Enabled = False Me.MostrarHoraToolStripMenuItem.Enabled = True End Sub Private Sub MostrarHoraToolStripMenuItem_Click Me.Timer1.Enabled = True Me.ToolStripStatusLabel3.Text = Format(Now, "hh:mm:ss tt") Me.MostrarHoraToolStripMenuItem.Enabled = False Me.MostrarFechaToolStripMenuItem.Enabled = True End Sub
6.- Cdigo para los Botones del ToolStrip
Private Sub ToolStripButton1_Click Form1.MdiParent = Me Form1.Show() End Sub Private Sub ToolStripButton2_Click Form3.MdiParent = Me Form3.Show() End Sub Private Sub ToolStripButton3_Click Form5.MdiParent = Me Form5.Show() End Sub Private Sub ToolStripButton4_Click Dim x As String x = MsgBox("Desea Salir del Sistema", MsgBoxStyle.YesNo + MsgBoxStyle.Information, "Sistema") If x = vbYes Then Me.Close() End If End Sub Pag. 113 de 125
TEMA 13
Uso de Agentes Explorador Web Reproductor de Windows Media Player
2.- Cuando crea un proyecto de este tipo por defecto se crea un Control de Usuario de nombre UserControl1 3.- Agregaremos un Label y un TextBox. 4.- El TextBox ingresado en su propiedad Name=TxtNombre 5.- Luego clic derecho sobre el UserControl1 y escoger Ver Cdigo. 6.- Dentro de la Clase UserControl1 escribiremos el siguiente cdigo. Public Class UserControl1
3.- Le mostrara la siguiente pantalla: haga clic en el botn Examinar y seleccione su DLL del Control de Usuario (Creando Controles.dll).
4.- Luego haga click en botn aceptar. En el cuadro de herramientas aparecer el control de usuario creado de esta forma.
5.- Al Form1 que tiene en le proyecto agregar el control creado, y al final debe quedar de la siguiente manera.
5.- Dentro de la Clase SoloLetras escribiremos el siguiente cdigo. Public Property letra() As String Get Return txtletra.Text End Get Set(ByVal value As String) txtletra.Text = value End Set End Property 6.- Luego en el evento KeyPress del TextBox TxtLetra codificaremos: Private Sub txtletra_KeyPress If Asc(e.KeyChar) >= 48 And Asc(e.KeyChar) <= 57 Then MsgBox("Debe Ingresar Solo Letras", MsgBoxStyle.Information, "Mensaje") e.KeyChar = ChrW(0) End If End Sub
9.- En el formulario agregaremos un Label y el control SoloLetras. Y deber quedar de la siguiente manera.
10.- Ejecutamos y probaremos ingresando nmeros en el control SoloLetras, nos debe mostrar de la siguiente manera.
Resolver:
Crear un control que solo me acepte Nmeros.
2. Agregue la librera COM Microsoft Agent Control 2.0, para ello ir al Men Proyecto / Agregar Referencia as como se muestra en la figura:
3. Luego en la etiqueta COM de la ventana emergente escogeremos Microsoft Agent Control 2.0, as como se muestra en la figura.
Un archivo es para el sistema operativo Windows y el otro es para el idioma. Para que puedan trabajar con estos archivos es necesario que su instructor les provea de la carpeta Ayudantes para Microsoft.
Componentes ActiveX
Visual Basic.Net permite usar componentes ya definidos en nuestros formularios, dichos componentes no son ms que clases que trabajan de una forma concreta que han sido creados para realizar funciones especificas, dichos componentes, cuentan con eventos y propiedades, dado que son usados como objetos. Estos componentes forman parte de una lista de controles que Visual Basic.Net nos ofrece, as mismo podremos agregar ms componentes segn nuestro propio requerimientos.
Explorador Web
Para poder comprender mejor el uso de componentes COM realizaremos un programa que nos permita crear un explorador de pginas web. 1.- Crear un formulario. 2.- Luego como nuestro componente Web no se encuentra en la lista, procederemos a sacarlo de la lista de elementos. Pulsamos clic derecho en el men de Componentes. Elegimos la opcin Elegir Elementos.
3.- Seleccionaremos el componente Explorador del Web de Microsoft y luego en Aceptar. 4.- Luego nos mostrara el componente en nuestra lista de Elementos. 5.- Despus insertamos ese componente usndolo como control a nuestro formulario, tambin insertaremos un control TextBox y Button. BtnIr TxtDi AxWebBrow
6.- Luego en el evento clic del botn BtnIr codificamos lo siguiente. Me.AxWebBrowser1.Navigate(Me.txtdir.Text.Trim)
AxWindowsMediaPlaye
3. Luego en el evento clic de cada botn codificaremos lo siguiente. BtnAudi BtnVideo Private Sub btnaudio_Click Me.AxWindowsMediaPlayer1.URL = "D:\Rocky.mp3" End Sub Private Sub btnvideo_Click Me.AxWindowsMediaPlayer1.URL = "D:\madonna.mpg" End Sub