47750985 app net for windows a5
TRANSCRIPT
-
Luis Zedler Espinoza Claro 1
Visual
Basic.Net Este libro de ha sido elaborado
con la firme finalidad de
contribuir en el desarrollo
lgico intelectual de las
personas interesadas en
aprender el Lenguaje de
programacin
Visual Basic.
Luis Zedler Espinoza Claro
-
Visual Basic .NET 2
El Instituto Superior Tecnolgico COMPUTRON, en su afn de formar buenos profesionales, triunfadores en el mercado actual, les da LA BIENVENIDA con este manual para que tu aprendizaje sea total.
Los deseos de nuestra Institucin es que alcances todas las metas, que trasciendas en este tiempo, que tus retos siempre sean continuos y frente a ello, estamos nosotros apoyando tu completa realizacin profesional.
El aprendizaje que recibirs ser la formacin de alta calidad, que impartir con mucho dinamismo, nuestra plana docente, especializada en Computacin e Informtica, con un software totalmente actualizado, innovando programas que solicita el mercado actual.
Con el transcurrir del tiempo La Informtica se ha convertido en parte de nuestra vida, tanto en el campo familiar como laboral, y en el campo educacional, nosotros tenemos motivos suficientes que nos comprometen para serviles cada da. Te deseamos todos los EXITOS.
Autor: Luis Z. Espinoza Claro
Gerente General: Richar Bacn Terrones
Director General: Lus Raffo Benavides
-
Luis Zedler Espinoza Claro 3
UNIDAD I
Introduccin a la plataforma .Net Entorno de desarrollo visual Basic .Net
-
Visual Basic .NET 4
Introduccin a Visual Studio .NET
Visual Studio es una herramienta Rpida de Desarrollo (RAD) creado por Microsoft para desarrollar servicios Web XML. Esta herramienta permite crear aplicaciones usando el Framework (Marco) de .NET, es decir usando la CLR, Librera de clases, ADO.NET, ASP.NET, etc
Caractersticas principales de las Herramienta Rpida de Desarrollo (RAD)
Creacin de paginas Web mediante formularios Web, incluye un diseador de paginas Web HTML y ASP.NET basado en formularios Web.
Creacin de servicios Web XML Acceso a Servicios Web XML Creacin de Componentes .NET Creacin de Archivos XML
Neutralidad de Lenguajes .NET
Cdigo reutilizable y compartido en los diferentes lenguajes, puesto q todos son clases en .NET Acceso APIS igual para todos los Lenguajes, los lenguajes del Framework comparten las mismas clases o APIS del sistema. Herencia cruzada entre lenguajes, se puede crear una clase en un lenguaje y heredarse desde otra clase escrita en un lenguaje diferente. Manejo de errores cruzado entre lenguajes, se puede controlar errores desde una clase por ms que el error ocurra en un objeto creado en otro lenguaje distinto al de la clase que controla el error.
-
Luis Zedler Espinoza Claro 5
Lenguajes del .NET
Visual Basic Incluye caractersticas nuevas y mejoradas, que lo convierten en uno de los mejores lenguajes de programacin orientado a objetos, como por ejemplo, la Herencia, las interfaces, etc
Visual C# (Si-sarp) Es un Nuevo lenguaje de programacin orientado a objetos, es una evolucin de C y C++, que proporciona un amigable lenguaje y con seguridad de tipos para el desarrollo de aplicaciones. Visual C++ Las extensiones administrativas (migracin) de C++ y la programacin de atributos, que son un mtodo rpido y eficaz para simplificar la programacin COM con Visual C++. JScript Actualmente es un leguaje de secuencias de comandos basado en clases y orientado a objetos, es compatible con versiones y admite otros lenguajes gracias a la compatibilidad con Common Language Specification (CLS)
Microsoft .NET
.NET fue un proyecto de Microsoft para crear una nueva plataforma de desarrollo de software con nfasis en transparencia de redes, con independencia de
-
Visual Basic .NET 6
plataforma y que permita un rpido desarrollo de aplicaciones. .NET es una herramienta de creacin rpida de aplicaciones Web ASP, ofreciendo la capacidad de desarrollar, implementar, administrar y utilizar soluciones conectadas a travs de Servicios Web XML, de manera rpida, econmica y segura. Estas soluciones permiten una integracin ms rpida y gil entre las empresas y el acceso a informacin a cualquier hora, en cualquier lugar y a travs de cualquier dispositivo.
Visual Studio .NET
Es una nueva tecnologa que responde a la necesidad de comunicacin total entre negocios de sistemas heterogneos y con gran capacidad de procesamiento.
Versiones:
Visual Studio .NET Versin inicial del ao 2002; tcnicamente llamada Visual Studio 7.0. Es conocida como Visual Studio .NET 2002 tras la publicacin de Visual Studio .NET 2003.
Visual Studio .NET 2003 Tambin llamada Visual Studio 7.1. Cambios sobre la 7.0
Incorpora .NET Framework 1.1 Aade soporte del .NET Compact Framework
(para dispositivos porttiles).
-
Luis Zedler Espinoza Claro 7
Aade el ASP.NET Mobile Designer (para construir aplicaciones Web para dispositivos porttiles, PDAs y "pagers")
Updated Visual Basic to 7.1 (uno de los cambios ms importantes fue dar soporte para declaraciones inline)
Varias mejoras menores y cambios en la interfaz.
Visual Studio 2005
La versin definitiva en ingls vio la luz en Noviembre del 2005. En castellano hubo que esperar hasta Febrero de 2006.
Incorpora .NET Framework 2.0 Hay ms ediciones diferenciadas por el precio y
las caractersticas. Ayuda con refactorizacin. El desarrollo de pginas con ASP.NET ha
cambiado. Soporte para el nuevo software servidor Team
System. Aadido soporte de tests para todo tipo de
aplicaciones.
Ediciones Edicin Profesional Edicin Acadmica (Edicin Profesional, pero con
un CD "Student Tools" adicional y un 90% de descuento)
Enterprise Developer Edition Enterprise Architect Edition
-
Visual Basic .NET 8
El Framework .NET (Marco)
Es una nueva plataforma informtica que significa el desarrollo de aplicaciones en un entorno altamente distribuido como es Internet. Esta enfocado a programacin orientada a objetos.
Contiene 2 componentes importantes:
Common Language Runtime Biblioteca de clases de .NET Framework
Marco de trabajo .NET VB C++ C# J#
Visu
al Studio
.N
ET
Componentes del Marco .NET
ASP.NET Formularios Web y Servicios Web
Formulario Windows
ADO.NET: Datos y XML Librera de Clases de Marco .NET
Lenguaje Comn en Tiempo de Ejecucin (CLR)
Sistema Operativo
-
Luis Zedler Espinoza Claro 9
Common Language Runtime (CLR)
El CLR es el verdadero ncleo del Framework de .NET, entorno de ejecucin en el que se cargan las aplicaciones desarrolladas en los distintos lenguajes, ampliando el conjunto de servicios del sistema operativo.
La herramienta de desarrollo compila el cdigo fuente de cualquiera de los lenguajes soportados por .NET en un cdigo intermedio (MSIL, Microsoft Intermediate Lenguaje), similar al BYTECODE de Java. Para generar dicho cdigo el compilador se basa en el Common Language Specification (CLS) que determina las reglas necesarias para crear ese cdigo MSIL compatible con el CLR. Para ejecutarse se necesita un segundo paso, un compilador JIT (Just-In-Time) es el que genera el cdigo mquina real que se ejecuta en la plataforma del cliente. De esta forma se consigue con .NET independencia de la plataforma hardware. La compilacin JIT la realiza el CLR a medida que el programa invoca mtodos, el cdigo ejecutable obtenido, se almacena en la memoria cach del ordenador, siendo recompilado de nuevo slo en el caso de producirse algn cambio en el cdigo fuente.
-
Visual Basic .NET 10
Biblioteca de Clases de .NET Framework
Es una coleccin de tipos reutilizables q se integran con Common Lenguaje Runtime, esta orientada a objetos, lo que proporciona tipos de los que su propio cdigo administrativo puede derivar funciones. Tambin se puede utilizar .NET Framework para desarrollar los siguientes tipos de aplicaciones y servicios
-
Luis Zedler Espinoza Claro 11
Ingresando al programa
Inicio Programas
Clic en Microsoft Visual Studio 2005
-
Visual Basic .NET 12
Nuevo entorno de desarrollo integrado (IDE)
Imagen 1
Se puede observar la clsica barra de mens, la barra de herramientas, a la derecha explorador de soluciones donde se muestran los forms, clases, etc. Cuando se crea un proyecto. A la izquierda esta el cuadro de herramientas que se muestra cuando pasas el puntero por encima.
La imagen anterior muestra la barra de mens y la barra de herramientas estndar del Visual Studio; la primera herramienta te permite crear un nuevo proyecto para Windows, la segunda herramienta te permite crear un nuevo sitio web, otra de las herramientas es abrir, etc.
-
Luis Zedler Espinoza Claro 13
Pasos para crear una aplicacin Windows 1- Men Archivo 2- Clic en Nuevo Proyecto y aparece la siguiente ventana.
Imagen 2
3- En esta ventana, se elige el programa donde se desarrollara el proyecto (Visual Basic, C#, etc.) 4- Elegimos tambin una plantilla de tipo de aplicacin o archivo, finalmente le damos un Nombre al proyecto.
Al hacer clic en el botn Aceptar (Imagen 2), aparece nuestro primer formulario Windows, el cuadro de herramientas, explorador de soluciones y la ventana de propiedades. (Imagen 3 siguiente pagina).
-
Visual Basic .NET 14
Imagen 3
Explorador de soluciones
Esta venta muestra los archivos del proyecto, como son formularios clases, imgenes, entre otros. Cuenta con herramientas para: mostrar la ventana de propiedades, mostrar todos los archivos del proyecto, actualizar vista y cambios en los objetos, ver la ventana de cdigo, ver el diseador y el diagrama de clase.
-
Luis Zedler Espinoza Claro 15
Cuadro de Controles.
Contiene herramientas de diseo y programacin, los mismos que se agregaran al diseador (form o web).
Ventana de Propiedades.
Permite cambiar las caractersticas de los controles que se encuentran dentro de un diseador (form o web).
A continuacin procederemos a cambiar algunas propiedades del Form1
Acceptbotton, permite indicar que botn de comando se activara cuando el usuario presione Enter. Autoscroll, activado esta propiedad, el usuario podr desplazarse con las barras horizontales y verticales. BackgroundImage, permite mostrar una imagen de fondo (cascada/centrado). Cancelbutton, permite
-
Visual Basic .NET 16
indicar que botn de comando se activara cuando el usuario presione ESC. IsMDIContainer, True, determina el tipo de formulario MDI (interfase de mltiple documento). Opacity, indica la forma de visualizacin, opaco (100%) o semitransparente (Ej. 50 %). Startposition, indica la posicin inicial del formulario. Text, antes llamada Caption, permite mostrar un texto en el titulo. TopMost, permite indicar que siempre se vera en primer plano o delante de los dems formularios. WindowsState, determina la forma de presentar el formulario (normal/minimizado/maximizado).
Eventos del Formulario.
Para trabajar con los eventos del formulario, ingrese a la ventana de cdigo, haciendo doble clic en el formulario o clic en la herramienta ver cdigo de la venta de soluciones.
Activated, ocurre al activarse el formulario. FormClosed, ocurre al cerrar el formulario (equivalente al Unload del VB 6.0). FormClosing, ocurre mientras se esta cerrando el formulario (aqu, aun se puede cancelar la salida). GoFocus, ocurre cuando activa el foco del formulario. LostFocus, ocurre al salir el foco del formulario. Load, ocurre al cargar los controles al formulario. MouseEnter, ocurre al ingresar el puntero del Mouse sobre el rea del formulario. MouseLeave, ocurre al salir el puntero del Mouse.
-
Luis Zedler Espinoza Claro 17
MouseMove, ocurre al mover el puntero Mouse sobre el formulario. Move, ocurre al mover el formulario. Resize, ocurre cuando cambia el tamao del formulario.
Mtodos del Formulario.
Close, cierra el formulario, liberndolo de la memoria. Hide, oculta el formulario, sin descargarlo de memoria. Show, muestra el formulario. ShowDialog, muestra un formulario como ventana Modal, siempre visible en primer plano.
Ejemplo Agregue un formulario con un Label1, cambie sus propiedades. Codifique en los diferentes eventos. Para ingresar a la ventana de cdigo haga doble clic en el formulario.
Private Sub Form1_FormClosing() Handles _ Me.FormClosing Dim rpta As String rpta = MessageBox.Show("Desea cerrar", _ "Alerta!!!", MessageBoxButtons.YesNo) If rpta = vbNo Then e.Cancel = True End If End Sub
-
Visual Basic .NET 18
Private Sub Form1_MouseEnter() Handles _ Me.MouseEnter Label1.Text = "Mouse, dentro del formulario" End Sub
Private Sub Form1_Load() Handles MyBase.Load MessageBox.Show("Bienvenido", "Hola", _ MessageBoxButtons.OK) End Sub
Private Sub Form1_MouseLeave() Handles _ Me.MouseLeave Label1.Text = "Mouse, Fuera del formulario" End Sub
Private Sub Form1_Move() Handles Me.Move Label1.Text = "cambio de lugar el formulario" End Sub
Como ejecutar un formulario
Tenemos tres formas como ejecutar. Con el teclado: presione F5 Men Depurar/ iniciar depuracin Barra de herramientas Iniciar depuracin.
Como detener la ejecucin
Cierre el o los formularios en ejecucin. Barra de herramientas Detener depuracin
-
Luis Zedler Espinoza Claro 19
Como agregar un formulario al proyecto. Clic en Agregar Nuevo Elemento de la barra de
herramientas Clic en Agregar Windows Forms
Otros pasos opcionales. Men proyecto Agregar Windows Forms
Con cualquiera de los pasos anteriores, aparece esta ventana (siguiente imagen), Observe que ya aparece seleccionado la plantilla Windows Forms.
Ingrese o modifique el nombre que se le asignara al formulario.
Finalmente haga clic en aceptar.
-
Visual Basic .NET 20
Como guardar un proyecto con todos sus elementos.
Men archivo. Clic en Guardar todo.
O clic en guardar todo de la barra de herramientas.
Detalles de la ventana anterior (Guardar todo).
Nombre; aqu aparece el nombre del proyecto.
Ubicacin; ruta o ubicacin donde se guardara el proyecto y todos sus elementos.
Botn Examinar; permite cambiar la ubicacin donde se guardara el proyecto.
Nombre de solucin; aqu aparece el nombre de la carpeta que se crear. Dentro de esta carpeta se guardara el archivo del proyecto y tambin se guardara aqu una carpeta con todos los elementos del proyecto.
-
Luis Zedler Espinoza Claro 21
En esta imagen, la carpeta seleccionada es la carpeta denominada Solucin (Operadores). Dentro de esta otra carpeta con el mismo nombre y el archivo del proyecto.
Nota. Si no quiere o no requiere crear una carpeta de solucin, desmarque la casilla de verificacin Crear directorio para la solucin. De esta forma el archivo del proyecto se guardara en la nica carpeta Operadores.
Como abrir un archivo de proyecto.
Abrir la carpeta o directorio. Ubicar el archivo del proyecto y haga doble clic
Ntese que esta imagen muestra un directorio sin carpeta de solucin, el archivo del proyecto aparece
-
Visual Basic .NET 22
dentro de la carpeta Operadores conjuntamente con todos los elementos del proyecto.
Para abrir un proyecto, tambin puede seguir los siguientes pasos:
Abrir el programa Visual Studio. Men Archivo. Abrir proyecto. Ubicar la carpeta y seleccione el archivo del
proyecto Clic en abrir
O tambin haga clic en el icono abrir de la barra de herramientas estndar del Visual Studio.
Como cambiar el formulario de ejecucin inicial.
La siguiente imagen muestra un proyecto con el nombre operadores, este proyecto contiene 2 formularios; Form1 (es el formulario inicial) y FRMvariables.
Doble clic en My Proyect del Explorador de soluciones. O tambin Men Proyecto / Propiedades de
-
Luis Zedler Espinoza Claro 23
Al seguir cualquiera de los pasos anteriores, aparece la siguiente ventana (imagen), donde cambiaremos el formulario de inicio. Observe que esta seleccionado el panel aplicacin dentro del pestaa operadores.
Al seleccionar un nuevo formulario, los cambios ya sern ejecutados por el programa de forma inmediata sin necesidad de un botn aplicar o aceptar.
Observe las pestaas en la parte superior de la imagen: Form1.vb(Diseo).- Es el diseador del objeto formulario. FRMvariables.vb(Diseo) FRMvariables.vb* .- Es la ventana de cdigo un formulario. Operadores.- Es la venta de propiedades del formulario. Cada una de las pestaas fue abierto para trabajar con dicho objeto (formulario, ventana de cdigo, etc.) Estas pestaas se cierran con el botn x
Clic aqu, para seleccionar el nuevo formulario de inicio.
-
Visual Basic .NET 24
Control TextBox
Propiedades
CharcterCasing, convierte a maysculas o minsculas el texto. Lines, muestra el contenido de cada lnea del texto (debe activar la opcin Multiline). Maxlength, permite indicar el nmero de caracteres para el control. Multiline, habilitada esta opcin se puede escribir varias lneas de texto. PasswordChar, indica el carcter que se mostrara como mascara de entrada. ReadOnly, indica que el control solo se puede ver pero no editar. ScrollBar, habilita las barras de desplazamiento, si el control es multilnea. WordWrap, cambia de lnea al llegar al final de un texto multilnea.
Mtodos
AppendText, aade un texto al final del texto actual. Clear, borra el contenido del TextBox. Copy, Copia el texto y lo enva al portapapeles. Cut, Corta el texto y lo enva al portapapeles. Paste, pega el texto del portapapeles al TextBox. ResetText, inicializa el texto. Select, Selecciona el texto de un TextBox. Undo, deshace el ltimo cambio del texto.
-
Luis Zedler Espinoza Claro 25
Eventos
Keypress, ocurre al pulsar una tecla. TextChanged, ocurre al hacer un cambio dentro del TextBox.
El texto que se muestra en el TextBox se encuentra almacenado en la propiedad Text Si activa su propiedad Multiline, podr escribir un mximo de 32 KB de texto.
Control Button
Propiedades
Name, identifica al botn, comnmente se una el prefijo btn. BackgroundImage, permite poner una imagen de fondo al botn. Image, imagen que mostrar el control. ImageAlign, alineacin de la imagen dentro del control. TabIndex, indica el orden de fabulacin. Text, Permite mostrar un texto dentro del botn.
-
Visual Basic .NET 26
Eventos
Click, ocurre al dar un clic sobre el botn. Es el evento mas usado.
Ejemplo (Mtodos TextBox): Modificaremos el formulario de la pgina anterior, el cual debe permitir cortar los caracteres (3) del TextBox1 y pegarlo en el TextBox2, adicione un botn deshacer.
Private Sub btncortar_Click() Handles _ btncortar.Click 'Seleccionar los 3 primeros del TextBox1. TextBox1.Select(0, 3) 'Copiamos lo seleccionado. TextBox1.Cut() End Sub
Private Sub btnpegar_Click() 'Pegamos. TextBox2.Paste() End Sub
Private Sub btndeshacer_Click() TextBox2.Undo() 'Deshacemos la ultima accion End Sub
-
Luis Zedler Espinoza Claro 27
Nota. Para ingresar a la ventana de cdigo de un control, haga doble clic en el control, ejemplo en el Botn o Textbox.
Ejemplo (KeyPress):
Crear una aplicacin que permita calcular el rea de un triangulo, sabiendo que la formula es rea= (Base X Altura) / 2, crearemos un procedimiento para realizar dicha operacin y lo invocaremos desde el evento KeyPress del TextBox.
Con el siguiente cdigo fuente estamos creando un procedimiento CALCULAR que nos permitir obtener el rea del un triangulo. Private Sub calcular() If Len(txtBase.Text) > 0 And _ Len(txtAltura.Text) > 0 Then Dim base As Single, altura As Single, _
-
Visual Basic .NET 28
area As Single base = Val(txtBase.Text) altura = Val(txtAltura.Text) area = (base * altura) / 2 txtArea.Text = area Else MessageBox.Show("Faltan Datos", "Ojo", _ MessageBoxButtons.OK) End If End Sub
En el Evento KeyPress, validamos que solo se ingresen datos numricos, luego invocamos al procedimiento Calcular solo si el usuario presiona Enter.
Private Sub txtBase_KeyPress(ByVal _ sender As Object, ByVal e As _ System.Windows.Forms.KeyPressEventArgs)_ Handles txtBase.KeyPress, _ txtAltura.KeyPress 'solo numeros y llamar al procedimiento If Char.IsDigit(e.KeyChar) Then e.Handled = False ElseIf Char.IsControl(e.KeyChar) Then e.Handled = False Else e.Handled = True End If If Asc(e.KeyChar) = 13 Then calcular() End If End Sub
-
Luis Zedler Espinoza Claro 29
Nota. Para cambiar de evento o procedimiento de un determinado control, haga clic en el listado de procedimientos y seleccione el requerido.
Parmetros de la ventana de cdigo.
Sender.- variable que identifica al objeto que recibi el evento. e.- representa una matriz de argumentos. Handles.- permite indicar con q objeto o evento se ejecutara este evento.
Ejemplo (Changed): Crear una aplicacin que permita encontrar el cdigo ASCII de una cadena de texto.
Private Sub TextBox1_TextChanged(ByVal_ sender As System.Object, ByVal e As _ System.EventArgs) Handles _
-
Visual Basic .NET 30
TextBox1.TextChanged Dim nombre As String, letra As String,_ codascii As String nombre = TextBox1.Text.Trim codascii = "" If nombre.Length > 0 Then For Each letra In nombre codascii = codascii & AscW(letra) Next Else codascii = "" End If lblescrito.Text = codascii End Sub
Control RadioButton El control RadioButton sirve para presentar al usuario opciones a elegir (solo una de todo un grupo), se puede Mostar con texto, imagen o ambos.
Control CheckBox Permite mostrar casillas de verificacin al usuario, opciones de tipo Verdadero/falso, donde podr elegir una
-
Luis Zedler Espinoza Claro 31
o varios opciones dentro de todo un grupo de Checkbox. Se puede mostrar con texto, imagen o ambos.
Propiedades resaltantes de RadioButton
Aparence; Controla la apariencia del radiobuttn. AutoCheck; Cambia de estado cada vez que se da clic. CheckAlign; Permite alinear el radiobuttn (9 posiciones). Checked; Indica si el radiobuttn ha sido seleccionado o no. Image; Permite Mostar una imagen en el control. AutoSize; Indica si el control cambia de tamao para ajustarse a su contenido.
Eventos
Click; ocurre al dar clic sobre el control. CheckChanged; ocurre al cambiar el estado la propiedad Checked.
-
Visual Basic .NET 32
Propiedades resaltantes de CheckBox
Aparence; Controla la apariencia del CheckBox. AutoCheck; Cambia de estado cada vez que se da clic. CheckAlign; Permite alinear el CheckBox (9 posiciones). Checked; Indica si el CheckBox ha sido seleccionado o no. CheckState; devuelve el estado del checkBox, que puede ser: Unchecked (Sin marcar), Checked (Marcado), o Indeterminate (atenuado).
Eventos
Click; ocurre al dar clic sobre el control. CheckChanged; ocurre al cambiar el estado la propiedad Checked.
Control CheckedListBox, ListBox, ComboBox
Propiedades
Items, Obtiene los elementos del control ListBox. MultiColumn, Establece si el control admite varias columnas. SelectionMode, indica si se podr seleccionar uno o ms filas (elementos). SelectedIndex, Obtiene o establece el ndice de base
-
Luis Zedler Espinoza Claro 33
cero del elemento actualmente seleccionado. SelectedItems, Obtiene una coleccin que contiene los elementos actualmente seleccionados. Sorted, indica los elementos se ordenan alfabticamente. Text, Obtiene el texto del elemento seleccionado.
Mtodos
FindForm, Recupera el formulario en el que se encuentra. FindString, Busca el primer elemento que comience con una cadena especifica. FindStringExact, Busca el primer elemento que coincida exactamente con una cadena especifica.
Eventos
SelectIndexChanged, Ocurre cuando cambia la propiedad SelectedIndex.
TextChanged, ocurre cuando cambia el valor de la propiedad Text.
Ejemplo. Crear una aplicacin que permita hacer un listado de Alumnos. Donde se ingresaran los nombres y apellidos a travs de un TextBox. La aplicacin debe permitir eliminar, ordenar y borrar todo el listado.
-
Visual Basic .NET 34
Cuando se agregue o elimine elementos del listado, el contador del listado debe actualizarse.
Vea la imagen del formulario para guiarse.
Cdigo fuente:
Private Sub btnagregar_Click() Handles _ btnagregar.Click
If txtNombres.Text.Trim.Length > 0 Then Me.chklista.Items.Add(Me.txtNombres.Text)
txtNombres.Clear() lblcontador.Text = "Total Elementos: _ & Me.chklista.Items.Count End If End Sub
-
Luis Zedler Espinoza Claro 35
Private Sub btnEliminar_Click() Handles _ btnEliminar.Click Dim cod = chklista.SelectedIndex If cod -1 Then chklista.Items.RemoveAt(cod) lblcontador.Text = "Total Elementos: " _ & Me.chklista.Items.Count End If End Sub
Ejemplo. Crear una aplicacin que permita insertar una frase a un TextBox a travs de un recuadro de dialogo, la aplicacin debe permitir alinear el contenido, cambiar el color de fuente y fondo, cambiar de minscula a mayscula.
Public Class FRMopciones
Private Sub btnBorrar_Click() TextBox1.Text = "" End Sub Private Sub btnCerrar_Click() Me.Close() End Sub Private Sub RadioButton1_CheckedChanged() TextBox1.TextAlign = HorizontalAlignment.Left End Sub
-
Visual Basic .NET 36
Private Sub RadioButton2_CheckedChanged() TextBox1.TextAlign = HorizontalAlignment.Center End Sub Private Sub RadioButton3_CheckedChanged() TextBox1.TextAlign = HorizontalAlignment.Right End Sub
Private Sub btninsertar_Click() Dim nom As String nom = InputBox("Ingrese una frase", ":)") If nom.Length > 0 Then TextBox1.Text = nom End If End Sub
Private Sub CheckBox1_CheckedChanged() If CheckBox1.Checked = True Then TextBox1.ForeColor = Color.Blue Else TextBox1.ForeColor = Color.Black End If
End Sub
Private Sub CheckBox3_CheckedChanged() If CheckBox3.Checked = True Then TextBox1.Text = TextBox1.Text.ToUpper Else TextBox1.Text = TextBox1.Text.ToLower() End If End Sub
Private Sub CheckBox2_CheckedChanged() If CheckBox2.Checked = True Then TextBox1.BackColor = Color.Aqua Else TextBox1.BackColor = Color.White End If End Sub End Class
-
Luis Zedler Espinoza Claro 37
UNIDAD II
Estructuras de datos, Variables y Operadores
-
Visual Basic .NET 38
Tipos de datos.
Conversin de datos.
Viene a ser el proceso de cambiar un valor de un tipo de dato a otro, las conversiones son de ampliacin o restriccin, tambin pueden ser implcitas o explicitas, segn la sintaxis del cdigo fuente.
Val, convierte una cadena de texto a nmero.
Precio = Val(txtprecio.Text)
ToString, convierte un nmero a cadena de texto.
txtimporte.Text = Importe.ToString
Conversin de ampliacin.
Byte a Byte, Short, Integer, Long, Decimal, Single, Double. Short a Short, Integer, Long, Decimal, Single, Double. Integer a Integer, Long, Decimal, Single, Double. Long a Long, Decimal, Single, Double Decimal a Decimal, Single, Double Single a Single, Double Double a Double Char a Char, String
Conversin implcita. No requiere de ninguna sintaxis en especial en el cdigo fuente.
-
Luis Zedler Espinoza Claro 39
Ejemplo de Conversin, disee el siguiente formulario.
Public Class Form1 Dim L As Integer Dim G As Double 'conversion implicita Private Sub btnimpli_Click() L = 999 G = L MsgBox(g.ToString) End Sub
'conversion explicita, Private Sub btnexpli_Click() G = 11.77 L = CInt(G) MsgBox(L.ToString) End Sub End Class
Para usar el cdigo anterior, debe crear un formulario y agregar 2 botones con el nombre de btnimpli y btnexpli. El resultado de la conversin se mostrara en un recuadro de mensaje.
-
Visual Basic .NET 40
Conversin explicita.
Utiliza un comando o mandato de conversin de tipos seguido del cual va un dato entre parntesis, como se demuestra en el ejemplo anterior L = CInt(G)
Mandatos de Conversin
CBool a Boolean de numrico, string y object. CByte a Byte de numrico, Boolean, string y object. Cchar a char de string y object. CDate a Date de string y object. CDbl a Double de numrico, Boolean, string y object. CDec a Decimal de numrico, Boolean, string y object. CInt a Integer de numrico, Boolean, string y object. CLng a Long de numrico, Boolean, string y object. CObj a Object de cualquier tipo. CShort a Short de numrico, Boolean, string y object. CSng a Single de numrico, Boolean, string y object. CStr a String de numrico, bolean, char, matriz char, date, object CType a tipo especifico despus de la coma. Ejm.: L = CType(G, Integer)
Variables.
Las variables nos permiten almacenar valores en forma temporal para efectuar clculos. Una variable tiene un nombre y un tipo de dato. Para asignar y efectuar clculos a una variable, se usan instrucciones de asignacin, el signo igual (=) es un operador de asignacin.
-
Luis Zedler Espinoza Claro 41
Ejemplo. Crear una aplicacin que muestre los nombres de los productos dentro de un listado (ComboBox), la aplicacin permitir ingresar la cantidad y el precio, dando como resultado el importe.
Como agregar elementos al ComboBox, cuando seleccione el ComboBox aparecer en el borde una herramienta con imagen de flecha (color negro), haga clic sobre dicha herramienta para editar elementos o conectarse a una base de datos.
Vea la siguiente imagen
En nuestro ejemplo haremos clic en Agregar elementos o tambin podra realizarlo desde la ventana de propiedades ubique en Items para agregar elementos al ComboBox seleccionado.
-
Visual Basic .NET 42
Al seguir cualquiera de los pasos anteriores aparece la siguiente ventana, donde registrar los elementos para el listado.
Ingrese los datos para el listado y haga clic en el botn aceptar, para editar el listado siga los mismos pasos.
El siguiente cdigo corresponde al botn Calcular, se declaran variables para cada dato,
Private Sub BtnCalcular_Click() Dim Cantidad As Integer Dim Precio As Double Dim Importe As Double
Cantidad = Val(txtcantidad.Text) Precio = Val(txtprecio.Text) Importe = Cantidad * Precio txtimporte.Text = Importe.ToString End Sub
-
Luis Zedler Espinoza Claro 43
En el ejemplo anterior, la variable cantidad es de tipo entero, solo permitir almacenar nmeros enteros. Las variables precio e importe permitirn almacenar nmeros enteros y decimales. A las 2 primeras variables le estamos asignando datos, a Importe le estamos efectuando clculos.
Val, convierte una cadena de texto a nmero. ToString, convierte un nmero a cadena de texto.
Declaracin de variables.
Es necesario declarar las variables para especificar su nombre y sus caractersticas. El nombre de una variable debe comenzar con una letra. No puede incluir punto,$,&,!,%,!$%,#,@. No debe exceder de 255 caracteres. Debe ser nica en su mbito: procedimiento, formulario, etc. Para definir el tipo de dato o de objeto de una variable se usa la clusula As
mbito de variables. Public en el modulo o clase para todo el proyecto. Protected en una clase para toda la clase o una derivada. Friend en una clase alcance en el assemblie. Private en el modulo alcance solo en el modulo. Dim en el procedimiento solo para el procedimiento. Static en el procedimiento solo para el procedimiento.
-
Visual Basic .NET 44
Ejemplo de uso de variables: para seguir los ejemplos sugerimos verificar los controles que se usan en el cdigo fuente. (Deber agregar forms, botones y textbox con el nombre que aparecen en el cdigo fuente).
1) Variables locales (Dim), dentro de la clase y de un procedimiento
Public Class Frmlocales Dim edad = 30 Private Sub Button1_Click()
TextBox1.Text = edad End Sub Private Sub Button2_Click() If Val(TextBox1.Text) > 17 Then
Dim mensaje = "La edad es:" & Str(edad) MessageBox.Show(mensaje)
End If End Sub
End Class
2) Una variable con mbito Friend es declarado en un formulario y puede ser invocado desde otro.
Public Class FrmFriend Friend DATO = 1977 Private Sub Button1_Click() TextBox1.Text = DATO End Sub Private Sub Button2_Click() FrmOtro.Show() End Sub End Class
-
Luis Zedler Espinoza Claro 45
Desde otro formulario invocamos al formulario anterior y su variable Friend.
Public Class FrmOtro Private Sub Button1_Click() TextBox1.Text = FrmFriend.DATO End Sub
End Class
3) Una variable Static (dato3), vea una comparacin con las dems variables (dato1, dato2).
Public Class FrmStatic Dim dato1 Private Sub Button1_Click() dato1 += 1 ListBox1.Items.Add(dato1)
End Sub Private Sub Button2_Click() Dim dato2 dato2 += 1 ListBox2.Items.Add(dato2) End Sub
Private Sub Button3_Click() Static dato3 dato3 += 1 ListBox3.Items.Add(dato3) End Sub
End Class Nota. Cuando no se asigna un valor a la variable declarada, el valor inicial es 0 (cero).
-
Visual Basic .NET 46
4) Variables con tipo de dato definido.
Public Class FrmTipoDatos
Private Sub Button1_Click() Dim edad As Byte ' enteros edad = 29 TextBox1.Text = edad
End Sub
Private Sub Button2_Click Dim ganancias As Integer 'valor ' inicial es cero ganancias = 1977.11 TextBox2.Text = ganancias
End Sub
Private Sub Button3_Click() Dim distancia As Single = 99336435
TextBox3.Text = distancia REM single trabaja con 7 cifras y 'decimales, Double con 15 cifras. End Sub
Private Sub Button4_Click() Dim nombres As String = "Isabel" Dim apellidos As String = "Rojas" TextBox4.Text = nombres + " " + _ apellidos 'En una variable string el valor ' inicial es empty End Sub
End Class
-
Luis Zedler Espinoza Claro 47
Otro ejemplo de variables con tipo de dato definido
Public Class FrmTipoDatos2 Private Sub Button1_Click() Dim v_estado As Boolean 'El valor de v_estado es false. MessageBox.Show(v_estado) V_estado = True TextBox1.Text = v_estado End Sub
Private Sub Button2_Click() Dim fecha As Date
'representa fecha y hora. fecha = Now()
TextBox2.Text = fecha.Date 'muestra sola la fecha.
End Sub
Private Sub Button3_Click() Dim abc As Object
'Puede ser un textBox, conexion 'a bd, video, etc. abc = ListBox1 '=tabla, hoja de excel, celda, 'o diapositiva abc.items.add("Hola") abc.left += 10 'abc.top += 10
End Sub
Private Sub Button4_Click Dim L1 As ListBox L1 = ListBox1 L1.Items.Add("Buenos Dias")
End Sub End Class
-
Visual Basic .NET 48
Constantes.
Una constante es un nombre significativo que constituye a un nmero o a una cadena que no varia, aunque una constante recuerda ligeramente a una variable, no se puede modificar a una constante o asignarle un valor nuevo como ocurre con una variable.
Public Class FrmConstantes Public Const ventatotal As Single = 650.0 Const fechapago = #11/10/2008# Public Const NroCTA = "19312926853025" Public Const Empresa = "Export TAURIJA"
Private Sub Button1_Click() TextBox1.Text = ventatotal TextBox2.Text = ventatotal * 19 / 100 TextBox3.Text = fechapago TextBox4.Text = NroCTA TextBox5.Text = Empresa
End Sub End Class
-
Luis Zedler Espinoza Claro 49
Operadores.
Los operadores con cdigos que realizan operaciones entre 2 o mas elementos y devuelven un valor. Estas operaciones pueden ser aritmticas, concatenacin, comparacin, lgicos.
Ejemplo. (Disee y desarrolle el siguiente Form)
Public Class basicos Dim op1 As Single,op2 As Single
Private Sub btnsuma_Click op1 = Val(TextBox1.Text) op2 = Val(TextBox2.Text) TextBox3.Text = op1 + op2 End Sub Private Sub btncerrar_Click() Me.Close() End Sub End Class
-
Visual Basic .NET 50
Ejercicio. Disee y desarrolle el siguiente formulario utilizando los operadores aritmticos.
Public Class frmbasico Dim op1, op2 As Single
Private Sub btnPotencia_Click() op1 = Val(TextBox1.Text) op2 = Val(TextBox2.Text) TextBox3.Text = op1 ^ op2 End Sub
Private Sub btnResto_Click() op1 = Val(TextBox1.Text) op2 = Val(TextBox2.Text) TextBox3.Text = op1 Mod op2 End Sub
-
Luis Zedler Espinoza Claro 51
Private Sub btnDivisionE_Click() op1 = Val(TextBox1.Text) op2 = Val(TextBox2.Text) TextBox3.Text = op1 \ op2 End Sub
Private Sub btnCerrar_Click() Me.Close() End Sub
End Class
Los operadores de comparacin realizan operaciones con datos de tipo Boolean. Y dan como resultado verdadero o falso (True o false respectivamente).
El siguiente ejemplo permitir comparar si el segundo texto es igual al primero. El resultado de la comparacin se mostrara a travs de un mensaje.
El operador Like, permite comparar si el segundo texto esta iniciando correctamente con referencia al segundo texto, use * (Asterisco) como se ve en la imagen del ejemplo
-
Visual Basic .NET 52
Public Class logicos Dim z As Boolean Dim txt1, txt2 As String
Private Sub Button1_Click(s) txt1 = TextBox1.Text txt2 = TextBox2.Text z = txt1 Like txt2 MessageBox.Show(z)
End Sub End Class
-
Luis Zedler Espinoza Claro 53
UNIDAD III
Estructuras de Control, Simple, Doble, Anidado y Mltiple
-
Visual Basic .NET 54
Estructuras de control.
Estructuras de control.- La mayor eficacia y utilidad de cualquier algoritmo dentro de un lenguaje de programacin esta en la posibilidad de cambiar el orden de ejecucin con instrucciones de control y bucles. Estas instrucciones nos permiten tomar decisiones y repetir acciones.
Estructuras de decisin.- Estas estructuras nos permiten probar ciertas condiciones para realizar determinadas instrucciones u operaciones en funcin a los resultados de la prueba, teniendo en cuenta que esta prueba puede ser verdadera o falsa (Boolean).
Sintaxis de estructuras de decisin:
1) Simple
If Then
End if
2) Doble If Then
Else
End if
3) Anidado
If Then ElseIf Then
Else
End if End if
-
Luis Zedler Espinoza Claro 55
Simples:
Las estructuras condicionales simples se les conocen como Tomas de decisin. Estas tomas de decisin tienen la siguiente forma:
Diagrama:
Pseudocdigo:
Si Entonces
Fin-Si
Sintaxis en .Net
If Then
End if
SI
NO
CONDICIN
Instrucciones a realizar si la condicin es verdad
-
Visual Basic .NET 56
Ejemplo: Crear una aplicacin que permita registrar los empleados de una determinada empresa, los datos a registrar son; Nombres completos, Cargo (lista de cargos) y Sueldo.
Criterios que tendremos en cuenta para el desarrollo: Disee la interface (vea la imagen del ejemplo). Para poder seleccionar un cargo deber ingresar el
nombre del empleado, de lo contrario se deshabilitara el cuadro de lista de cargos.
Cuando seleccione un cargo ocurrir lo siguiente: Se asignara un sueldo: Si es Administrador =2500 Si es Contador =1800 Si es Secretaria =850 Si es Auxiliar =650 Se habilitar el botn Agregar.
Para poder agregar al listado, se debe verificar, si se ingreso el nombre del empleado.
Cuando agregue un empleado al listado debe limpiar los datos y deshabilitar el botn agregar.
-
Luis Zedler Espinoza Claro 57
Public Class FrmSimple
Private Sub FrmSimple_Load() BtnAgregar.Enabled = False CbCargo.Enabled = False txtSueldo.Enabled = False End Sub
Private Sub CbCargo_SelectedIndexChanged() 'declaramos variables para cargo y sueldo Dim cargo As String Dim sueldo As Single 'asignamos el cargo seleccionado a la variable cargo cargo = CbCargo.Text 'asignamos un sueldo teniendo en cuenta la condision If cargo = "Administrador" Then sueldo = 2500 End If If cargo = "Contador" Then sueldo = 1800 End If If cargo = "Secretaria" Then sueldo = 850 End If If cargo = "Auxiliar" Then sueldo = 650 End If txtSueldo.Text = sueldo 'habilitar el boton agregar BtnAgregar.Enabled = True End Sub
Private Sub TxtNombre_TextChanged() If TxtNombre.Text.Length > 4 Then CbCargo.Enabled = True End If If TxtNombre.Text.Length = 0 Then CbCargo.Enabled = False End If End Sub
-
Visual Basic .NET 58
Private Sub BtnAgregar_Click() 'decalramos variables para los datos. Dim nom, car, sue As String 'asignamos datos a las variables. nom = TxtNombre.Text car = " es: " & CbCargo.Text sue = " y gana : " & txtSueldo.Text 'agregamos elementos al listado si tienes un nombre. If nom "" Then LbLista.Items.Add(nom & car & sue) 'limpiar los datos agregados TxtNombre.Text = "" CbCargo.Text = "" txtSueldo.Text = "" CbCargo.Enabled = False BtnAgregar.Enabled = False End If End Sub 'Codifique los botones Eliminar, Borrar y Cerrar. End Class
-
Luis Zedler Espinoza Claro 59
Dobles: Las estructuras condicionales dobles permiten elegir entre dos opciones o alternativas posibles en funcin del cumplimiento o no de una determinada condicin.
Diagrama de flujo:
Pseudocdigo:
Si Entonces
Si no
Fin-Si
Sintaxis en .Net If Then
Else
End if
SI NO CONDICIN
Instrucciones a realizar si la condicin es falsa
Instrucciones a realizar si la condicin es verdad
-
Visual Basic .NET 60
Ejemplo.- Crear una aplicacin para calcular las remuneraciones de un postulante a un determinado empleo; se ofrecen 2 sueldos, si es por Contratado S/. 1500, si fuese Nombrado S/. 2000. El TextBox de Sueldo bsico debe estar con la propiedad ReadOnly=True. Se tendr en cuenta 2 posibles descuentos: AFP obligatorio, cada RadioButton debe tener en su propiedad Tag un numero que equivale al porcentaje de descuento por AFP (Horizonte=12, Integra=11, Prima=10, ONP=9). Seguro de vida (S/. 5) opcional. Asignacin Familiar (S/. 50) Opcional.
Cdigo fuente. (Ntese que a los objetos se les cambio de nombre)
-
Luis Zedler Espinoza Claro 61
Sabiendo que Handles nos permite indicar con que objeto y que evento se ejecutara un determinado evento, codificaremos en el Radiobutton Nombrado, evento CheckedChanged
Private Sub rbNombrado_CheckedChanged()_ Handles rbNombrado.CheckedChanged, _ rbContratado.CheckedChanged
If rbNombrado.Checked = True Then txtSbasico.Text = 2000
Else txtSbasico.Text = 1500
End If End Sub
Codificamos las opciones de AFP (Ntese los Objetos y eventos seguido del Handles).
Private Sub _ rbHorizonte_CheckedChanged(ByVal sender _ As System.Object, ByVal e As _ System.EventArgs) Handles _ rbHorizonte.CheckedChanged, _ rbIntegra.CheckedChanged, _ rbPrima.CheckedChanged, _ rbONP.CheckedChanged
Dim afp, basico As Single basico = Val(txtSbasico.Text) 'Cojemos el dato del radioButton. afp = sender.tag.ToString txtafp.Text = basico * afp / 100
End Sub
-
Visual Basic .NET 62
A continuacin codificamos la casilla de verificacin de Seguro de Vida. Private Sub chkSvida_CheckedChanged()
If chkSvida.Checked = True Then txtSvida.Text = 5
Else txtSvida.Text = 0
End If End Sub
Codificamos la casilla de verificacin de Asignacin Familiar. Private Sub chkasignacion_CheckedChanged()
If chkasignacion.Checked = True Then txtasignacion.Text = 50
Else txtasignacion.Text = 0
End If End Sub
Codificamos el botn Calcular Private Sub btnCalcular_Click()
Dim basico, afp, vida, asignacion _ As Single basico = Val(txtSbasico.Text) afp = Val(txtafp.Text) vida = Val(txtSvida.Text) asignacion = Val(txtasignacion.Text)
txtneto.Text = basico - afp - vida + asignacion End Sub
El botn otro debe limpiar los TextBox. El botn cerrar debe permitir a salir de la aplicacin.
-
Luis Zedler Espinoza Claro 63
Anidado: Son tomas de decisiones especializadas que permiten comparar una variable contra distinta posibles resultados, ejecutando para cada caso una serie de instrucciones especficas.
Diagrama de flujo:
NO
NO
NO
NO
SI
SI
SI
SI
SI
NO
Instrucciones si la condicin es verdad
Condicin 2 Instrucciones si la condicin es verdad
Condicin 3 Condicin 4
Condicin 5
Instrucciones si la condicin es verdad
Instrucciones si la condicin es Falso
Instrucciones si la condicin es verdad
Condicin 1
-
Visual Basic .NET 64
Estas estructuras nos permiten realizar o ejecutar condiciones unas dentro de otras, teniendo en cuenta si es verdad o falso la condicin anterior. Es decir si la condicin anterior fue verdad puedo determinar una condicin o instruccin y si es falsa otra condicin u instruccin.
Pseudocdigo del diagrama anterior: Si Entonces
Si no
Si Entonces
Si no Si Entonces
Si Entonces
Si no
Fin-Si Si no
Si Entonces
Si no
Fin-Si Fin-Si
Fin-Si Fin-Si Nota. Estas instrucciones pueden continuar as una tras otra.
-
Luis Zedler Espinoza Claro 65
Sintaxis en .Net (del diagrama anterior)
If Then
Else If Then
Else
If Then If Then
Else
End if
Else If Then
Else
End if
End if End if
End if
-
Visual Basic .NET 66
Ejemplo. Crear una aplicacin donde se ingresen los datos de un alumno (como se ve en la imagen del formulario).
Verificar los datos de edad, estatura y peso a travs de un botn (Verificar datos). Si los datos son correctos se activara el botn Agregar datos para poder agregar la informacin al recuadro de texto.
Private Sub frmbasico8_Load() btnAgregar.Enabled = False End Sub
-
Luis Zedler Espinoza Claro 67
El cdigo anterior permite desactivar el botn verificar datos, desde el inicio de ejecucin del programa.
Public Class frmbasico8 'declaramos una variable para una cantidad Dim cantidad As Byte = 1
Private Sub btnVerificar_Click() 'preguntar, si NO es numero la edad If Not (IsNumeric(txtedad.Text)) Then MsgBox("ingrese edad correcta") txtedad.Focus() 'si no, preguntar, si NO es nro. la estatura ElseIf Not _ (IsNumeric(txtestatura.Text)) Then MsgBox("Estatura Incorrecto") txtestatura.Focus() 'si no, preguntar, si NO es nro. el peso ElseIf Not _ (IsNumeric(txtpeso.Text)) Then MsgBox("Peso Incorrecto") txtpeso.Focus() 'si no ocurrio ninguno de los anteiores Else MsgBox("Datos correctos") btnVerificar.Enabled = False btnAgregar.Enabled = True End If
End Sub Nota. Se usa ElseIf para evitar repetir el cierre de End If
-
Visual Basic .NET 68
Private Sub btnAgregar_Click() Handles _ btnAgregar.Click
Dim txt As String txt = RichTextBox1.Text.Trim RichTextBox1.Text = txt & Chr(13) & _ cantidad & ") " & txtnombre.Text txtnombre.Clear() txtedad.Clear() txtestatura.Clear() txtpeso.Clear() cantidad += 1 btnVerificar.Enabled = True btnAgregar.Enabled = False
End Sub
End Class
Prctica Dirigida.- Crear un nuevo Proyecto (Sistema) y agregue los siguientes controles al formulario1 (Seguridad); Label, TextBox y Button. Cambiar las propiedades segn lo indicado en el siguiente recuadro.
-
Luis Zedler Espinoza Claro 69
Propiedades del formulario1 y obetos.
Agregue un formulario(2) al propyecto y asignele un nombre (menuprincipal). Este formulario se observara solo si los datos del usuario y contrasea son correctos. Usuario: LUIS Contrasea: ESPINOZA
Objeto Propiedad Valor
Label1 Text Forecolor
Usuario Blue
Label2 Text Forecolor
Contrasea Blue
TextBox1 Name CharacterCasing Maxlength TabIndex
Txtusuario Upper 11 1
TextBox2 Name PasswordChar
Txtclave
Button1 Name Text
btcAceptar &Aceptar
Button2 Name Text
btcSalir &Salir
Form1
Name aceptbutton Cancelbutton MaxinumSize Opacity ShowInTaskbar StartPosition Text
Frmseguridad
btcSalir 300; 200 90% False CenterScreen Seguridad del sistema
-
Visual Basic .NET 70
Codigo fuente del formulario seguridad.
Public Class Sistema Boton aceptar Private Sub btcAceptar_Click() Handles _ btcAceptar.Click 'preguntar si el usuario es correcto If Trim(txtusuario.Text) = "LUIS" Then 'preguntar si la contrasea es correcto If Trim(txtclave.Text) = "ESPINOZA" Then 'si todo correcto, mostrar un mensaje MessageBox.Show("Bienvenido al Sistema" _ + txtusuario.Text) 'mostrar el otro formulario (menuprincipal) menuprincipal.Show() 'Oculpar el formulario seguridad Me.Hide() Else 'si la clave no es correcto
MessageBox.Show("Clave Incorrecta") txtclave.Clear() txtclave.Focus()
End If Else 'si el usuario no es correcto MessageBox.Show("Nombre Incorrecto") txtusuario.Clear() txtusuario.Focus() End If End Sub
Boton Salir Private Sub btcSalir_Click() Handles _ btcSalir.Click cerrarsistema() End Sub
-
Luis Zedler Espinoza Claro 71
Recuadro de usuario con el evento Keypress Private Sub txtusuario_KeyPress
'si preciona la tecla enter If Asc(e.KeyChar) = 13 Then 'mostrar el cursor en el recuadro clave
txtclave.Focus() End If End Sub
Crear un procedimiento cerrarsistema, dentro de la clase Sistema. El mismo que es invocado desde el boton salir.
Sub cerrarsistema() Dim respuesta As Integer respuesta = MessageBox.Show _ ("Desea salir del sistema", _
"Cerrar Sistema", _ MessageBoxButtons.YesNo) If respuesta = vbYes Then Application.Exit()cierra todo End If
End Sub
End Class
Notas.
Me.close() Me, Se refiere al formulario u objeto actual. Close, cierra el formulario actual. Application.exit(), cierra todo la aplicacin.
-
Visual Basic .NET 72
Select case
Cuando existen varios valores diferentes o posibles valores dentro de un mismo objeto o variable, utilizaremos la instruccin SELECT CASE Para evitar mltiples If Then. Else, select case toma el dato de una variable u objeto y lo evala o compara en cualquier caso, de no encontrar coincidencia se ejecutara el CASE ELSE.
Diagrama de flujo:
Si no Caso 1
Caso 2
Caso 3
Caso N
Expresin
Instruccin N Instruccin 2 Instruccin Instruccin 1 Instruccin 3
-
Luis Zedler Espinoza Claro 73
Pseudocdigo:
Seleccione de casos Caso 1
Caso 2
Caso 3
Caso N
Caso Si no es ningn anterior
Fin-Seleccin
Sintaxis:
Select Case
Case opcion 1 Instruccin 1 Case opcion 2 Instruccin 1 Case opcion 3 Instruccin 1 Case opcion N Instruccin N Case Else Instruccin
End Select
-
Visual Basic .NET 74
Ejemplo: disee la siguiente interface e interprete el cdigo fuente.
Private Sub lbcursos_DoubleClick() 'declaramos variables para cursos y precio
Dim curso As String, precio As Single 'asignamos el curso seleccionado de la lista 'a la variable curso curso = lbcursos.Text 'seleccionamos la variable curso Select Case curso Case "Natacin"
'En el caso que el curso sea Natacin 'asignamos un monto al precio precio = 100
Case "Futbol" 'En el caso que el curso sea Futbol
'asignamos otro monto al precio precio = 50 Case "Voley" precio = 30 Case "Karate" precio = 80 Case "Danza"
-
Luis Zedler Espinoza Claro 75
precio = 40 Case "Guitarra" precio = 60 Case "Teatro" precio = 70 'En este ejemplo no tenemos un CaseElse End Select 'dar un formato de numero al precio que se 'se muestra en el TextBox con 2 decimales. txtcosto.Text = FormatNumber(precio, 2)
End Sub
Cdigo fuente del objeto que contiene la edad del postulante al curso de verano, control NumericUpDown, Evento valuechanged.
Private Sub NUDedad_ValueChanged()
'Declaramos una variable para la edad y descuento Dim edad As Byte, desc As Short 'asignamos un dato a la variable edad edad = NUDedad.Value Select Case edad
Case Is
-
Visual Basic .NET 76
Case 21 To 25 desc = 3 Case Else 'si no es ninguno de los anteriores 'le asignamos otro descuento desc = 1
End Select 'Verificar si tiene un precio el curso If txtcosto.Text.Length > 0 Then 'Declarar y asignar una variable para el costo Dim costo As Single = Val(txtcosto.Text) 'Calcular el descuento txtdesc.Text = costo * desc / 100 'Calcular el neto a pagar txtneto.Text = costo - txtdesc.Text End If
End Sub
Definiciones:
Case Is
-
Luis Zedler Espinoza Claro 77
UNIDAD IV
Bucles y Matrices Procedimientos y Funciones de usuario
Manejo de excepciones y errores Cuadros de dialogo, MDI y Mens
-
Visual Basic .NET 78
Estructuras de Bucles Permiten ejecutar una o ms instrucciones repetitivamente hasta que un criterio o condicin sea verdadera, las instrucciones repetitivas son las siguientes:
While.. End While Do Loop (While con condicin True y Until con condicin False) For .. Next For Each Next
While End While.- Comprueba siempre la condicin antes de iniciar el bucle. La instruccin del bucle continua mientras el valor de la condicin o criterio sea verdadero (True).
Do Loop.- Es otra estructura condicional repetitiva que se ejecuta al comparar 2 valores y teniendo en cuenta el resultado lgico True o False, agregando instrucciones While y Until, estas instrucciones pueden utilizarse para comprobar la condicin en un bucle Do Loop, pueden comprobar la condicin antes de entrar al bucle o despus de que el bucle se haya ejecutado al menos una vez. En el caso del while el bucle se ejecutara mientras la condicin permanezca en True. En el caso de Until el bucle se ejecutara mientras la condicin permanezca en False.
For Next.- Es una instruccin repetitiva que utiliza una variable numrica denominada Counter cuyo valor aumenta o disminuye cada vez q se repite el bucle, esta variable tiene un inicio (Start) , un final (End) y un incremento o decremento con la instruccin STEP .
-
Luis Zedler Espinoza Claro 79
Ejemplo de Bucles. Crear una aplicacin con un formulario llamado FrmBucles donde agregaremos un ListBox (Lb) y 5 Button, dentro de la clase crearemos una matriz de datos (Sueldo), el en evento Load del formulario asignaremos los datos a la matriz sueldo.
Public Class FrmBucles
'Declaramos una matriz para 5 datos. Dim sueldo(4) As Single
Private Sub FrmBucleFor_Load () 'Asignamos datos a la matriz sueldo.
'La matriz inicia desde 0 (cero). sueldo(0) = 1800 sueldo(1) = 950 sueldo(2) = 600 'si no asigno un dato a sueldo(3), sera =0 sueldo(4) = 1200
End Sub
-
Visual Basic .NET 80
'Boton While Private Sub BtnWhile_Click()
Dim i As Integer Lb.Items.Clear() While i < 5
Lb.Items.Add(sueldo(i)) i += 1
End While End Sub
Definiciones: En la primera lnea del cdigo fuente anterior
declaramos una variable entera (i), esta variable nos permitir navegar dentro de la matriz (sueldo).
While i < 5 .- Esto indica; mientras (i) sea menor que 5, para indicar que el contador no pase de 4, puesto que la matriz contiene desde 0 hasta 4.
Lb.Items.Add(sueldo(i)).- Permite agregar el dato de la matriz correspondiente al listado.
i += 1 .- Permite incrementar la Variable que navegara dentro de la matriz. Recuerde que el valor inicial de una variable numrica es =0 (cero).
'Boton Do Loop While Private Sub BtnDoWhile_Click()
Dim i As Byte Lb.Items.Clear() Do 'While i < 5
Lb.Items.Add(sueldo(i)) i += 1
Loop While i < 5 End Sub
-
Luis Zedler Espinoza Claro 81
'Boton Do Loop Until Private Sub BtnDoUntil_Click() Dim i As Byte
Lb.Items.Clear() Do Until i = 5 Lb.Items.Add(sueldo(i)) i += 1 Loop 'Until i = 5 End Sub
'Boton For Private Sub btnForNext_Click() Dim i As Integer
Lb.Items.Clear() For i = 0 To 4 Step 2 Lb.Items.Add(sueldo(i)) Next i End Sub
'Boton For Each Private Sub btnForEach_Click() Dim abc As Object Lb.Items.Clear() For Each abc In sueldo Lb.Items.Add(abc)
Next abc End Sub
End Class
Ejecute el formulario para observar las diferencias y similitudes entre los 5 bucles o ciclos.
-
Visual Basic .NET 82
Ejemplo de matriz de datos. Crearemos una aplicacin muy similar al ejemplo anterior, donde la matriz de datos ser indefinida, adems usaremos la instruccin ReDim cada vez que necesitemos cambiar los datos de la matriz.
Public Class FrmReDim
'Declaramos una matriz de datos indefinida. Dim SUELDO() As Single
Private Sub FrmReDim_Load() 'Definimos la matriz sueldo para 4 datos. ReDim SUELDO(3) SUELDO(0) = 1200 SUELDO(1) = 890 SUELDO(2) = 1100 SUELDO(3) = 1400 End Sub
-
Luis Zedler Espinoza Claro 83
Private Sub BtnVer_Click() Dim QW As Object Lb.Items.Clear() For Each QW In SUELDO Lb.Items.Add(QW) Next End Sub
Private Sub BtnAgregarData_Click() ReDim SUELDO(6) SUELDO(4) = 444 SUELDO(5) = 555 SUELDO(6) = 666 End Sub
Private Sub Button3_Click() ReDim SUELDO(5) SUELDO(4) = 400 SUELDO(5) = 500 End Sub
End Class
Salir de un bucle antes que supere su valor final.
El comando o instruccin Exit permite salir directamente de cualquier estructura de decisin, ya sea bucle o procedimiento:
Exit Do Exit For Exit While Exit Select
Exit Try Exit Sub Exit Function Exit Property
-
Visual Basic .NET 84
Procedimientos y funciones de Usuario.
Un procedimiento es un algoritmo de instrucciones con un mbito de declaracin, con su respectivo nombre y el final del procedimiento, dentro del cual se encuentra el procedimiento o instrucciones. A un procedimiento se le invoca por su nombre de diferentes partes del proyecto o aplicacin teniendo en cuenta su mbito de declaracin. Visual Basic nos permite utilizar los diferentes tipos de procedimientos:
Subrutinas (Sub), son simples procedimientos que ejecutan una o ms instrucciones pero no devuelven ningn valor al ser invocados. Funciones, las funciones devuelven un valor con un tipo de dato especfico. De eventos, son procedimientos de control de eventos, se ejecutan en respuesta a una accin del usuario en un determinado momento del programa. De propiedades, devuelven o asignan valores de propiedades en objetos o mdulos.
Sintaxis:
Public Sub (Lista de parmetros) End Sub
Private Sub (Lista de parmetros) End Sub
-
Luis Zedler Espinoza Claro 85
Friend Sub (Lista de parmetros) End Sub
Definiciones: Public/ Private/ Friend: indica el mbito del procedimiento. Sub: indica que es un procedimiento de instrucciones.
Ejemplo 1. En el siguiente ejemplo crearemos 2 procedimientos: El primero permitir evaluar si un alumno aprob o desaprob, teniendo en cuenta su nota de promedio final. El segundo procedimiento nos permitir limpiar todos los TextBox de un determinado formulario. Estos procedimientos sern creados dentro de Module1.
Desarrollo: Crear una aplicacin donde se ingrese el nombre de un alumno y su nota de promedio.
Agregar un modulo a la aplicacin.
Men Proyecto. Agregar Modulo Aparece la ventana de Agregar nuevo elemento, donde debe seleccionar modulo. En nombre del modulo aparece como Molude1.VB, si desea puede cambiar el nombre.
Finalmente haga clic en el botn Agregar.
-
Visual Basic .NET 86
Observe que en el explorador de soluciones aparece un archivo llamado Module1.VB y al lado izquierdo la ventana de cdigo donde codificaremos nuestras funciones.
Module Module1 'Creamos el primer procedimiento Public Sub verobs(ByVal nota As Byte) If nota >= 10.5 Then MessageBox.Show("Alumno aprobado con" & _ vbNewLine & _ nota.ToString, "Felicitaciones", _ MessageBoxButtons.OK) Else MessageBox.Show("Desaprobado con" & _ Chr(13) & _ nota.ToString, "Siga Intentandolo", _MessageBoxButtons.OK) End If End Sub
Definiciones: El procedimiento creado con el cdigo fuente anterior, tiene el nombre de Verobs. El procedimiento verobs tiene un parmetro de entrada, este parmetro tiene el nombre de nota. A travs de este parmetro ingresamos la nota al procedimiento, donde ser evaluado como aprobado o desaprobado.
-
Luis Zedler Espinoza Claro 87
'Crear un proced. para limpiar los TextBox Public Sub limpiarTXT(ByVal Formulario _ As Form) Dim x As Control For Each x In Formulario.Controls
If TypeOf x Is TextBox Then x.Text = "" x.Focus() End If
Next End Sub
End Module Diseo del formulario
'Llamar al proced. desde el boton evaluar Private Sub BtnEvaluar_Click verobs(Val(TxtNota.Text)) End Sub 'Invocar al proced. limpiarTXT Private Sub BtnNuevo_Click limpiarTXT (me) End Sub
Nota. En el recuadro del mensaje se muestra el resultado del procedimiento verobs, que es ejecutado desde el boton Evaluar del formulario.
-
Visual Basic .NET 88
Ejemplo 2. Crear 2 procedimientos uno nos permitir habilitar los TextBox y el otro deshabilitar, estos procedimientos servirn para cualquier formulario de una aplicacin. Los procedimientos debern ser codificados dentro de un modulo al menos para este ejemplo.
Public Sub deshabilitarTXT(ByVal formulario As System.Windows.Forms.Form) Dim x As Control For Each x In formulario.Controls If TypeOf x Is TextBox Then x.Enabled = False x.BackColor = Color.White End If Next End Sub
Public Sub habilitarTXT(ByVal formulario As System.Windows.Forms.Form) Dim x As Control For Each x In formulario.Controls If TypeOf x Is TextBox Then x.Enabled = True End If Next End Sub
Nota. Los procedimientos tienen como parmetro de entrada un objeto Form, para se indicar el nombre del formulario donde se esta ejecutando el procedimiento. Interprete y analice las rutinas dems cdigo fuente.
-
Luis Zedler Espinoza Claro 89
Ejemplo de Funciones. Crear 2 funciones, la primera deber sumar los valores de todos los TextBox, la segunda funcin deber sumar todos los nmeros de un listado.
'Sumar TextBox Function SumarTodoTXT(ByVal f As System.Windows.Forms.Form) As Single
Dim t As Control For Each t In f.Controls If TypeOf t Is TextBox Then SumarTodoTXT += Val(t.Text) End If Next
End Function
'Sumar un Listado Function Sumarlistado(ByVal f As Form, ByVal lista As ListBox) As Single
Dim t As Byte, n As Single For t = 0 To lista.Items.Count 1 n = lista.Items.Item(t) Sumarlistado += n Next
End Function
Nota. Recuerde que el codigo fuente de procedimientos y funciones se debe crear en objetos Clases o Mdulos, para poder invocar o llamar desde cualquier formulario.
A continuacin crearemos una interface para usar las funciones creados
-
Visual Basic .NET 90
Diseo del formulario
'Invocamos a la funcion desde un Boton Private Sub BtnSumList_Click()
Dim suma As Single suma = Sumarlistado(Me, ListBox1) MsgBox(suma.ToString, _ MsgBoxStyle.Information, "Funciones")
End Sub
El resultado en ambos casos del ejemplo se muestra en un recuadro de mensaje.
Private Sub BtnSumList_Click()
Dim suma As Single suma = SumarTodoTXT(Me) MsgBox(suma.ToString, _ MsgBoxStyle.Information, "Funciones")
End Sub
-
Luis Zedler Espinoza Claro 91
Ejercicio. Crear una funcin que permita recibir 3 valores numricos, donde el primero y segundo valor deben ser obligatorios y el tercero opcional con un valor predeterminado = 100, para luego sumarlos.
Function Sumar3(ByVal a As Single, _ ByVal b As Single, _ Optional ByVal c As Single = 100) As Single 'la variable C tiene un valor inicial 100 Return a + b + c End Function
Como usar la funcion anterior, vea
TextBox2.Text = suma3(4, 5) 'el tercer parametro C es 100 109
TextBox2.Text = suma3(4, 5, 2) 'el dato 2 reemplaza a 100 11
Ejercicio. Crear una funcin que permita recibir X valores, para luego sumarlos.
Function SumaNros(ByVal ParamArray _ numeros()) As Single Dim abc As Object Dim total As Single For Each abc In numeros total += abc Next abc Return total End Function REM puede recibir infinitos numeros TextBox5.Text = suma3(4, 5, 1, 4, 4, 2)
-
Visual Basic .NET 92
Es un cuadro de imagen para mostrar imgenes de diferentes formatos. Vea el siguiente ejemplo.
Con el siguiente ejercicio, veremos como usar los controles PictureBox y TrackBar y validaremos uno de los cuadros de texto usando la estructura Try.
La imagen del ejemplo muestra el control Picturebox con su ventana de tareas, donde se puede elegir una imagen, especificar el modo de tamao, etc.
Es otro de los controles que usaremos en el ejemplo, agregue al formulario y cambie las siguientes propiedades: LargeChange=2 Maximum= 10 Minimum= -10 SmallChange=2 TickFrequency=2 TickStyle=Both Vea las definiciones de las propiedades mencionadas en la parte inferior de la ventana de propiedades.
-
Luis Zedler Espinoza Claro 93
Cdigo fuente del ejemplo anterior
Public Class FrmEjm Private Sub TrackBar1_Scroll() Dim L, U, I, S As Integer L = TrackBar1.Value U = TextBox1.Text I = PictureBox1.Left S = L TextBox1.Text = L 'Dar movimiento a la imagen If L > U Then PictureBox1.Left = I + 20 Else PictureBox1.Left = I - 20 End If End Sub
Uso de la estructura Try, para validar el cuadro de texto donde se ingresan nmeros de -10 hasta 10, de lo contrario mostrar un mensaje de lo ocurrido.
Private Sub Button1_Click() Try 'Intrucciones. TrackBar1.Value = Val(TextBox2.Text) Catch ex As Exception
'mensaje, si ocurrio un error 'en Instrucciones
MessageBox.Show(ex.Message) End Try End Sub End Class
El valor inicial del TextBox1 en nuestro ejemplo es 0
-
Visual Basic .NET 94
Validacin de Errores (Excepciones)
Los errores o excepciones se clasifican en 3 tipos: errores de sintaxis, errores lgicos, errores en tiempo de ejecucin.
Errores de sintaxis, suceden al escribir el cdigo fuente como por ejemplo una instruccin mal escrita, este error se subraya de color azul con un comentario indicando el error. Errores lgicos, consiste en resultados inesperados o no deseados, mandatos que debieron ejecutar un proceso sin embargo no se ejecutan, esto ocurre tambin durante la conversin de datos que no se ejecutan en determinadas ocasiones. Errores en tiempo de ejecucin, estos errores suceden durante la ejecucin de la aplicacin, no son errores de escritura ni lgica, si no de alguna excepcin del sistema, como por ejemplo tratar de actualizar o guardar una base de datos sin abrirla, realizar una divisin entera entre cero, etc.
Formas de controlar excepciones.
Control No estructurado, es mediante la sentencia On Error Goto, que tiene las siguientes sintaxis:
On Error Resume Next:
Indica que si ocurre un error en tiempo de ejecucin el flujo contine en la siguiente lnea despus de la que origino el error.
On Error Goto :
Si ocurre un error en tiempo de ejecucin, se cancela el flujo y se ejecutan las instrucciones que estn debajo de la variable, aqu podr personalizar los mensajes de error o excepciones.
-
Luis Zedler Espinoza Claro 95
Sintaxis:
On Error Goto : Resume Next
Control de errores estructurado, es la forma mas apropiada de controlar excepciones, se implementa usando la estructura Try Match Finality. Vea la sintaxis.
Try 'se ejecuta compltamente este
'bloque de codigo 'si no ocurre una excepcion '(error)
Catch As [tipo de dato]
' se ejecuta este error si en ' bloque anterior ocurrio ' una excepcion(error)
Catch As [tipo de dato]
' se ejecuta este error si en ' bloque anterior ocurrio ' una excepcion(error)
...
End Try
-
Visual Basic .NET 96
Ejemplo. Crear una aplicacin que permita buscar imgenes dentro de un directorio y subdirectorios.
Private Sub BtnVer_Click() Try 'SearchAllSubDirectories : incluye archivos 'de Subdirectorios 'SearchTopLevelOnly : solo del nivel actual For Each Archivo As String In _ My.Computer.FileSystem.GetFiles( _ Txtruta.Text, _ FileIO.SearchOption.SearchAllSubDirectories, _ "*.jpg") ListBox1.Items.Add(Archivo) Next Catch oe As Exception MsgBox(oe.Message, MsgBoxStyle.Critical) ListBox1.Items.Clear() End Try End Sub
-
Luis Zedler Espinoza Claro 97
Private Sub ListBox1_SelectedIndexChanged() Try Dim nombre As String = ListBox1.Text PictureBox1.Image = Image.FromFile(nombre) Catch ex As Exception MessageBox.Show(ex.Message) End Try End Sub
Uso de la aplicacin, escriba la ruta del directorio y haga clic en ver para mostrar los nombres de imgenes en el listado.
Si ingreso un directorio que no existe, aparece el siguiente mensaje.
-
Visual Basic .NET 98
Cuadros de Dialogo
Los cuadros de dilogo se utilizan para mostrar valores o solicitar valores. Las versiones .net nos ofrecen la clase MessageBox para mostrar mensajes al usuario, aunque tambin se puede usar la funcin MsgBox de las versiones anteriores, la funcin InputBox nos permitir solicitar valores o datos al usuario.
Sintaxis de Clase MessageBox.
MessageBox.Show(Mensaje, titulo, Botones, Icono, Botn-predeterminado, alineacin)
Los botones se pueden ingresar de la siguiente forma:
0 Ok Aceptar 1 OkCancel Aceptar y Cancelar 2 AbortRetryIgnore Anular Reintentar y Omitir 3 YesNoCancel SI, No y Cancelar 4 YesNo Si y No 5 RetryCancel Reintentar y Cancelar
Botn-Predeterminado= indica en que botn se establecer el focus.
Alineacin= indica la alineacin del titulo y del mensaje, y otros.
Ejemplo. Disear la siguiente interface, asignar a la propiedad Tag de cada RadioButton el cdigo (Numero) de cada Botn (1, 2, 3, 4, y 5), interprete el cdigo fuente.
-
Luis Zedler Espinoza Claro 99
Public Class FrmMessageBox1
'Declare 3 variables(Vea el tipo) Dim mensaje As String Dim titulo As String Dim boton As System.Windows.Forms.MessageBoxButtons
'Codigo fuente del boton mostrar mensaje Private Sub btnMostrar_Click() mensaje = txtmensaje.Text titulo = txtTitulo.Text MessageBox.Show(mensaje, titulo, boton) End Sub
-
Visual Basic .NET 100
Private Sub FrmMessageBox1_Load() boton = 0 End Sub
Private Sub rb0_CheckedChanged(ByVal _ sender As System.Object, ByVal e As _ System.EventArgs) Handles _ rb0.CheckedChanged, rb1.CheckedChanged, _ rb2.CheckedChanged, rb3.CheckedChanged, _ rb4.CheckedChanged, rb5.CheckedChanged 'sender.tag del radiobuton marcado boton = sender.tag End Sub End Class
Ejemplo, Crearemos una aplicacin que nos muestre un mensaje con botones e iconos.
Cdigos de iconos
16 Error, Hand, Stop 48 Exclamation, Warning 64 Asterisk, Information 32 Question 0 None
-
Luis Zedler Espinoza Claro 101
Los cdigos de cada Icono, se pondr en la propiedad Tag de cada RadioButton
Los cdigos de cada Icono, se pondr en la propiedad Tag de cada RadioButton
Public Class FrmMessageBox2
Dim mensaje As String,Dim titulo As String Dim boton As _ System.Windows.Forms.MessageBoxButtons Dim icono As _ System.Windows.Forms.MessageBoxIcon Dim botonfocus As _ System.Windows.Forms.MessageBoxDefaultButton Dim alinea As _ System.Windows.Forms.MessageBoxOptions
Private Sub chkalineaDerecha_CheckedChanged If chkalineaDerecha.Checked = True Then alinea =MessageBoxOptions.RightAlign Else alinea =MessageBoxOptions.DefaultDesktopOnly End If End Sub
-
Visual Basic .NET 102
Private Sub btnMostrar_Click() 'verificar la opcion boton focus If rb_Btn1.Checked = True Then
botonfocus = _ MessageBoxDefaultButton.Button1
ElseIf rb_btn2.Checked = True Then botonfocus = _ MessageBoxDefaultButton.Button2 ElseIf rb_btn3.Checked = True Then botonfocus = _ MessageBoxDefaultButton.Button3 End If mensaje = txtmensaje.Text titulo = txttitulo.Text MessageBox.Show(mensaje, titulo, _ boton, icono, botonfocus, alinea)
End Sub
Private Sub rbicono1_CheckedChanged() _ Handles rbicono1.CheckedChanged, _ rbicono2.CheckedChanged, _ rbicono3.CheckedChanged, _ rbicono4.CheckedChanged, _ rbicono5.CheckedChanged icono = sender.tag End Sub End Class
Valores devueltos por la clase MessageBox. Los valores devueltos al elegir o dar clic sobre un botn en el recuadro de mensaje se encuentran en la enumeracin DialogResult y pueden ser:
-
Luis Zedler Espinoza Claro 103
Abort; Cuando a presionado en el botn Abortar. Cancel; Cuando a presionado en el botn Cancelar. Ignore; Cuando a presionado en el botn Ignorar. No; Cuando a presionado en el botn No. Ok; Cuando a presionado en el botn Aceptar. Retry; Cuando a presionado en el botn Reitentar. Yes; Cuando a presionado en el botn Si.
Ejemplo. Crearemos una aplicacin donde cada vez que intente cerrar el formulario, nos interrogue si deseamos salir o no del formulario o sistema. El cdigo fuente debe de estar en el evento FormClosing del formulario.
Private Sub FrmSistema_FormClosing()
Dim respuesta As _ Windows.Forms.DialogResult respuesta = MessageBox.Show _ ("Desea salir del sistema", _ "Cerrar Sistema", _ MessageBoxButtons.YesNo) If respuesta = _ Windows.Forms.DialogResult.No Then e.Cancel = True
'esto cancela el evento. End If
End Sub
-
Visual Basic .NET 104
Function InputBox Muestra un mensaje y un cuadro de dialogo, devuelve un dato de tipo String con el contenido del recuadro de texto que el usuario ingreso, si no el usuario cancelo el dato ser vaco ().
Sintaxis: =InputBox(Mensaje, Titulo, Valor predeterminado)
Private Sub Button1_Click() Dim dato As String dato = InputBox("Ingrese Codigo", _ "Buscar Cliente", "C0011")
End Sub
Cuadros de Dialogo.
Estos controles nos permiten trabajar con algunos utilitarios de Windows como es el caso de: la paleta de color, la venta de abrir, la ventana de guardar como, etc.
-
Luis Zedler Espinoza Claro 105
Ejemplo: Crear una aplicacin donde podremos cambiar el color de fondo del formulario, el color de fondo de un TextBox, El color y tipo de fuente de un texto dentro de un textBox, Abrir una imagen.
Pasos:
Agregar el control
Mover el TabControl desde el aspa (superior izquierda). Agregar o quitar fichas desde la ventana de tareas.
-
Visual Basic .NET 106
Seleccione el recuadro inferior de cada ficha y cambie la propiedad Text, de esta forma se cambia el titulo de cada ficha del TabControl (Fuente y Abrir).
Agregar los siguientes controles de dialogo:
Public Class FrmCDialog
Private Sub btnFondoForm_Click() 'Preguntar si seleciono un color y dio clic 'en aceptar If ColorDialog1.ShowDialog = _ Windows.Forms.DialogResult.OK Then Me.BackColor = Me.ColorDialog1.Color End If End Sub
Private Sub btnFuente _Click() If Me.FontDialog1.ShowDialog = _ Windows.Forms.DialogResult.OK Then txtParrafo.ForeColor = Me.FontDialog1.Color txtParrafo.Font = Me.FontDialog1.Font End If End Sub
Private Sub btnFondoTXT_Click() ColorDialog1.ShowDialog() txtParrafo.BackColor = ColorDialog1.Color End Sub
-
Luis Zedler Espinoza Claro 107
Private Sub btnAbrir _Click() Try 'Preguntar si seleciono una imagen y 'dio clic en aceptar If OpenFileDialog1.ShowDialog = _ Windows.Forms.DialogResult.OK Then 'Enlazar la imagen seleccionada 'al Cuadro de iamgen (PictureBox) PictureBox1.Image = _ Image.FromFile(OpenFileDialog1.FileName) End If Catch ex As Exception MessageBox.Show(ex.Message) End Try
End Sub End Class
-
Visual Basic .NET 108
Validacin de datos.
Validacin es prevenir algunos errores en el ingreso de datos que el usuario realice, aqu algunos aportes para validacin de datos. Restricciones segn el usuario registrado en la base de datos, es decir clasificar a los usuarios para asignarles privilegios segn rango o cargo (habilitar y deshabilitar opciones de men y botones de comando).
Establecer una cantidad mxima de caracteres para los recuadros de texto, segn el tamao del campo (Field) de una tabla, propiedad MaxLength.
Deshabilitar (Propiedad Enabled) los recuadros de texto para que el usuario no pueda modificar ciertos datos o establecer su propiedad ReadOnly (de solo lectura).
Predeterminar valores solo numricos o de texto para ciertos recuadros segn el tipo de dato requerido, para esto usaremos el evento Keypress donde validaremos a travs de cdigos ASCII.
Tambin podemos validar para ciertos tipos de datos con determinados controles como por ejemplo con el DateTimePicker, MaskedTexBox, NumericUpDown, entre otros. Vea ErrorProvider.
Ejemplo. Crear una aplicacin donde se registren los datos de un empleado, usaremos objetos de formato de
-
Luis Zedler Espinoza Claro 109
fecha para evitar que el usuario ingrese datos incorrectos al sistema.
Public Class FrmValidacion Private Sub MonthCalendar1_DateChanged() Handles MonthCalendar1.DateChanged
txtFechaIngr.Text = _ Me.MonthCalendar1.SelectionRange.Start End Sub
Private Sub BtnVerificar_Click() codigo() txtDia.Text = Format(DTPfecha.Value, "dddd") txtMes.Text = Format(DTPfecha.Value, "MMMM") txtYear.Text = DTPfecha.Value.Year 'Format(fecha, "hh:mm:ss tt") txtEdad.Text = Microsoft.VisualBasic.DateDiff(DateInterval.Year, DTPfecha.Value, Now.Date) sodiaco() End Sub
-
Visual Basic .NET 110
Private Sub codigo() Dim nombre, ini, mes, anio, fin As String nombre = txtNombre.Text.Trim.ToUpper ini = Microsoft.VisualBasic.Left(nombre, 2) mes = Me.DTPfecha.Value.Month.ToString anio = _ MonthCalendar1.SelectionRange.Start.Year.ToString fin = Microsoft.VisualBasic.Right(nombre, 2) txtcodigo.Text = ini + mes & anio & fin End Sub 'Crear un procedimeinto que permita encontrar el signo del sodiaco. End Class
A continuacin crearemos una aplicacin donde se validaran a travs de instrucciones o mensajes al usuario. Disee el siguiente formulario de la siguiente pagina, agregue los controles ErrorProvider y ToolTip.
Propiedades del ToolTip: AutoPopDelay=5000 BackColor= a criterio ForeColor=a criterio initialDelay=50 IsBallon=True ReshowDelay=100 ShowAlways=True ToolTipIcon=Info ToolTipTitle= a criterio
-
Luis Zedler Espinoza Claro 111
Private Sub TextBox1_Validating(ByVal _ sender As Object, ByVal e As _ System.ComponentModel.CancelEventArgs) _ Handles TextBox1.Validating, _ TextBox2.Validating, TextBox3.Validating
If Val(sender.Text) < 1 Or _ Val(sender.Text) > 20 Then ErrorProvider1.SetIconAlignment(sender, _ ErrorIconAlignment.BottomLeft) ErrorProvider1.SetError(sender, _ "Nota Incorrecta") Else ErrorProvider1.SetError(sender, "") End If
End Sub
En el ejemplo se muestra un comentario para ingresar el nombre del alumno y una alerta de una nota incorrecta.
-
Visual Basic .NET 112
Formularios MDI Son formularios de documento mltiple (formularios que contienen otros formularios), generalmente toda aplicacin o sistema de informacin cuenta con un formulario MDI, donde se agregan los mens, barra de herramientas, barra de estado entre otros.
Crearemos una nueva aplicacin con Visual Basic, al formulario creado le cambiaremos algunas de sus propiedades.
Name = FormularioMDI Text = Soluciones LEC IsMdiContainer=True
Mens y barra de herramientas.
Del cuadro de herramientas agregar el control MenuStrip, al agregar al formulario se vera el objeto MenuStrip1 en la parte inferior del rea de trabajo, seleccinelo haciendo un clic sobre dicho objeto y cambie sus propiedades como por ejemplo su propiedad Backcolor.
-
Luis Zedler Espinoza Claro 113
Agregar opciones o tems del men, es muy sencillo. Haga clic donde dice Escriba aqu (como se puede apreciar en la imagen M1).
Imagen M1
Para cambiar las propiedades de una opcin o Item, haga clic sobre dicha opcin y cambie sus propiedades como por ejemplo:
Name Checked Forecolor ShortcutKeys Imagen, etc.
Cuando cambie la propiedad Imagen de un Item del Men, se mostrara la siguiente ventana (imagen M2). Donde deber seleccionar o importar una imagen.
Imagen M2
-
Visual Basic .NET 114
Pero lo ms importante es: elegir si ser un Recurso local o Archivo de recurso de proyecto, si elige la segunda opcin, la imagen se agregara al proyecto (como se ve en la imagen M3).
Imagen M3
Codificar un enlace de la opcin o Item del Men. Haga doble clic en la opcin deseada y se abrir la ventana de cdigo.
Private Sub EmpleadosMenuItem_Click() REM mostrar el form dentro del MDI
WFEmpleado.MdiParent = Me REM mostrar el form WFEmpleado.Show()
End Sub
Con el cdigo fuente anterior, estamos indicando que el formulario WFEmpleado se mostrara dentro de FormularioMDI, esto tambin significa que si estando abierto WFEmpleado y cierro el FormularioMDI, se cerraran todos los formularios que estn dentro del MDI.
El mtodo de la clase Formulario MDI, FormClosing nos ayudara a controlar o preguntar en una ltima instancia si estamos seguros o no de cerrar toda la aplicacin. Vea e interprete el siguiente cdigo fuente.
-
Luis Zedler Espinoza Claro 115
Private Sub FormularioMDI_FormClosing()
Dim rpta As String
rpta = MessageBox.Show("Esta seguro de _ cerrar toda la aplicacion", _ "Salida del sistema", _ MessageBoxButtons.YesNo, _ MessageBoxIcon.Question)
If rpta = vbNo Then e.Cancel = True 'esto cancela la salida de la aplicacin End If
End Sub Muestra del cdigo anterior.
Barra de herramientas.- Agregar el control ToolStrip a formularioMDI, como se ve en la imagen M4, cada herramienta puede tomar uno de los controles del listado, adems nos facilita poder cambiar sus propiedades como asignarle una imagen, texto, check de verificacin, entre otros.
-
Visual Basic .NET 116
Si desea eliminar una opcin de la barra de herramientas en diseo, haga clic derecho sobre dicha opcin y finalmente haga clic en Eliminar (repita estos pasos para eliminar una opcin del men).
Codificar el enlace de la opcin de la barra de herramientas. Haga doble clic sobre la opcin que sesea programar y codifique.
Barra de estado, sirve para mostrar mensajes al usuario, puede agregar uno de los controles que se muestran en la siguiente imagen.
Imagen 10
Imagen M4
-
Luis Zedler Espinoza Claro 117
Ejercicios. Crear una aplicacin que permita realizar cambio monetario: -- de soles a dlares, -- de dlares a soles, -- de soles a euros, -- de euros a soles. La aplicacin debe contar con un men de opciones y una barra de estado para informacin del usurario.
La interface del formulario, tiene un men con 4 opciones, una barra de estado con 2 paneles, TextBox, Label y Button.
Modificar las siguientes propiedades: Del Form: Name, Maxinumsize(300,300), StartPosition, Text. Del Menu: Name (de las opciones de men), CheckOnClick, Text, Forcolor, image.
En la propiedad TAG de cada opcin ponga el tipo de cambio (ej. 3,14), obviamente todos diferentes.
-
Visual Basic .NET 118
El men Ver, tiene una opcin Barra de estado, cambie las siguientes propiedades: Name, Checked, CheckOnClick, CheckState.
Esta opcin nos permitir mostrar y ocultar la barra de estado de nuestra aplicacin (mas adelante veremos el cdigo).
A los TexBox no les cambiaremos el nombre, pero si deben estar en orden (TexBox1 es tipo de cambio), vea TextAlign, WordWrap, ReadOnly.
Cdigo fuente
Mostrar y ocultar la barra de estado desde el men (Ver / barra de estado)
Private Sub BarraDeEstadoToolStripMenuItem_Click() If BarraDeEstadoToolStripMenuItem.Checked = True Then StatusStrip1.Visible = True Else StatusStrip1.Visible = False End If End Sub
Mostrar la fecha del sistema en el primer panel de la barra de estado.