47750985 app net for windows a5

131
Luis Zedler Espinoza Claro 1 Visual Basic.Net Este libro de ha sido elaborado con la firme finalidad de contribuir en el desarrollo lógico intelectual de las personas interesadas en aprender el Lenguaje de programación Visual Basic. Luis Zedler Espinoza Claro

Upload: lgarcias

Post on 20-Oct-2015

69 views

Category:

Documents


6 download

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

    [email protected]

    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.