Está en la página 1de 131

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

1
Luis Zedler Espinoza Claro

El Instituto Superior Tecnológico COMPUTRON, en su afán
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 Institución 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 realización profesional.
El aprendizaje que recibirás será la formación de alta calidad,
que impartirá con mucho dinamismo, nuestra plana docente,
especializada en Computación e Informática, con un software
totalmente actualizado, innovando programas que solicita el
mercado actual.
Con el transcurrir del tiempo La Informática 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 día.
Te deseamos todos los EXITOS.
Autor: Luis Z. Espinoza Claro
luis_eclaro@hotmail.com
Gerente General: Richar Bacón Terrones
Director General: Luís Raffo Benavides

2
Visual Basic .NET

UNIDAD I

Introducción a la plataforma .Net
Entorno de desarrollo visual Basic .Net

3
Luis Zedler Espinoza Claro

se puede controlar errores desde una clase por más que el error ocurra en un objeto creado en otro lenguaje distinto al de la clase que controla el error. Herencia cruzada entre lenguajes. etc Características principales de las Herramienta Rápida de Desarrollo (RAD) Creación de paginas Web mediante formularios Web. puesto q todos son clases en .NET. Librería de clases. ASP.NET basado en formularios Web. 4 Visual Basic . incluye un diseñador de paginas Web HTML y ASP.NET . Manejo de errores cruzado entre lenguajes. es decir usando la CLR. • Creación de servicios Web XML • Acceso a Servicios Web XML • Creación de Componentes . Esta herramienta permite crear aplicaciones usando el Framework (Marco) de . los lenguajes del Framework comparten las mismas clases o API’S del sistema.NET Código reutilizable y compartido en los diferentes lenguajes. se puede crear una clase en un lenguaje y heredarse desde otra clase escrita en un lenguaje diferente. ADO.NET.NET.Introducción a Visual Studio .NET Visual Studio es una herramienta Rápida de Desarrollo (RAD) creado por Microsoft para desarrollar servicios Web XML.NET • Creación de Archivos XML Neutralidad de Lenguajes .NET Acceso API’S igual para todos los Lenguajes.

es compatible con versiones y admite otros lenguajes gracias a la compatibilidad con Common Language Specification (CLS) Microsoft . que son un método rápido y eficaz para simplificar la programación COM con Visual C++.Lenguajes del .NET . JScript Actualmente es un leguaje de secuencias de comandos basado en clases y orientado a objetos. como por ejemplo. con independencia de 5 Luis Zedler Espinoza Claro . que proporciona un amigable lenguaje y con seguridad de tipos para el desarrollo de aplicaciones. que lo convierten en uno de los mejores lenguajes de programación orientado a objetos.NET fue un proyecto de Microsoft para crear una nueva plataforma de desarrollo de software con énfasis en transparencia de redes. es una evolución de C y C++.NET Visual Basic Incluye características nuevas y mejoradas. Visual C++ Las extensiones administrativas (migración) de C++ y la programación de atributos. la Herencia. etc Visual C# (Si-sarp) Es un Nuevo lenguaje de programación orientado a objetos. las interfaces.

Visual Studio .1 • Añade soporte del .NET Es una nueva tecnología que responde a la necesidad de comunicación total entre negocios de sistemas heterogéneos y con gran capacidad de procesamiento.NET Versión inicial del año 2002. ofreciendo la capacidad de desarrollar. . Es conocida como Visual Studio . Visual Studio .NET 2003. Estas soluciones permiten una integración más rápida y ágil entre las empresas y el acceso a información a cualquier hora.plataforma y que permita un rápido desarrollo de aplicaciones. en cualquier lugar y a través de cualquier dispositivo. Cambios sobre la 7. técnicamente llamada Visual Studio 7.NET es una herramienta de creación rápida de aplicaciones Web ASP.NET 2002 tras la publicación de Visual Studio .NET . de manera rápida. implementar.1. 6 Visual Basic . económica y segura.NET Compact Framework (para dispositivos portátiles). Versiones: Visual Studio . administrar y utilizar soluciones conectadas a través de Servicios Web XML.NET 2003 También llamada Visual Studio 7.0 • Incorpora .0.NET Framework 1.

• Añade el ASP. pero con un CD "Student Tools" adicional y un 90% de descuento) • Enterprise Developer Edition • Enterprise Architect Edition 7 Luis Zedler Espinoza Claro .NET ha cambiado.1 (uno de los cambios más importantes fue dar soporte para declaraciones inline) • Varias mejoras menores y cambios en la interfaz. En castellano hubo que esperar hasta Febrero de 2006. Visual Studio 2005 La versión definitiva en inglés vio la luz en Noviembre del 2005. Ediciones • Edición Profesional • Edición Académica (Edición Profesional. • El desarrollo de páginas con ASP. • Soporte para el nuevo software servidor Team System. • Incorpora .0 • Hay más ediciones diferenciadas por el precio y las características. • Añadido soporte de tests para todo tipo de aplicaciones. PDAs y "pagers") • Updated Visual Basic to 7. • Ayuda con refactorización.NET Framework 2.NET Mobile Designer (para construir aplicaciones Web para dispositivos portátiles.

NET Lenguaje Común en Tiempo de Ejecución (CLR) Sistema Operativo 8 Visual Basic .NET Framework Marco de trabajo .NET VB C++ C# J# … Visual Studio . Esta enfocado a programación orientada a objetos.NET ASP.NET (Marco) Es una nueva plataforma informática que significa el desarrollo de aplicaciones en un entorno altamente distribuido como es Internet.NET Componentes del Marco .El Framework . Contiene 2 componentes importantes: • Common Language Runtime • Biblioteca de clases de .NET: Datos y XML Librería de Clases de Marco .NET .NET Formularios Formulario Windows Web y Servicios Web ADO.

se almacena en la memoria caché del ordenador. La herramienta de desarrollo compila el código fuente de cualquiera de los lenguajes soportados por . Para ejecutarse se necesita un segundo paso. 9 Luis Zedler Espinoza Claro .Common Language Runtime (CLR) El CLR es el verdadero núcleo del Framework de . un compilador JIT (Just-In-Time) es el que genera el código máquina real que se ejecuta en la plataforma del cliente. entorno de ejecución en el que se cargan las aplicaciones desarrolladas en los distintos lenguajes. el código ejecutable obtenido.NET en un código intermedio (MSIL.NET independencia de la plataforma hardware. Microsoft Intermediate Lenguaje). De esta forma se consigue con . siendo recompilado de nuevo sólo en el caso de producirse algún cambio en el código fuente. La compilación JIT la realiza el CLR a medida que el programa invoca métodos.NET. similar al BYTECODE de Java. Para generar dicho código el compilador se basa en el Common Language Specification (CLS) que determina las reglas necesarias para crear ese código MSIL compatible con el CLR. ampliando el conjunto de servicios del sistema operativo.

También se puede utilizar .NET Framework para desarrollar los siguientes tipos de aplicaciones y servicios 10 Visual Basic .Biblioteca de Clases de . lo que proporciona tipos de los que su propio código administrativo puede derivar funciones.NET . esta orientada a objetos.NET Framework Es una colección de tipos reutilizables q se integran con Common Lenguaje Runtime.

Ingresando al programa Inicio Programas Clic en Microsoft Visual Studio 2005 11 Luis Zedler Espinoza Claro .

clases. otra de las herramientas es abrir.Nuevo entorno de desarrollo integrado (IDE) Imagen 1 Se puede observar la clásica barra de menús. etc. la segunda herramienta te permite crear un nuevo sitio web. etc. a la derecha explorador de soluciones donde se muestran los forms. A la izquierda esta el cuadro de herramientas que se muestra cuando pasas el puntero por encima. Cuando se crea un proyecto.NET . 12 Visual Basic . la barra de herramientas. La imagen anterior muestra la barra de menús y la barra de herramientas estándar del Visual Studio. la primera herramienta te permite crear un nuevo proyecto para Windows.

etc.Clic en Nuevo Proyecto y aparece la siguiente ventana. aparece nuestro primer formulario Windows.) 4. C#. Imagen 2 3.En esta ventana.Elegimos también una plantilla de tipo de aplicación o archivo. 13 Luis Zedler Espinoza Claro .Pasos para crear una aplicación Windows 1. Al hacer clic en el botón Aceptar (Imagen 2).Menú Archivo 2. el cuadro de herramientas. (Imagen 3 siguiente pagina). finalmente le damos un Nombre al proyecto. se elige el programa donde se desarrollara el proyecto (Visual Basic. explorador de soluciones y la ventana de propiedades.

entre otros.NET . imágenes. mostrar todos los archivos del proyecto. 14 Visual Basic . como son formularios clases. ver el diseñador y el diagrama de clase. actualizar vista y cambios en los objetos. Cuenta con herramientas para: mostrar la ventana de propiedades. Imagen 3 Explorador de soluciones Esta venta muestra los archivos del proyecto. ver la ventana de código.

activado esta propiedad. Cancelbutton. permite 15 Luis Zedler Espinoza Claro . Contiene herramientas de diseño y programación. Autoscroll. los mismos que se agregaran al diseñador (form o web). BackgroundImage. Ventana de Propiedades. el usuario podrá desplazarse con las barras horizontales y verticales. permite mostrar una imagen de fondo (cascada/centrado). permite indicar que botón de comando se activara cuando el usuario presione Enter. Cuadro de Controles. A continuación procederemos a cambiar algunas propiedades del Form1 Acceptbotton. Permite cambiar las características de los controles que se encuentran dentro de un diseñador (form o web).

0). FormClosed. WindowsState. GoFocus. ocurre mientras se esta cerrando el formulario (aquí. 50 %). antes llamada Caption. ocurre al activarse el formulario. ocurre al salir el foco del formulario. Opacity. FormClosing. determina la forma de presentar el formulario (normal/minimizado/maximizado). Load. ocurre al cargar los controles al formulario. MouseLeave. indica la forma de visualización. ocurre al ingresar el puntero del Mouse sobre el área del formulario.NET . LostFocus. 16 Visual Basic . Eventos del Formulario. ocurre cuando activa el foco del formulario. MouseEnter. Startposition. TopMost. Para trabajar con los eventos del formulario. Text. haciendo doble clic en el formulario o clic en la herramienta “ver código” de la venta de soluciones. opaco (100%) o semitransparente (Ej. ocurre al cerrar el formulario (equivalente al Unload del VB 6. aun se puede cancelar la salida). True. ingrese a la ventana de código. determina el tipo de formulario MDI (interfase de múltiple documento). indica la posición inicial del formulario. Activated. IsMDIContainer. ocurre al salir el puntero del Mouse. permite mostrar un texto en el titulo. permite indicar que siempre se vera en primer plano o delante de los demás formularios.indicar que botón de comando se activara cuando el usuario presione ESC.

_ "Alerta!!!". oculta el formulario. muestra un formulario como ventana Modal. ocurre al mover el formulario. ocurre al mover el puntero Mouse sobre el formulario. liberándolo de la memoria. Codifique en los diferentes eventos. Close.FormClosing Dim rpta As String rpta = MessageBox. cierra el formulario. ocurre cuando cambia el tamaño del formulario.Show("Desea cerrar". MessageBoxButtons. Show. Hide. Move.Cancel = True End If End Sub 17 Luis Zedler Espinoza Claro .MouseMove.YesNo) If rpta = vbNo Then e. siempre visible en primer plano. Resize. Para ingresar a la ventana de código haga doble clic en el formulario. sin descargarlo de memoria. muestra el formulario. cambie sus propiedades. Private Sub Form1_FormClosing() Handles _ Me. Métodos del Formulario. ShowDialog. Ejemplo Agregue un formulario con un Label1.

Load MessageBox.OK) End Sub Private Sub Form1_MouseLeave() Handles _ Me.Text = "Mouse.MouseEnter Label1.Show("Bienvenido". • Con el teclado: presione F5 • Menú Depurar/ iniciar depuración • Barra de herramientas Iniciar depuración.Private Sub Form1_MouseEnter() Handles _ Me. Fuera del formulario" End Sub Private Sub Form1_Move() Handles Me. Como detener la ejecución • Cierre el o los formularios en ejecución.Text = "Mouse. _ MessageBoxButtons. • Barra de herramientas Detener depuración 18 Visual Basic . dentro del formulario" End Sub Private Sub Form1_Load() Handles MyBase. "Hola".MouseLeave Label1.Move Label1.NET .Text = "cambio de lugar el formulario" End Sub Como ejecutar un formulario Tenemos tres formas como ejecutar.

Como agregar un formulario al proyecto. • Ingrese o modifique el nombre que se le asignara al formulario. Observe que ya aparece seleccionado la plantilla Windows Forms. • Menú proyecto • Agregar Windows Forms Con cualquiera de los pasos anteriores. 19 Luis Zedler Espinoza Claro . • Clic en “Agregar Nuevo Elemento” de la barra de herramientas • Clic en “Agregar Windows Forms” Otros pasos opcionales. aparece esta ventana (siguiente imagen). • Finalmente haga clic en aceptar.

Nombre de solución. aquí aparece el nombre de la carpeta que se creará. aquí aparece el nombre del proyecto. Botón Examinar. permite cambiar la ubicación donde se guardara el proyecto. O clic en guardar todo de la barra de herramientas. • Menú archivo. Ubicación.NET . ruta o ubicación donde se guardara el proyecto y todos sus elementos. 20 Visual Basic .Como guardar un proyecto con todos sus elementos. Dentro de esta carpeta se guardara el archivo del proyecto y también se guardara aquí una carpeta con todos los elementos del proyecto. • Clic en Guardar todo. Detalles de la ventana anterior (Guardar todo). Nombre.

la carpeta seleccionada es la carpeta denominada Solución (Operadores). Como abrir un archivo de proyecto.En esta imagen. Dentro de esta otra carpeta con el mismo nombre y el archivo del proyecto. De esta forma el archivo del proyecto se guardara en la única carpeta Operadores. desmarque la casilla de verificación “Crear directorio para la solución”. Si no quiere o no requiere crear una carpeta de solución. Nota. Abrir la carpeta o directorio. Ubicar el archivo del proyecto y haga doble clic Nótese que esta imagen muestra un directorio sin carpeta de solución. el archivo del proyecto aparece 21 Luis Zedler Espinoza Claro .

• Menú Archivo.dentro de la carpeta Operadores conjuntamente con todos los elementos del proyecto. también puede seguir los siguientes pasos: • Abrir el programa Visual Studio. Como cambiar el formulario de ejecución inicial. La siguiente imagen muestra un proyecto con el nombre operadores. • Ubicar la carpeta y seleccione el archivo del proyecto • Clic en abrir O también haga clic en el icono abrir de la barra de herramientas estándar del Visual Studio. • Abrir proyecto. este proyecto contiene 2 formularios. Form1 (es el formulario inicial) y FRMvariables. O también Menú Proyecto / Propiedades de … 22 Visual Basic . Para abrir un proyecto. Doble clic en My Proyect del Explorador de soluciones.NET .

. Cada una de las pestañas fue abierto para trabajar con dicho objeto (formulario. los cambios ya serán ejecutados por el programa de forma inmediata sin necesidad de un botón aplicar o aceptar. etc. aparece la siguiente ventana (imagen).Al seguir cualquiera de los pasos anteriores.vb* . donde cambiaremos el formulario de inicio.vb(Diseño) FRMvariables. Observe que esta seleccionado el panel aplicación dentro del pestaña operadores. para seleccionar el nuevo formulario de inicio. FRMvariables.. ventana de código.Es la ventana de código un formulario.Es la venta de propiedades del formulario. Operadores. Clic aquí. Observe las pestañas en la parte superior de la imagen: Form1. Al seleccionar un nuevo formulario.Es el diseñador del objeto formulario.vb(Diseño)..) Estas pestañas se cierran con el botón x 23 Luis Zedler Espinoza Claro .

indica el carácter que se mostrara como mascara de entrada. ReadOnly. muestra el contenido de cada línea del texto (debe activar la opción Multiline). convierte a mayúsculas o minúsculas el texto. inicializa el texto. deshace el último cambio del texto. Copy. PasswordChar. Métodos AppendText. WordWrap.Control TextBox Propiedades CharácterCasing. si el control es multilínea. habilita las barras de desplazamiento. Clear. Lines. permite indicar el número de caracteres para el control. borra el contenido del TextBox. ScrollBar. Maxlength. ResetText. 24 Visual Basic .NET . indica que el control solo se puede ver pero no editar. Paste. pega el texto del portapapeles al TextBox. Selecciona el texto de un TextBox. añade un texto al final del texto actual. Select. Corta el texto y lo envía al portapapeles. Cut. Undo. habilitada esta opción se puede escribir varias líneas de texto. Multiline. Copia el texto y lo envía al portapapeles. cambia de línea al llegar al final de un texto multilínea.

Image. ImageAlign. permite poner una imagen de fondo al botón. alineación de la imagen dentro del control. ocurre al hacer un cambio dentro del TextBox. indica el orden de fabulación. identifica al botón. TabIndex. El texto que se muestra en el TextBox se encuentra almacenado en la propiedad Text Si activa su propiedad Multiline. TextChanged. comúnmente se una el prefijo btn. ocurre al pulsar una tecla.Eventos Keypress. Permite mostrar un texto dentro del botón. podrá escribir un máximo de 32 KB de texto. Text. Control Button Propiedades Name. imagen que mostrará el control. 25 Luis Zedler Espinoza Claro . BackgroundImage.

Ejemplo (Métodos TextBox): Modificaremos el formulario de la página anterior.Paste() End Sub Private Sub btndeshacer_Click() TextBox2.Eventos Click. adicione un botón deshacer.Click 'Seleccionar los 3 primeros del TextBox1. TextBox1.Cut() End Sub Private Sub btnpegar_Click() 'Pegamos.Undo() 'Deshacemos la ultima accion End Sub 26 Visual Basic .NET . TextBox2.Select(0. 3) 'Copiamos lo seleccionado. Private Sub btncortar_Click() Handles _ btncortar. TextBox1. Es el evento mas usado. el cual debe permitir cortar los caracteres (3) del TextBox1 y pegarlo en el TextBox2. ocurre al dar un clic sobre el botón.

Para ingresar a la ventana de código de un control.Text) > 0 Then Dim base As Single.Nota. ejemplo en el Botón o Textbox. Private Sub calcular() If Len(txtBase. altura As Single. haga doble clic en el control.Text) > 0 And _ Len(txtAltura. Ejemplo (KeyPress): Crear una aplicación que permita calcular el área de un triangulo. _ 27 Luis Zedler Espinoza Claro . Con el siguiente código fuente estamos creando un procedimiento CALCULAR que nos permitirá obtener el área del un triangulo. crearemos un procedimiento para realizar dicha operación y lo invocaremos desde el evento KeyPress del TextBox. sabiendo que la formula es “Área= (Base X Altura) / 2”.

IsDigit(e.Text) altura = Val(txtAltura. ByVal e As _ System.KeyPress. validamos que solo se ingresen datos numéricos.KeyPressEventArgs)_ Handles txtBase.Text = area Else MessageBox. luego invocamos al procedimiento Calcular solo si el usuario presiona Enter.Handled = False Else e. _ txtAltura.Handled = False ElseIf Char.Forms.Windows. Private Sub txtBase_KeyPress(ByVal _ sender As Object.KeyPress 'solo numeros y llamar al procedimiento If Char.NET .OK) End If End Sub En el Evento KeyPress.Show("Faltan Datos".KeyChar) = 13 Then calcular() End If End Sub 28 Visual Basic .Text) area = (base * altura) / 2 txtArea.IsControl(e.area As Single base = Val(txtBase.KeyChar) Then e. "Ojo". _ MessageBoxButtons.Handled = True End If If Asc(e.KeyChar) Then e.

.. Ejemplo (Changed): Crear una aplicación que permita encontrar el código ASCII de una cadena de texto.Nota. Private Sub TextBox1_TextChanged(ByVal_ sender As System. Parámetros de la ventana de código. Sender. ByVal e As _ System.representa una matriz de argumentos.permite indicar con q objeto o evento se ejecutara este evento. Para cambiar de evento o procedimiento de un determinado control.variable que identifica al objeto que recibió el evento. haga clic en el listado de procedimientos y seleccione el requerido.EventArgs) Handles _ 29 Luis Zedler Espinoza Claro . e. Handles.Object..

_ codascii As String nombre = TextBox1. donde podrá elegir una 30 Visual Basic . letra As String.Text.Text = codascii End Sub Control RadioButton El control RadioButton sirve para presentar al usuario opciones a elegir (solo una de todo un grupo).TextBox1. Control CheckBox Permite mostrar casillas de verificación al usuario.Length > 0 Then For Each letra In nombre codascii = codascii & AscW(letra) Next Else codascii = "" End If lblescrito.TextChanged Dim nombre As String. opciones de tipo Verdadero/falso.NET .Trim codascii = "" If nombre. imagen o ambos. se puede Mostar con texto.

Indica si el control cambia de tamaño para ajustarse a su contenido. Permite Mostar una imagen en el control. imagen o ambos. CheckChanged. Controla la apariencia del radiobuttón. CheckAlign. Checked. Se puede mostrar con texto. Cambia de estado cada vez que se da clic.o varios opciones dentro de todo un grupo de Checkbox. ocurre al dar clic sobre el control. ocurre al cambiar el estado la propiedad Checked. Image. Propiedades resaltantes de RadioButton Aparence. Eventos Click. 31 Luis Zedler Espinoza Claro . AutoCheck. Permite alinear el radiobuttón (9 posiciones). AutoSize. Indica si el radiobuttón ha sido seleccionado o no.

que puede ser: Unchecked (Sin marcar). Cambia de estado cada vez que se da clic. ComboBox Propiedades Items. Checked. AutoCheck. o Indeterminate (atenuado). Controla la apariencia del CheckBox. SelectedIndex. Obtiene o establece el índice de base 32 Visual Basic .NET . Obtiene los elementos del control ListBox. ocurre al cambiar el estado la propiedad Checked. CheckAlign. Checked (Marcado). Permite alinear el CheckBox (9 posiciones). SelectionMode. MultiColumn. Indica si el CheckBox ha sido seleccionado o no. Establece si el control admite varias columnas. indica si se podrá seleccionar uno o más filas (elementos). ocurre al dar clic sobre el control. CheckState. CheckChanged. Eventos Click.Propiedades resaltantes de CheckBox Aparence. devuelve el estado del checkBox. ListBox. Control CheckedListBox.

Crear una aplicación que permita hacer un listado de Alumnos. SelectedItems. ocurre cuando cambia el valor de la propiedad Text. 33 Luis Zedler Espinoza Claro . Recupera el formulario en el que se encuentra. Métodos FindForm. FindString. Donde se ingresaran los nombres y apellidos a través de un TextBox. indica los elementos se ordenan alfabéticamente. Obtiene una colección que contiene los elementos actualmente seleccionados. TextChanged. Eventos SelectIndexChanged. Ejemplo. ordenar y borrar todo el listado. La aplicación debe permitir eliminar. Busca el primer elemento que coincida exactamente con una cadena especifica. Sorted. FindStringExact. Busca el primer elemento que comience con una cadena especifica. Ocurre cuando cambia la propiedad SelectedIndex. Obtiene el texto del elemento seleccionado.cero del elemento actualmente seleccionado. Text.

Click If txtNombres.Items.NET .Items.Count End If End Sub 34 Visual Basic .chklista.Clear() lblcontador.chklista.Add(Me.Text = "Total Elementos:” _ & Me. el contador del listado debe actualizarse.Trim.txtNombres. Código fuente: Private Sub btnagregar_Click() Handles _ btnagregar.Text.Text) txtNombres. Vea la imagen del formulario para guiarse.Cuando se agregue o elimine elementos del listado.Length > 0 Then Me.

chklista.TextAlign = HorizontalAlignment.Left End Sub 35 Luis Zedler Espinoza Claro .Text = "" End Sub Private Sub btnCerrar_Click() Me. Public Class FRMopciones Private Sub btnBorrar_Click() TextBox1. cambiar el color de fuente y fondo.Count End If End Sub Ejemplo.SelectedIndex If cod <> -1 Then chklista.Private Sub btnEliminar_Click() Handles _ btnEliminar.Items. cambiar de minúscula a mayúscula. Crear una aplicación que permita insertar una frase a un TextBox a través de un recuadro de dialogo.Items.RemoveAt(cod) lblcontador.Close() End Sub Private Sub RadioButton1_CheckedChanged() TextBox1.Click Dim cod = chklista. la aplicación debe permitir alinear el contenido.Text = "Total Elementos: " _ & Me.

Checked = True Then TextBox1.Right End Sub Private Sub btninsertar_Click() Dim nom As String nom = InputBox("Ingrese una frase".TextAlign = HorizontalAlignment.ForeColor = Color.Checked = True Then TextBox1.White End If End Sub End Class 36 Visual Basic .Blue Else TextBox1.BackColor = Color.ToUpper Else TextBox1.Center End Sub Private Sub RadioButton3_CheckedChanged() TextBox1.Text.Black End If End Sub Private Sub CheckBox3_CheckedChanged() If CheckBox3.Text.BackColor = Color.Private Sub RadioButton2_CheckedChanged() TextBox1.Aqua Else TextBox1.Text = TextBox1.ToLower() End If End Sub Private Sub CheckBox2_CheckedChanged() If CheckBox2.TextAlign = HorizontalAlignment.Text = nom End If End Sub Private Sub CheckBox1_CheckedChanged() If CheckBox1.Checked = True Then TextBox1.Text = TextBox1.NET .ForeColor = Color.Length > 0 Then TextBox1. ":)") If nom.

UNIDAD II Estructuras de datos. Variables y Operadores 37 Luis Zedler Espinoza Claro .

también pueden ser implícitas o explicitas. las conversiones son de ampliación o restricción. Short a Short. Long.NET . Long a Long. convierte una cadena de texto a número. Double Decimal a Decimal. Val.Text) ToString. Byte a Byte. Decimal. Single. Viene a ser el proceso de cambiar un valor de un tipo de dato a otro. Decimal. Decimal. convierte un número a cadena de texto. Integer. según la sintaxis del código fuente. Long. Integer. String Conversión implícita. Single. Long. Single.Tipos de datos. Single. txtimporte. Double. Double. Double Single a Single. Single. Decimal. Short. Precio = Val(txtprecio.Text = Importe. 38 Visual Basic . No requiere de ninguna sintaxis en especial en el código fuente. Conversión de datos.ToString Conversión de ampliación. Integer a Integer. Double Double a Double Char a Char. Double.

diseñe el siguiente formulario.ToString) End Sub End Class Para usar el código anterior. El resultado de la conversión se mostrara en un recuadro de mensaje. debe crear un formulario y agregar 2 botones con el nombre de btnimpli y btnexpli. 39 Luis Zedler Espinoza Claro .77 L = CInt(G) MsgBox(L. Public Class Form1 Dim L As Integer Dim G As Double 'conversion implicita Private Sub btnimpli_Click() L = 999 G = L MsgBox(g. Private Sub btnexpli_Click() G = 11.ToString) End Sub 'conversion explicita.Ejemplo de Conversión.

string y object. CStr a String de numérico. string y object. date. Boolean. Boolean. Una variable tiene un nombre y un tipo de dato. el signo igual (=) es un operador de asignación. string y object. string y object. CDate a Date de string y object. Boolean. CShort a Short de numérico. Boolean. CObj a Object de cualquier tipo.Conversión explicita. Boolean. Integer)” Variables. CByte a Byte de numérico. string y object. Boolean. Cchar a char de string y object. char. string y object. Boolean. como se demuestra en el ejemplo anterior “L = CInt(G) “ Mandatos de Conversión CBool a Boolean de numérico. object CType a tipo especifico después de la coma. 40 Visual Basic . CInt a Integer de numérico. string y object. CDbl a Double de numérico. se usan instrucciones de asignación. Para asignar y efectuar cálculos a una variable. string y object. matriz char. CDec a Decimal de numérico. Ejm. bolean. CLng a Long de numérico. Las variables nos permiten almacenar valores en forma temporal para efectuar cálculos. CSng a Single de numérico. Utiliza un comando o mandato de conversión de tipos seguido del cual va un dato entre paréntesis.: “L = CType(G.NET .

Ejemplo. cuando seleccione el ComboBox aparecerá en el borde una herramienta con imagen de flecha (color negro). Crear una aplicación que muestre los nombres de los productos dentro de un listado (ComboBox). haga clic sobre dicha herramienta para editar elementos o conectarse a una base de datos. Como agregar elementos al ComboBox. Vea la siguiente imagen… En nuestro ejemplo haremos clic en Agregar elementos o también podría realizarlo desde la ventana de propiedades ubique en Items para agregar elementos al ComboBox seleccionado. 41 Luis Zedler Espinoza Claro . la aplicación permitirá ingresar la cantidad y el precio. dando como resultado el importe.

Al seguir cualquiera de los pasos anteriores aparece la siguiente ventana.Text) Precio = Val(txtprecio.Text) Importe = Cantidad * Precio txtimporte. Private Sub BtnCalcular_Click() Dim Cantidad As Integer Dim Precio As Double Dim Importe As Double Cantidad = Val(txtcantidad.NET . se declaran variables para cada dato.ToString End Sub 42 Visual Basic . El siguiente código corresponde al botón Calcular.Text = Importe. donde registrará los elementos para el listado. para editar el listado siga los mismos pasos. Ingrese los datos para el listado y haga clic en el botón aceptar.

a Importe le estamos efectuando cálculos. convierte un número a cadena de texto. convierte una cadena de texto a número. Debe ser única en su ámbito: procedimiento. Dim en el procedimiento solo para el procedimiento. solo permitirá almacenar números enteros. Protected en una clase para toda la clase o una derivada. El nombre de una variable debe comenzar con una letra.En el ejemplo anterior. Private en el modulo alcance solo en el modulo. la variable cantidad es de tipo entero. No debe exceder de 255 caracteres. 43 Luis Zedler Espinoza Claro . Friend en una clase alcance en el assemblie.!. A las 2 primeras variables le estamos asignando datos.%. No puede incluir punto. Declaración de variables.$. formulario.!”·$%. etc. Las variables precio e importe permitirán almacenar números enteros y decimales. Public en el modulo o clase para todo el proyecto. Val.@. Es necesario declarar las variables para especificar su nombre y sus características. ToString. Static en el procedimiento solo para el procedimiento.#.&. Para definir el tipo de dato o de objeto de una variable se usa la cláusula As Ámbito de variables.

Text = edad End Sub Private Sub Button2_Click() If Val(TextBox1.Show() End Sub End Class 44 Visual Basic . Public Class FrmFriend Friend DATO = 1977 Private Sub Button1_Click() TextBox1. (Deberá agregar forms. 1) Variables locales (Dim).Text = DATO End Sub Private Sub Button2_Click() FrmOtro.Text) > 17 Then Dim mensaje = "La edad es:" & Str(edad) MessageBox.Ejemplo de uso de variables: para seguir los ejemplos sugerimos verificar los controles que se usan en el código fuente.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.NET . dentro de la clase y de un procedimiento Public Class Frmlocales Dim edad = 30 Private Sub Button1_Click() TextBox1. botones y textbox con el nombre que aparecen en el código fuente).

vea una comparación con las demás variables (dato1.Items.Items.Add(dato2) End Sub Private Sub Button3_Click() Static dato3 dato3 += 1 ListBox3.Add(dato1) End Sub Private Sub Button2_Click() Dim dato2 dato2 += 1 ListBox2. el valor inicial es 0 (cero).DATO End Sub End Class 3) Una variable Static (dato3).Desde otro formulario invocamos al formulario anterior y su variable Friend. 45 Luis Zedler Espinoza Claro . Public Class FrmOtro Private Sub Button1_Click() TextBox1.Items. Public Class FrmStatic Dim dato1 Private Sub Button1_Click() dato1 += 1 ListBox1. dato2).Add(dato3) End Sub End Class Nota. Cuando no se asigna un valor a la variable declarada.Text = FrmFriend.

Double con 15 cifras.NET .Text = distancia REM single trabaja con 7 cifras y 'decimales.Text = nombres + " " + _ apellidos 'En una variable string el valor ' inicial es empty End Sub End Class 46 Visual Basic .11 TextBox2.Text = edad End Sub Private Sub Button2_Click Dim ganancias As Integer 'valor ' inicial es cero ganancias = 1977.Text = ganancias End Sub Private Sub Button3_Click() Dim distancia As Single = 99336435 TextBox3. Public Class FrmTipoDatos Private Sub Button1_Click() Dim edad As Byte ' enteros edad = 29 TextBox1. End Sub Private Sub Button4_Click() Dim nombres As String = "Isabel" Dim apellidos As String = "Rojas" TextBox4.4) Variables con tipo de dato definido.

Show(v_estado) V_estado = True TextBox1.top += 10 End Sub Private Sub Button4_Click Dim L1 As ListBox L1 = ListBox1 L1.Items. fecha = Now() TextBox2. hoja de excel. conexion 'a bd. End Sub Private Sub Button3_Click() Dim abc As Object 'Puede ser un textBox. etc.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.items. 'o diapositiva abc.add("Hola") abc. abc = ListBox1 '=tabla. MessageBox. celda.Text = fecha.Add("Buenos Dias") End Sub End Class 47 Luis Zedler Espinoza Claro .Date 'muestra sola la fecha.left += 10 'abc. video.Text = v_estado End Sub Private Sub Button2_Click() Dim fecha As Date 'representa fecha y hora.

Una constante es un nombre significativo que constituye a un número o a una cadena que no varia.Text = NroCTA TextBox5.Constantes. no se puede modificar a una constante o asignarle un valor nuevo como ocurre con una variable.Text = ventatotal TextBox2.Text = ventatotal * 19 / 100 TextBox3.Text = Empresa End Sub End Class 48 Visual Basic .NET . Public Class FrmConstantes Public Const ventatotal As Single = 650.Text = fechapago TextBox4. aunque una constante recuerda ligeramente a una variable.0 Const fechapago = #11/10/2008# Public Const NroCTA = "19312926853025" Public Const Empresa = "Export TAURIJA" Private Sub Button1_Click() TextBox1.

concatenación. Los operadores con códigos que realizan operaciones entre 2 o mas elementos y devuelven un valor.op2 As Single Private Sub btnsuma_Click op1 = Val(TextBox1. Estas operaciones pueden ser aritméticas.Text = op1 + op2 End Sub Private Sub btncerrar_Click() Me. comparación.Close() End Sub End Class 49 Luis Zedler Espinoza Claro . Ejemplo. (Diseñe y desarrolle el siguiente Form) Public Class basicos Dim op1 As Single.Text) op2 = Val(TextBox2. lógicos.Text) TextBox3.Operadores.

Text) TextBox3. op2 As Single Private Sub btnPotencia_Click() op1 = Val(TextBox1.Text) TextBox3.Text) op2 = Val(TextBox2.Text = op1 ^ op2 End Sub Private Sub btnResto_Click() op1 = Val(TextBox1.Text) op2 = Val(TextBox2. Diseñe y desarrolle el siguiente formulario utilizando los operadores aritméticos.NET .Text = op1 Mod op2 End Sub 50 Visual Basic .Ejercicio. Public Class frmbasico Dim op1.

El resultado de la comparación se mostrara a través de un mensaje. Y dan como resultado verdadero o falso (True o false respectivamente).Text = op1 \ op2 End Sub Private Sub btnCerrar_Click() Me. Private Sub btnDivisionE_Click() op1 = Val(TextBox1.Text) TextBox3. El siguiente ejemplo permitirá comparar si el segundo texto es igual al primero. permite comparar si el segundo texto esta iniciando correctamente con referencia al segundo texto. use * (Asterisco) como se ve en la imagen del ejemplo 51 Luis Zedler Espinoza Claro .Close() End Sub End Class Los operadores de comparación realizan operaciones con datos de tipo Boolean. El operador Like.Text) op2 = Val(TextBox2.

txt2 As String Private Sub Button1_Click(s) txt1 = TextBox1.Text txt2 = TextBox2.Text z = txt1 Like txt2 MessageBox.NET .Public Class logicos Dim z As Boolean Dim txt1.Show(z) End Sub End Class 52 Visual Basic .

Anidado y Múltiple 53 Luis Zedler Espinoza Claro . Doble. UNIDAD III Estructuras de Control. Simple.

Estas instrucciones nos permiten tomar decisiones y repetir acciones.Estructuras de control.NET . Estructuras de decisión. teniendo en cuenta que esta prueba puede ser verdadera o falsa (Boolean).La mayor eficacia y utilidad de cualquier algoritmo dentro de un lenguaje de programación esta en la posibilidad de cambiar el orden de ejecución con instrucciones de control y bucles.Estas estructuras nos permiten probar ciertas condiciones para realizar determinadas instrucciones u operaciones en función a los resultados de la prueba. Estructuras de control.. Sintaxis de estructuras de decisión: 1) Simple 2) Doble If <condición> Then If <condición> Then <Instrucción X> <Instrucción> Else End if <instrucción Y> End if 3) Anidado If <condiciónA> Then <instrucción X> ElseIf <condiciónB> Then <instrucción Y> Else <instrucción Z> End if End if 54 Visual Basic ..

Simples: Las estructuras condicionales simples se les conocen como “Tomas de decisión”.Net If <condición> Then <Instrucción> End if 55 Luis Zedler Espinoza Claro . Estas tomas de decisión tienen la siguiente forma: Diagrama: SI CONDICIÓN NO Instrucciones a realizar si la condición es verdad Pseudocódigo: Si <condición > Entonces <Instrucción> Fin-Si Sintaxis en .

Nombres completos.NET . • Para poder seleccionar un cargo deberá ingresar el nombre del empleado.Ejemplo: Crear una aplicación que permita registrar los empleados de una determinada empresa. se debe verificar. • Cuando agregue un empleado al listado debe limpiar los datos y deshabilitar el botón agregar. 56 Visual Basic . • 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 botón Agregar. los datos a registrar son. • Para poder agregar al listado. si se ingreso el nombre del empleado. de lo contrario se deshabilitara el cuadro de lista de cargos. Cargo (lista de cargos) y Sueldo. Criterios que tendremos en cuenta para el desarrollo: • Diseñe la interface (vea la imagen del ejemplo).

Enabled = False CbCargo.Length = 0 Then 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.Public Class FrmSimple Private Sub FrmSimple_Load() BtnAgregar.Enabled = True End Sub Private Sub TxtNombre_TextChanged() If TxtNombre.Length > 4 Then CbCargo.Text = sueldo 'habilitar el boton agregar BtnAgregar.Enabled = True End If If TxtNombre.Text.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.Enabled = False End If End Sub 57 Luis Zedler Espinoza Claro .

Text = "" CbCargo. car.Text sue = " y gana : " & txtSueldo.Text = "" txtSueldo.Text = "" CbCargo. Private Sub BtnAgregar_Click() 'decalramos variables para los datos.Enabled = False End If End Sub 'Codifique los botones Eliminar.Text 'agregamos elementos al listado si tienes un nombre.Text car = " es: " & CbCargo.Items. End Class 58 Visual Basic . Borrar y Cerrar. Dim nom.Enabled = False BtnAgregar.Add(nom & car & sue) 'limpiar los datos agregados TxtNombre.NET . nom = TxtNombre. sue As String 'asignamos datos a las variables. If nom <> "" Then LbLista.

Dobles: Las estructuras condicionales dobles permiten elegir entre dos opciones o alternativas posibles en función del cumplimiento o no de una determinada condición. Diagrama de flujo: NO SI CONDICIÓN Instrucciones a realizar Instrucciones a realizar si la condición es falsa si la condición es verdad Pseudocódigo: Si <condición > Entonces <Instrucción x> Si no <Instrucción y> Fin-Si Sintaxis en .Net If <condición> Then <Instrucción> Else <Instrucción> End if 59 Luis Zedler Espinoza Claro .

50) Opcional. 1500.. 5) opcional. El TextBox de Sueldo básico debe estar con la propiedad ReadOnly=True.Crear una aplicación para calcular las remuneraciones de un postulante a un determinado empleo.NET . ONP=9). Seguro de vida (S/. si fuese Nombrado S/. Código fuente. cada RadioButton debe tener en su propiedad Tag un numero que equivale al porcentaje de descuento por AFP (Horizonte=12. (Nótese que a los objetos se les cambio de nombre) 60 Visual Basic . Asignación Familiar (S/.Ejemplo. Integra=11. Se tendrá en cuenta 2 posibles descuentos: AFP obligatorio. si es por Contratado S/. se ofrecen 2 sueldos. Prima=10. 2000.

Text = 1500 End If End Sub Codificamos las opciones de AFP (Nótese los Objetos y eventos seguido del Handles).Text) 'Cojemos el dato del radioButton.ToString txtafp. _ rbONP. _ rbIntegra. evento CheckedChanged Private Sub rbNombrado_CheckedChanged()_ Handles rbNombrado. _ rbPrima.Sabiendo que Handles nos permite indicar con que objeto y que evento se ejecutara un determinado evento.Checked = True Then txtSbasico. afp = sender.tag.Text = 2000 Else txtSbasico.Object.CheckedChanged If rbNombrado. codificaremos en el Radiobutton Nombrado.CheckedChanged. _ rbContratado.Text = basico * afp / 100 End Sub 61 Luis Zedler Espinoza Claro . ByVal e As _ System.EventArgs) Handles _ rbHorizonte.CheckedChanged. Private Sub _ rbHorizonte_CheckedChanged(ByVal sender _ As System.CheckedChanged.CheckedChanged Dim afp. basico As Single basico = Val(txtSbasico.CheckedChanged.

Text) afp = Val(txtafp.Checked = True Then txtSvida.Text) txtneto. Private Sub chkSvida_CheckedChanged() If chkSvida.NET .Text = 0 End If End Sub Codificamos el botón Calcular Private Sub btnCalcular_Click() Dim basico. Private Sub chkasignacion_CheckedChanged() If chkasignacion.Checked = True Then txtasignacion. El botón cerrar debe permitir a salir de la aplicación.Text) vida = Val(txtSvida. asignacion _ As Single basico = Val(txtSbasico.Text = basico .vida + asignacion End Sub El botón otro debe limpiar los TextBox. vida. 62 Visual Basic .afp .Text) asignacion = Val(txtasignacion.A continuación codificamos la casilla de verificación de Seguro de Vida.Text = 50 Else txtasignacion. afp.Text = 0 End If End Sub Codificamos la casilla de verificación de Asignación Familiar.Text = 5 Else txtSvida.

ejecutando para cada caso una serie de instrucciones específicas.Anidado: Son tomas de decisiones especializadas que permiten comparar una variable contra distinta posibles resultados. Diagrama de flujo: SI Condición 1 Instrucciones si la condición es verdad NO SI Instrucciones si la Condición 2 condición es verdad Instrucciones si la NO condición es verdad SI SI Condición 3 Condición 4 NO NO Instrucciones si la condición es Falso SI Instrucciones si la Condición 5 condición es verdad NO 63 Luis Zedler Espinoza Claro .

teniendo en cuenta si es verdad o falso la condición anterior. Pseudocódigo del diagrama anterior: Si <condición1 > Entonces <Instrucción x> Si no Si <condición 2> Entonces <Instrucción Y> Si no Si <condición 3> Entonces Si <condición 4> Entonces <Instrucción M> Si no <Instrucción N> Fin-Si Si no Si <condición 5> Entonces <Instrucción A> Si no <Instrucción B> Fin-Si Fin-Si Fin-Si Fin-Si Nota.NET .Estas estructuras nos permiten realizar o ejecutar condiciones unas dentro de otras. 64 Visual Basic . Estas instrucciones pueden continuar así una tras otra. Es decir si la condición anterior fue verdad puedo determinar una condición o instrucción y si es falsa otra condición u instrucción.

Net (del diagrama anterior) If <condición> Then <Instrucción> Else If <condición> Then <Instrucción> Else If <condición> Then If <condición> Then <Instrucción> Else <Instrucción> End if Else If <condición> Then <Instrucción> Else <Instrucción> End if End if End if End if 65 Luis Zedler Espinoza Claro .Sintaxis en .

Enabled = False End Sub 66 Visual Basic . Private Sub frmbasico8_Load() btnAgregar.Ejemplo. Si los datos son correctos se activara el botón “Agregar datos” para poder agregar la información al recuadro de texto.NET . Verificar los datos de edad. estatura y peso a través de un botón (Verificar datos). Crear una aplicación donde se ingresen los datos de un alumno (como se ve en la imagen del formulario).

Enabled = True End If End Sub Nota. si NO es nro.El código anterior permite desactivar el botón “verificar datos”.Text)) Then MsgBox("Estatura Incorrecto") txtestatura. la estatura ElseIf Not _ (IsNumeric(txtestatura.Text)) Then MsgBox("Peso Incorrecto") txtpeso.Focus() 'si no.Focus() 'si no ocurrio ninguno de los anteiores Else MsgBox("Datos correctos") btnVerificar. Public Class frmbasico8 'declaramos una variable para una cantidad Dim cantidad As Byte = 1 Private Sub btnVerificar_Click() 'preguntar.Text)) Then MsgBox("ingrese edad correcta") txtedad. si NO es nro.Focus() 'si no. preguntar. el peso ElseIf Not _ (IsNumeric(txtpeso.Enabled = False btnAgregar. preguntar. si NO es numero la edad If Not (IsNumeric(txtedad. Se usa ElseIf para evitar repetir el cierre de End If 67 Luis Zedler Espinoza Claro . desde el inicio de ejecución del programa.

Clear() txtpeso.Enabled = False End Sub End Class Práctica Dirigida.Click Dim txt As String txt = RichTextBox1.Enabled = True btnAgregar. Label.Text.Clear() txtedad. 68 Visual Basic .Crear un nuevo Proyecto (Sistema) y agregue los siguientes controles al formulario1 (Seguridad).Text = txt & Chr(13) & _ cantidad & ") " & txtnombre.NET . Cambiar las propiedades según lo indicado en el siguiente recuadro..Private Sub btnAgregar_Click() Handles _ btnAgregar.Clear() txtestatura.Text txtnombre.Trim RichTextBox1. TextBox y Button.Clear() cantidad += 1 btnVerificar.

Este formulario se observara solo si los datos del usuario y contraseña son correctos. 200 Form1 Opacity 90% ShowInTaskbar False StartPosition CenterScreen Text Seguridad del sistema Agregue un formulario(2) al propyecto y asignele un nombre (menuprincipal).Propiedades del formulario1 y obetos. Objeto Propiedad Valor Text Usuario Label1 Forecolor Blue Text Contraseña Label2 Forecolor Blue Name Txtusuario TextBox1 CharacterCasing Upper Maxlength 11 TabIndex 1 Name Txtclave TextBox2 PasswordChar © Name btcAceptar Button1 Text &Aceptar Name btcSalir Button2 Text &Salir Name Frmseguridad aceptbutton Cancelbutton btcSalir MaxinumSize 300. Usuario: LUIS Contraseña: ESPINOZA 69 Luis Zedler Espinoza Claro .

Focus() End If Else 'si el usuario no es correcto MessageBox.NET .Codigo fuente del formulario seguridad.Text) = "LUIS" Then 'preguntar si la contraseña es correcto If Trim(txtclave.Text) 'mostrar el otro formulario (menuprincipal) menuprincipal.Text) = "ESPINOZA" Then 'si todo correcto.Click cerrarsistema() End Sub 70 Visual Basic .Show("Bienvenido al Sistema" _ + txtusuario.Show("Clave Incorrecta") txtclave.Hide() Else 'si la clave no es correcto MessageBox.Focus() End If End Sub Boton Salir Private Sub btcSalir_Click() Handles _ btcSalir.Click 'preguntar si el usuario es correcto If Trim(txtusuario.Clear() txtusuario.Show() 'Oculpar el formulario seguridad Me. mostrar un mensaje MessageBox. Public Class Sistema Boton aceptar Private Sub btcAceptar_Click() Handles _ btcAceptar.Clear() txtclave.Show("Nombre Incorrecto") txtusuario.

Application.close() Me.KeyChar) = 13 Then 'mostrar el cursor en el recuadro clave txtclave. dentro de la clase Sistema.Show _ ("Desea salir del sistema". El mismo que es invocado desde el boton salir.YesNo) If respuesta = vbYes Then Application.Focus() End If End Sub Crear un procedimiento “cerrarsistema”. Se refiere al formulario u objeto actual. cierra todo la aplicación. _ MessageBoxButtons. Sub cerrarsistema() Dim respuesta As Integer respuesta = MessageBox. Close. 71 Luis Zedler Espinoza Claro . _ "Cerrar Sistema". Me. cierra el formulario actual.exit().Exit()‘cierra todo End If End Sub End Class Notas.Recuadro de usuario con el evento Keypress Private Sub txtusuario_KeyPress 'si preciona la tecla enter If Asc(e.

de no encontrar coincidencia se ejecutara el CASE ELSE. Diagrama de flujo: Caso 1 Si no Expresión Caso 2 Caso N Caso 3 Instrucción 1 Instrucción 3 Instrucción 2 Instrucción N Instrucción 72 Visual Basic .Select case Cuando existen varios valores diferentes o posibles valores dentro de un mismo objeto o variable.NET . utilizaremos la instrucción SELECT CASE Para evitar múltiples If… Then…. Else…. select case toma el dato de una variable u objeto y lo evalúa o compara en cualquier caso.

Pseudocódigo: Seleccione <expresion> de casos Caso 1 <Instrucción 1> Caso 2 <Instrucción 2> Caso 3 <Instrucción 2> Caso N <Instrucción N> … Caso Si no es ningún anterior <Instrucción> Fin-Selección Sintaxis: Select Case <Variable u objeto> Case opcion 1 Instrucción 1 Case opcion 2 Instrucción 1 Case opcion 3 Instrucción 1 Case opcion N Instrucción N Case Else Instrucción End Select 73 Luis Zedler Espinoza Claro .

precio As Single 'asignamos el curso seleccionado de la lista 'a la variable curso curso = lbcursos.Ejemplo: diseñe la siguiente interface e interprete el código fuente.Text 'seleccionamos la variable curso Select Case curso Case "Natación" 'En el caso que el curso sea Natación '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" 74 Visual Basic . Private Sub lbcursos_DoubleClick() 'declaramos variables para cursos y precio Dim curso As String.NET .

Text = FormatNumber(precio. 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. 2) End Sub Código fuente del objeto que contiene la edad del postulante al curso de verano. 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. control NumericUpDown. Evento valuechanged.Value Select Case edad Case Is <= 12 'En el caso que la edad sea menor igual a 12 'le asignamos un descuento desc = 50 Case 13 To 18 'En el caso que la edad este entre 13 y 18 'le asignamos otro descuento desc = 15 Case 19. 20 'En el caso que la edad sea 19 o 20 'le asignamos otro descuento desc = 8 75 Luis Zedler Espinoza Claro . txtcosto.

76 Visual Basic .) 20. Case 13 To 18 .Text. esto es aplicable para rangos numericos.Text = costo * desc / 100 'Calcular el neto a pagar txtneto. 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.Indica si la variable tubiese un valor 19 o (.. permite usar operadores de comparacion.Text) 'Calcular el descuento txtdesc.Text End If End Sub Definiciones: Case Is <= 12 .Indica si la variable contiene un valor desde 13 hasta (To) 14.NET .Indica que si la variable edad es (Is) menor igual que 12.Text = costo .Length > 0 Then 'Declarar y asignar una variable para el costo Dim costo As Single = Val(txtcosto. Case 19.. Is.txtdesc.. 20 .

MDI y Menús 77 Luis Zedler Espinoza Claro . UNIDAD IV Bucles y Matrices Procedimientos y Funciones de usuario Manejo de excepciones y errores Cuadros de dialogo.

Next For Each …… Next While… End While. pueden comprobar la condición antes de entrar al bucle o después de que el bucle se haya ejecutado al menos una vez. For … Next.NET . 78 Visual Basic .Es una instrucción repetitiva que utiliza una variable numérica denominada Counter cuyo valor aumenta o disminuye cada vez q se repite el bucle. En el caso del while el bucle se ejecutara mientras la condición permanezca en True. las instrucciones repetitivas son las siguientes: While………. La instrucción del bucle continua mientras el valor de la condición o criterio sea verdadero (True). End While Do ……………Loop (While con condición True y Until con condición False) For ………….Estructuras de Bucles Permiten ejecutar una o más instrucciones repetitivamente hasta que un criterio o condición sea verdadera. agregando instrucciones While y Until.. En el caso de Until el bucle se ejecutara mientras la condición permanezca en False...Es otra estructura condicional repetitiva que se ejecuta al comparar 2 valores y teniendo en cuenta el resultado lógico True o False.. esta variable tiene un inicio (Start) . Do… Loop. estas instrucciones pueden utilizarse para comprobar la condición en un bucle Do… Loop.. un final (End) y un incremento o decremento con la instrucción STEP .Comprueba siempre la condición antes de iniciar el bucle.

dentro de la clase crearemos una matriz de datos (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 79 Luis Zedler Espinoza Claro .Ejemplo de Bucles. Dim sueldo(4) As Single Private Sub FrmBucleFor_Load () 'Asignamos datos a la matriz sueldo. Crear una aplicación con un formulario llamado FrmBucles donde agregaremos un ListBox (Lb) y 5 Button. Public Class FrmBucles 'Declaramos una matriz para 5 datos. el en evento Load del formulario asignaremos los datos a la matriz sueldo.

'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 línea del código 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 numérica 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

80
Visual Basic .NET

'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.

81
Luis Zedler Espinoza Claro

Ejemplo de matriz de datos.
Crearemos una aplicación muy similar al ejemplo
anterior, donde la matriz de datos será indefinida,
además usaremos la instrucción 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

82
Visual Basic .NET

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.Items.Clear() For Each QW In SUELDO Lb. El comando o instrucción Exit permite salir directamente de cualquier estructura de decisión.Items.Private Sub BtnVer_Click() Dim QW As Object Lb. ya sea bucle o procedimiento: Exit Do Exit Try Exit For Exit Sub Exit While Exit Function Exit Select Exit Property 83 Luis Zedler Espinoza Claro .

Sintaxis: Public Sub <Nombre Proced. Un procedimiento es un algoritmo de instrucciones con un ámbito de declaración.Procedimientos y funciones de Usuario. devuelven o asignan valores de propiedades en objetos o módulos. De propiedades. con su respectivo nombre y el final del procedimiento.NET . A un procedimiento se le invoca por su nombre de diferentes partes del proyecto o aplicación teniendo en cuenta su ámbito de declaración. son simples procedimientos que ejecutan una o más instrucciones pero no devuelven ningún valor al ser invocados. las funciones devuelven un valor con un tipo de dato específico. Visual Basic nos permite utilizar los diferentes tipos de procedimientos: Subrutinas (Sub).> (Lista de parámetros) <Instrucciones> End Sub Private Sub <Nombre Proced. dentro del cual se encuentra el procedimiento o instrucciones. son procedimientos de control de eventos. Funciones. De eventos. se ejecutan en respuesta a una acción del usuario en un determinado momento del programa.> (Lista de parámetros) <Instrucciones> End Sub 84 Visual Basic .

Ejemplo 1. Agregar Modulo Aparece la ventana de “Agregar nuevo elemento”. teniendo en cuenta su nota de promedio final. Estos procedimientos serán creados dentro de Module1.VB. En el siguiente ejemplo crearemos 2 procedimientos: El primero permitirá evaluar si un alumno aprobó o desaprobó. Finalmente haga clic en el botón Agregar. si desea puede cambiar el nombre. Desarrollo: Crear una aplicación donde se ingrese el nombre de un alumno y su nota de promedio.Friend Sub <Nombre Proced. Agregar un modulo a la aplicación. El segundo procedimiento nos permitirá limpiar todos los TextBox de un determinado formulario. Menú Proyecto.> (Lista de parámetros) <Instrucciones> End Sub Definiciones: Public/ Private/ Friend: indica el ámbito del procedimiento. Sub: indica que es un procedimiento de instrucciones. 85 Luis Zedler Espinoza Claro . En nombre del modulo aparece como Molude1. donde debe seleccionar modulo.

_MessageBoxButtons. "Siga Intentandolo".ToString.Show("Desaprobado con" & _ Chr(13) & _ nota. El procedimiento verobs tiene un parámetro de entrada.Show("Alumno aprobado con" & _ vbNewLine & _ nota.Observe que en el explorador de soluciones aparece un archivo llamado Module1.OK) End If End Sub Definiciones: El procedimiento creado con el código fuente anterior.VB y al lado izquierdo la ventana de código donde codificaremos nuestras funciones.ToString. tiene el nombre de Verobs. "Felicitaciones". A través de este parámetro ingresamos la nota al procedimiento. donde será evaluado como aprobado o desaprobado. _ MessageBoxButtons.NET . este parámetro tiene el nombre de nota. 86 Visual Basic . Module Module1 'Creamos el primer procedimiento Public Sub verobs(ByVal nota As Byte) If nota >= 10.OK) Else MessageBox.5 Then MessageBox.

desde el boton evaluar Private Sub BtnEvaluar_Click verobs(Val(TxtNota.'Crear un proced. que es ejecutado desde el boton Evaluar del formulario.Focus() End If Next End Sub End Module Diseño del formulario 'Llamar al proced. para limpiar los TextBox Public Sub limpiarTXT(ByVal Formulario _ As Form) Dim x As Control For Each x In Formulario.Text)) End Sub 'Invocar al proced. En el recuadro del mensaje se muestra el resultado del procedimiento verobs.Text = "" x. 87 Luis Zedler Espinoza Claro . limpiarTXT Private Sub BtnNuevo_Click limpiarTXT (me) End Sub Nota.Controls If TypeOf x Is TextBox Then x.

88 Visual Basic .Windows.White End If Next End Sub Public Sub habilitarTXT(ByVal formulario As System.Form) Dim x As Control For Each x In formulario.Controls If TypeOf x Is TextBox Then x. Los procedimientos deberán ser codificados dentro de un modulo al menos para este ejemplo. Los procedimientos tienen como parámetro de entrada un objeto Form. para se indicar el nombre del formulario donde se esta ejecutando el procedimiento. Interprete y analice las rutinas demás código fuente.Enabled = False x.Ejemplo 2.Forms.Controls If TypeOf x Is TextBox Then x.Enabled = True End If Next End Sub Nota.NET . Crear 2 procedimientos uno nos permitirá habilitar los TextBox y el otro deshabilitar.Forms. estos procedimientos servirán para cualquier formulario de una aplicación.Form) Dim x As Control For Each x In formulario.BackColor = Color. Public Sub deshabilitarTXT(ByVal formulario As System.Windows.

Forms.Text) End If Next End Function 'Sumar un Listado Function Sumarlistado(ByVal f As Form. la segunda función deberá sumar todos los números de un listado.Form) As Single Dim t As Control For Each t In f. A continuación crearemos una interface para usar las funciones creados… 89 Luis Zedler Espinoza Claro .Count – 1 n = lista. n As Single For t = 0 To lista.Ejemplo de Funciones.Items.Items. Recuerde que el codigo fuente de procedimientos y funciones se debe crear en objetos Clases o Módulos.Item(t) Sumarlistado += n Next End Function Nota.Controls If TypeOf t Is TextBox Then SumarTodoTXT += Val(t. para poder invocar o llamar desde cualquier formulario. la primera deberá sumar los valores de todos los TextBox. 'Sumar TextBox Function SumarTodoTXT(ByVal f As System. Crear 2 funciones. ByVal lista As ListBox) As Single Dim t As Byte.Windows.

Information. _ MsgBoxStyle. ListBox1) MsgBox(suma. Private Sub BtnSumList_Click() Dim suma As Single suma = SumarTodoTXT(Me) MsgBox(suma.ToString.NET . Diseño del formulario 'Invocamos a la funcion desde un Boton Private Sub BtnSumList_Click() Dim suma As Single suma = Sumarlistado(Me. "Funciones") End Sub 90 Visual Basic .Information. _ MsgBoxStyle.ToString. "Funciones") End Sub El resultado en ambos casos del ejemplo se muestra en un recuadro de mensaje.

Text = suma3(4. 2) 91 Luis Zedler Espinoza Claro .Text = suma3(4. 5. 1. donde el primero y segundo valor deben ser obligatorios y el tercero opcional con un valor predeterminado = 100. 5.Text = suma3(4. _ ByVal b As Single. 2) 'el dato 2 reemplaza a 100  11 Ejercicio. para luego sumarlos. vea… TextBox2. Crear una función que permita recibir 3 valores numéricos. Function Sumar3(ByVal a As Single. 4. 4.Ejercicio. para luego sumarlos. _ 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. 5) 'el tercer parametro C es 100  109 TextBox2. 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. Crear una función que permita recibir X valores.

Es un cuadro de imagen para mostrar imágenes de diferentes formatos. etc. Con el siguiente ejercicio. La imagen del ejemplo muestra el control Picturebox con su ventana de tareas. Es otro de los controles que usaremos en el ejemplo. especificar el modo de tamaño. 92 Visual Basic . veremos como usar los controles PictureBox y TrackBar y validaremos uno de los cuadros de texto usando la estructura Try.NET . 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. Vea el siguiente ejemplo. donde se puede elegir una imagen.

Left = I .Show(ex.Value = Val(TextBox2. si ocurrio un error 'en Instrucciones MessageBox.20 End If End Sub Uso de la estructura Try. Private Sub Button1_Click() Try 'Intrucciones.Código fuente del ejemplo anterior Public Class FrmEjm Private Sub TrackBar1_Scroll() Dim L. I. U. TrackBar1.Text I = PictureBox1.Text) Catch ex As Exception 'mensaje.Value U = TextBox1.Left S = L TextBox1.Message) End Try End Sub End Class El valor inicial del TextBox1 en nuestro ejemplo es 0 93 Luis Zedler Espinoza Claro . S As Integer L = TrackBar1. para validar el cuadro de texto donde se ingresan números de -10 hasta 10. de lo contrario mostrar un mensaje de lo ocurrido.Text = L 'Dar movimiento a la imagen If L > U Then PictureBox1.Left = I + 20 Else PictureBox1.

este error se subraya de color azul con un comentario indicando el error.NET . como por ejemplo tratar de actualizar o guardar una base de datos sin abrirla. aquí podrá personalizar los mensajes de error o excepciones. que tiene las siguientes sintaxis: On Error Resume Next: Indica que si ocurre un error en tiempo de ejecución el flujo continúe en la siguiente línea después de la que origino el error. esto ocurre también durante la conversión de datos que no se ejecutan en determinadas ocasiones. Errores lógicos. Formas de controlar excepciones.Validación de Errores (Excepciones) Los errores o excepciones se clasifican en 3 tipos: errores de sintaxis. realizar una división entera entre cero. suceden al escribir el código fuente como por ejemplo una instrucción mal escrita. errores lógicos. si no de alguna excepción del sistema. etc. Control No estructurado. es mediante la sentencia On Error Goto. errores en tiempo de ejecución. estos errores suceden durante la ejecución de la aplicación. On Error Goto <variable>: Si ocurre un error en tiempo de ejecución. Errores de sintaxis. no son errores de escritura ni lógica. 94 Visual Basic . consiste en resultados inesperados o no deseados. mandatos que debieron ejecutar un proceso sin embargo no se ejecutan. se cancela el flujo y se ejecutan las instrucciones que están debajo de la variable. Errores en tiempo de ejecución.

. Try <Intsrucciones> 'se ejecuta compltamente este 'bloque de codigo 'si no ocurre una excepcion '(error) Catch <variable> As [tipo de dato] <Intsrucciones> ' se ejecuta este error si en ' bloque anterior ocurrio ' una excepcion(error) Catch <variable> As [tipo de dato] <Intsrucciones> ' se ejecuta este error si en ' bloque anterior ocurrio ' una excepcion(error) .Sintaxis: On Error Goto <variable> <Instrucciones> <Variable>: <instrucciones_si_ocurrio_un error> Resume Next Control de errores estructurado.. se implementa usando la estructura Try… Match… Finality. Vea la sintaxis. End Try 95 Luis Zedler Espinoza Claro . es la forma mas apropiada de controlar excepciones.

NET .FileSystem.SearchAllSubDirectories.Items.Items.Clear() End Try End Sub 96 Visual Basic .Computer.Message.Text.SearchOption. Crear una aplicación que permita buscar imágenes dentro de un directorio y subdirectorios. MsgBoxStyle. _ FileIO.Critical) ListBox1.GetFiles( _ Txtruta.jpg") ListBox1.Add(Archivo) Next Catch oe As Exception MsgBox(oe.Ejemplo. Private Sub BtnVer_Click() Try 'SearchAllSubDirectories : incluye archivos 'de Subdirectorios 'SearchTopLevelOnly : solo del nivel actual For Each Archivo As String In _ My. _ "*.

Private Sub ListBox1_SelectedIndexChanged() Try Dim nombre As String = ListBox1. aparece el siguiente mensaje. escriba la ruta del directorio y haga clic en ver para mostrar los nombres de imágenes en el listado.Show(ex.Image = Image.Text PictureBox1. Si ingreso un directorio que no existe. 97 Luis Zedler Espinoza Claro .FromFile(nombre) Catch ex As Exception MessageBox.Message) End Try End Sub Uso de la aplicación.

Cuadros de Dialogo
Los cuadros de diálogo se utilizan para mostrar valores o
solicitar valores. Las versiones .net nos ofrecen la clase
MessageBox para mostrar mensajes al usuario, aunque
también se puede usar la función MsgBox de las
versiones anteriores, la función InputBox nos permitirá
solicitar valores o datos al usuario.
Sintaxis de Clase MessageBox.
MessageBox.Show(Mensaje, titulo, Botones, Icono,
Botón-predeterminado, alineación)
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

Botón-Predeterminado= indica en que botón se
establecerá el focus.
Alineación= indica la alineación del titulo y del mensaje,
y otros.

Ejemplo. Diseñar la siguiente interface, asignar a la
propiedad Tag de cada RadioButton el código (Numero)
de cada Botón (1, 2, 3, 4, y 5), interprete el código
fuente.

98
Visual Basic .NET

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

99
Luis Zedler Espinoza Claro

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 aplicación que nos muestre un
mensaje con botones e iconos.
Códigos de iconos
16 Error, Hand, Stop
48 Exclamation, Warning
64 Asterisk, Information
32 Question
0 None

100
Visual Basic .NET

DefaultDesktopOnly End If End Sub 101 Luis Zedler Espinoza Claro .Forms.Forms.Dim titulo As String Dim boton As _ System.MessageBoxOptions Private Sub chkalineaDerecha_CheckedChanged If chkalineaDerecha. se pondrá en la propiedad Tag de cada RadioButton Public Class FrmMessageBox2 Dim mensaje As String.Windows.Windows.RightAlign Else alinea =MessageBoxOptions. se pondrá en la propiedad Tag de cada RadioButton Los códigos de cada Icono.Forms.Forms.Windows.MessageBoxDefaultButton Dim alinea As _ System.MessageBoxIcon Dim botonfocus As _ System.Windows.Los códigos de cada Icono.MessageBoxButtons Dim icono As _ System.Checked = True Then alinea =MessageBoxOptions.

Private Sub btnMostrar_Click() 'verificar la opcion boton focus If rb_Btn1.Show(mensaje. botonfocus.CheckedChanged. alinea) End Sub Private Sub rbicono1_CheckedChanged() _ Handles rbicono1.Button1 ElseIf rb_btn2.Button3 End If mensaje = txtmensaje.CheckedChanged.CheckedChanged.Checked = True Then botonfocus = _ MessageBoxDefaultButton.Checked = True Then botonfocus = _ MessageBoxDefaultButton.CheckedChanged icono = sender.NET . titulo. _ rbicono5. _ rbicono3.CheckedChanged. icono.Checked = True Then botonfocus = _ MessageBoxDefaultButton. _ rbicono4.Text titulo = txttitulo.Button2 ElseIf rb_btn3.tag End Sub End Class Valores devueltos por la clase MessageBox. _ boton. Los valores devueltos al elegir o dar clic sobre un botón en el recuadro de mensaje se encuentran en la enumeración DialogResult y pueden ser: 102 Visual Basic . _ rbicono2.Text MessageBox.

No Then e. Cancel. Abort. Ok. El código fuente debe de estar en el evento FormClosing del formulario. Ejemplo.DialogResult respuesta = MessageBox. Ignore.Cancel = True 'esto cancela el evento. _ MessageBoxButtons. Retry. Private Sub FrmSistema_FormClosing() Dim respuesta As _ Windows.Forms. Cuando a presionado en el botón No.YesNo) If respuesta = _ Windows. Crearemos una aplicación donde cada vez que intente cerrar el formulario. Cuando a presionado en el botón Si. Cuando a presionado en el botón Reitentar. nos interrogue si deseamos salir o no del formulario o sistema. Cuando a presionado en el botón Cancelar. End If End Sub 103 Luis Zedler Espinoza Claro . No.DialogResult. Yes. Cuando a presionado en el botón Abortar. Cuando a presionado en el botón Ignorar. Cuando a presionado en el botón Aceptar.Show _ ("Desea salir del sistema".Forms. _ "Cerrar Sistema".

104 Visual Basic . _ "Buscar Cliente". Titulo. 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á vacío (“”). Estos controles nos permiten trabajar con algunos utilitarios de Windows como es el caso de: la paleta de color. etc.Function InputBox Muestra un mensaje y un cuadro de dialogo. "C0011") End Sub Cuadros de Dialogo. la venta de abrir. Valor predeterminado) Private Sub Button1_Click() Dim dato As String dato = InputBox("Ingrese Codigo". Sintaxis: <Variable>=InputBox(Mensaje.NET . la ventana de guardar como.

Ejemplo: Crear una aplicación donde podremos cambiar el color de fondo del formulario. Abrir una imagen. Agregar o quitar fichas desde la ventana de tareas. el color de fondo de un TextBox. 105 Luis Zedler Espinoza Claro . Pasos: Agregar el control Mover el TabControl desde el aspa (superior izquierda). El color y tipo de fuente de un texto dentro de un textBox.

FontDialog1.ShowDialog = _ Windows.ForeColor = Me.Color txtParrafo. 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. de esta forma se cambia el titulo de cada ficha del TabControl (Fuente y Abrir).BackColor = ColorDialog1.ShowDialog = _ Windows.Seleccione el recuadro inferior de cada ficha y cambie la propiedad Text.ShowDialog() txtParrafo.Color End Sub 106 Visual Basic .Forms.DialogResult.Font End If End Sub Private Sub btnFondoTXT_Click() ColorDialog1.ColorDialog1.OK Then Me.DialogResult.FontDialog1.OK Then txtParrafo.Color End If End Sub Private Sub btnFuente _Click() If Me.Font = Me.NET .FontDialog1.Forms.BackColor = Me.

OK Then 'Enlazar la imagen seleccionada 'al Cuadro de iamgen (PictureBox) PictureBox1.Forms.Show(ex.Image = _ Image.FileName) End If Catch ex As Exception MessageBox.DialogResult.FromFile(OpenFileDialog1.Private Sub btnAbrir _Click() Try 'Preguntar si seleciono una imagen y 'dio clic en aceptar If OpenFileDialog1.Message) End Try End Sub End Class 107 Luis Zedler Espinoza Claro .ShowDialog = _ Windows.

usaremos objetos de formato de 108 Visual Basic . Predeterminar valores solo numéricos o de texto para ciertos recuadros según el tipo de dato requerido. es decir clasificar a los usuarios para asignarles privilegios según rango o cargo (habilitar y deshabilitar opciones de menú y botones de comando). Validación es prevenir algunos errores en el ingreso de datos que el usuario realice. Ejemplo. aquí algunos aportes para validación de datos. Vea ErrorProvider.NET . NumericUpDown. Deshabilitar (Propiedad Enabled) los recuadros de texto para que el usuario no pueda modificar ciertos datos o establecer su propiedad ReadOnly (de solo lectura). para esto usaremos el evento Keypress donde validaremos a través de códigos ASCII. También podemos validar para ciertos tipos de datos con determinados controles como por ejemplo con el DateTimePicker. MaskedTexBox. propiedad MaxLength. Crear una aplicación donde se registren los datos de un empleado.Validación de datos. Establecer una cantidad máxima de caracteres para los recuadros de texto. entre otros. Restricciones según el usuario registrado en la base de datos. según el tamaño del campo (Field) de una tabla.

Text = Format(DTPfecha.Value.Text = DTPfecha.Value. Public Class FrmValidacion Private Sub MonthCalendar1_DateChanged() Handles MonthCalendar1.Start End Sub Private Sub BtnVerificar_Click() codigo() txtDia. Now.Text = _ Me.VisualBasic.MonthCalendar1.Year.Value.fecha para evitar que el usuario ingrese datos incorrectos al sistema.DateDiff(DateInterva l. "MMMM") txtYear.Value.Date) sodiaco() End Sub 109 Luis Zedler Espinoza Claro .Year 'Format(fecha.SelectionRange.DateChanged txtFechaIngr.Text = Microsoft. "hh:mm:ss tt") txtEdad. DTPfecha. "dddd") txtMes.Text = Format(DTPfecha.

VisualBasic.Trim. mes.Left(nombre. fin As String nombre = txtNombre.Value.Year. 2) mes = Me. Diseñe el siguiente formulario de la siguiente pagina. anio.ToString fin = Microsoft.Text.Start.Private Sub codigo() Dim nombre. 2) txtcodigo. ini.NET . Propiedades del ToolTip: AutoPopDelay=5000 BackColor= a criterio ForeColor=a criterio initialDelay=50 IsBallon=True ReshowDelay=100 ShowAlways=True ToolTipIcon=Info ToolTipTitle= a criterio 110 Visual Basic . End Class A continuación crearemos una aplicación donde se validaran a través de instrucciones o mensajes al usuario.Month. agregue los controles ErrorProvider y ToolTip.Text = ini + mes & anio & fin End Sub 'Crear un procedimeinto que permita encontrar el signo del sodiaco.SelectionRange.VisualBasic.ToString anio = _ MonthCalendar1.ToUpper ini = Microsoft.DTPfecha.Right(nombre.

_ "Nota Incorrecta") Else ErrorProvider1.SetError(sender.Private Sub TextBox1_Validating(ByVal _ sender As Object. TextBox3. _ ErrorIconAlignment.Validating If Val(sender.SetError(sender. ByVal e As _ System. 111 Luis Zedler Espinoza Claro .CancelEventArgs) _ Handles TextBox1.Validating. _ TextBox2.Text) < 1 Or _ Val(sender.ComponentModel.Text) > 20 Then ErrorProvider1.SetIconAlignment(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.Validating.BottomLeft) ErrorProvider1.

generalmente toda aplicación o sistema de información cuenta con un formulario MDI. al agregar al formulario se vera el objeto MenuStrip1 en la parte inferior del área de trabajo. al formulario creado le cambiaremos algunas de sus propiedades. Name = FormularioMDI Text = Soluciones LEC IsMdiContainer=True Menús y barra de herramientas. Del cuadro de herramientas agregar el control MenuStrip. 112 Visual Basic .NET . Crearemos una nueva aplicación con Visual Basic. donde se agregan los menús. selecciónelo haciendo un clic sobre dicho objeto y cambie sus propiedades como por ejemplo su propiedad Backcolor. barra de herramientas. barra de estado entre otros.Formularios MDI Son formularios de documento múltiple (formularios que contienen otros formularios).

Cuando cambie la propiedad Imagen de un Item del Menú. 113 Luis Zedler Espinoza Claro . Imagen M1 Para cambiar las propiedades de una opción o Item. Haga clic donde dice Escriba aquí (como se puede apreciar en la imagen M1). etc. se mostrara la siguiente Imagen M2 ventana (imagen M2). es muy sencillo.Agregar opciones o Ítems del menú. haga clic sobre dicha opción y cambie sus propiedades como por ejemplo: Name Checked Forecolor ShortcutKeys Imagen. Donde deberá seleccionar o importar una imagen.

esto también significa que si estando abierto WFEmpleado y cierro el FormularioMDI. Haga doble clic en la opción deseada y se abrirá la ventana de código. FormClosing nos ayudara a controlar o preguntar en una última instancia si estamos seguros o no de cerrar toda la aplicación. la imagen se agregara al proyecto (como se ve en la imagen M3). 114 Visual Basic .Pero lo más importante es: elegir si será un Recurso local o Archivo de recurso de proyecto. Imagen M3 Codificar un enlace de la opción o Item del Menú. Private Sub EmpleadosMenuItem_Click() REM mostrar el form dentro del MDI WFEmpleado. se cerraran todos los formularios que estén dentro del MDI. si elige la segunda opción.Show() End Sub Con el código fuente anterior.NET . estamos indicando que el formulario WFEmpleado se mostrara dentro de FormularioMDI.MdiParent = Me REM mostrar el form WFEmpleado. Vea e interprete el siguiente código fuente. El método de la clase Formulario MDI.

115 Luis Zedler Espinoza Claro . _ MessageBoxButtons.Question) If rpta = vbNo Then e. _ "Salida del sistema".. _ MessageBoxIcon. cada herramienta puede tomar uno de los controles del listado. texto.Agregar el control ToolStrip a formularioMDI. además nos facilita poder cambiar sus propiedades como asignarle una imagen. como se ve en la imagen M4. entre otros.Show("Esta seguro de _ cerrar toda la aplicacion". Barra de herramientas.Cancel = True 'esto cancela la salida de la aplicación End If End Sub Muestra del código anterior. check de verificación.YesNo.Private Sub FormularioMDI_FormClosing() Dim rpta As String rpta = MessageBox.

Codificar el enlace de la opción de la barra de herramientas. haga clic derecho sobre dicha opción y finalmente haga clic en Eliminar (repita estos pasos para eliminar una opción del menú). Imagen 10 116 Visual Basic .NET . Imagen M4 Barra de estado. sirve para mostrar mensajes al usuario. Haga doble clic sobre la opción que sesea programar y codifique.Si desea eliminar una opción de la barra de herramientas en diseño. puede agregar uno de los controles que se muestran en la siguiente imagen.

obviamente todos diferentes. La interface del formulario. Del Menu: Name (de las opciones de menú). StartPosition. -.de soles a dólares. La aplicación debe contar con un menú de opciones y una barra de estado para información del usurario. TextBox.de euros a soles. Text. Text. CheckOnClick. -- de soles a euros.300). image. Label y Button. Maxinumsize(300. 117 Luis Zedler Espinoza Claro .Ejercicios. tiene un menú con 4 opciones. -. Crear una aplicación que permita realizar cambio monetario: -. En la propiedad TAG de cada opción ponga el tipo de cambio (ej. una barra de estado con 2 paneles. 3. Modificar las siguientes propiedades: Del Form: Name. Forcolor.de dólares a soles.14).

tiene una opción “Barra de estado”.NET . CheckOnClick.Checked = True Then StatusStrip1. ReadOnly. pero si deben estar en orden (TexBox1 es tipo de cambio). vea TextAlign. CheckState.Visible = False End If End Sub Mostrar la fecha del sistema en el primer panel de la barra de estado. 118 Visual Basic . WordWrap.Visible = True Else StatusStrip1. Checked. Esta opción nos permitirá mostrar y ocultar la barra de estado de nuestra aplicación (mas adelante veremos el código). Código fuente Mostrar y ocultar la barra de estado desde el menú (Ver / barra de estado) Private Sub BarraDeEstadoToolStripMenuItem_Click() If BarraDeEstadoToolStripMenuItem. A los TexBox no les cambiaremos el nombre. cambie las siguientes propiedades: Name.El menú Ver.

Private Sub frmMoneda_Load()
Me.StatusLabel1.Text = Now.Date
Me.StatusLabel2.Text = "Elija una
opción"
End Sub
Código del botón Limpiar, permitirá borrar los TextBox.
Private Sub btnlimpiar_Click()
Me.TextBox1.Clear()
Me.TextBox2.Clear()
Me.TextBox3.Clear()
End Sub

Código fuente del conjunto de opciones de menú,
permitirá poner un mensaje en la barra de estado, de
que moneda de
esta haciendo el
cambio.
Establecerá el tipo
de cambio
(almacenado en el
TAG) de cada
opción que se
mostrara en el
Texbox1. Dejara
marcado el check
solamente de la
opción donde dio
un clic.

A continuación el código fuente de los antes
mencionado…

119
Luis Zedler Espinoza Claro

Private Sub
SolesADolaresToolStripMenuItem_Click()_
Handles SolesADolaresToolStripMenuItem.Click, _
SolesaEurosToolStripMenuItem.Click, _
DolaresASolesToolStripMenuItem.Click,_
DolaresAEurosToolStripMenuItem.Click,_
EurosASolesToolStripMenuItem1.Click, _
EurosADolaresToolStripMenuItem.Click

'desmarca check
Me.SolesADolaresToolStripMenuItem.Checked = False
Me.SolesaEurosToolStripMenuItem.Checked = False
Me.DolaresASolesToolStripMenuItem.Checked = False
Me.DolaresAEurosToolStripMenuItem.Checked = False
Me.EurosASolesToolStripMenuItem1.Checked = False
Me.EurosADolaresToolStripMenuItem.Checked = False
'ver moneda en la barra-estado
Me.StatusLabel2.Text = sender.text
'ver el tipo-cambio en el TextBox
Me.TextBox1.Text = sender.tag
'marca el check de opcion donde dio Click
sender.checked = True

End Sub

Código del botón calcular, ejecutara las operaciones de
cambio monetario.
Private Sub btnCalcular_Click()

Dim tipoc As Single, monto As Single
Dim total As Single, opcion As String
If Len(TextBox1.Text) > 0 And _
Len(TextBox2.Text) > 0 Then
tipoc = Me.TextBox1.Text
monto = Me.TextBox2.Text
opcion = Me.StatusLabel2.Text
If opcion = "Soles a Dolares" Then
total = monto / tipoc

120
Visual Basic .NET

End If
If opcion = "Soles a Euros" Then
total = monto / tipoc
End If
If opcion = "Dolares a Soles" Then
total = monto * tipoc
End If
If opcion = "Dolares a Euros" Then
total = monto / tipoc
End If
If opcion = "Euros a Soles" Then
total = monto * tipoc
End If
If opcion = "Euros a Dolares" Then
total = monto * tipoc
End If
Me.TextBox3.Text = total.ToString("###,###.##")
Else
MessageBox.Show( _
"Elega una opcion e ingresar un monto", _
"OJO", MessageBoxButtons.OK, _
MessageBoxIcon.Exclamation)
End If

End Sub

Nota. Se recomienda investigar constantemente, en tal sentido,
investigue las funciones incorporadas del programa, puesto que en
este libro solo se trato de funciones de usuario.

121
Luis Zedler Espinoza Claro

vea la imagen para el diseño. debe sumar las 3 notas y mostrar el resultado en el recuadro de texto correspondiente. debe encontrar el promedio. permitirá salir de la aplicación. El botón Sumar. puesto que aquí no se ingresaran datos. Crear una aplicación que permita ingresar el nombre del alumno. El recuadro de texto de puntos y promedio de estar deshabilitado. El botón Nuevo. El botón Calcular.NET . 122 Visual Basic . 3 calificaciones (Notas). debe limpiar todos los TextBox. El botón Cerrar. Prácticas Ejercicio 1.

= (EsSalud + A F P + C T S) Total = sueldo – Total Dscto.Ejercicio 2. el formulario debe ser parecido a la siguiente imagen. El botón Limpiar servirá para borrar los datos de los recuadros de texto. En los recuadros donde se ingresan los apellidos y nombres no debe permitir ingresar datos numéricos. Al ingresar el sueldo automáticamente deberá calcular los descuentos y totales. El botón Salir. 123 Luis Zedler Espinoza Claro . cerrara la aplicación. Los demás recuadros de texto deshabilitarlos. Se ingresaran apellidos. EsSalud = 3 % del sueldo A F P = 11 % del sueldo C T S = 6 % del sueldo Total Dscto. Crear una aplicación que permita calcular los descuentos de un trabajador. nombres y sueldo. En el casillero donde se ingresa el sueldo solo debe permitir ingresar o digitar números.

diagonales. Ejercicio 7: Calcular el área y perímetro de un Círculo.NET . alturas. Ejercicio 4: Crear una aplicación que permita calcular el área y perímetro de un Rombo. Ejercicio 6: Calcular el área y perímetro de un Triangulo.Ejercicio 3: Crear una aplicación que permita calcular el área y perímetro de un Rectángulo. Nota: Todas las aplicaciones anteriores deben de presentar opciones para calcular (área o perímetro). 124 Visual Basic . teniendo en cuenta lo que se desee calcular deben aparecer los cuadros de texto para ingresar los datos (bases. Ejercicio 5: Crear una aplicación que permita calcular el área y perímetro de un Trapecio. etc.).

Ejercicio 8: Crear una aplicación para la venta de automóviles. máximum=10). El ListBox muestra los autos en venta. dar el subtotal. el IGV y el total de la compra. 125 Luis Zedler Espinoza Claro . El NumericUpDown de descuento permite indicar el porcentaje de descuento sobre el importe de venta (mínimum=0. Ejercicio 9: Crear una aplicación que permita ingresar el precio de un artículo y la cantidad de artículos comprados. cuando se haga clic en uno de ellos se mostrará su descripción y precio. con el siguiente diseño de interface. cuando se indique el porcentaje se calculará el descuento y aparecerá el total. máximum=10). El NumericUpDown de cantidad permite indicar la cantidad de venta (mínimum=0. cuando se indique la cantidad aparecerá el importe.

de 8 a 11. Regular. malo. calcular el descuento y el Neto a pagar. debe 9 % 2001 -. mas su sueldo base. de 15 a 18. 14 % > 4000 Al ingresar el monto de venta.Ejercicio 10: Calcular el sueldo de un vendedor teniendo en cuenta su comisión por ventas. teniendo en cuenta las comisiones respectivas.3000 mostrar su sueldo básico 11 % 3001 – 4000 correspondiente. y mostrar el neto a pagar. Comisión ventas El cuadro combinado contiene 7 nombres de 3 % <= 1000 vendedores. Excelente. 19 y 20. al igual que el Seguro de vida (monto 5.00). de 12 a 14. 126 Visual Basic .2000 uno de ellos. debe calcular y mostrar la comisión. Bueno. Según el promedio encontrar la observación de un alumno: <7. cuando elija 7 % 1001 -. pésimo.NET . Si marca el descuento pro AFP. Ejercicio 11: Modificar el ejercicio 1. si desmarca debe actualizar los datos.

Ejercicio 12: Crear una aplicación que encuentre cuantas vocales tiene una frese de texto. Ejercicio 14: Diseñar una aplicación donde se ingresen 5 números en diferentes cuadros de texto. 127 Luis Zedler Espinoza Claro . Ejercicio 13: Crear una aplicación que cuente los dígitos pares de un número. el programa debe ordenar los números (ascendente) y mostrarlos en un ListBox.

128 Visual Basic . vea la imagen para guiarse.Ejercicio 15: Diseñar una aplicación para cotizar computadoras y perifericos. permitira elegir el numero de letras a pagar (1 hasta 10). con esto se calcula el monto de letra. de 5 a 7. no hay intereses. mayor a 7. el total de intereses y el total acumulado. de 1 a 4.NET . 21%. las letras deben agregar agregarse al listado como se la imagen. contiene los articulos de venta con sus respectivos precios. 77%). conforme va seleccionando los articulos aparecera el importe. El CheckedListBox. El NumericUpDown. igv y total al contado. 11%. Criterios (si es una letra. Para realizar una venta marque la casilla del articulo (s) de esta forma se agregara al listado de venta infererior (componentes elegidos).

calcular el importe. La aplicación contiene un menu contextual con las mismas opciones y funcionalidades de los botones. Boton_Agregar: verificar si ha seleccionado un articulo antes de agregar los datos al lisdado.5). 129 Luis Zedler Espinoza Claro . y total.Ejercicio 15: Crear una funcion que permita encontrar el promedio de un listado de numeros Ejercicio 16: Crear una funcion que permita encontrar el numero mayor de un listado de numeros Ejercicio 17: Crear una funcion que permita encontrar el numero menor de un listado de numeros Ejercicio 18: Crear una aplicación para la venta de articulos de una librería-Bazar. maximum=10). el descuento es 7% de lo contrario 0%. subtotal. si se vende mas de 5 articulos diferentes. Combobox1: contiene el listado de articulos de venta. increment=0. NumericUpDown1: (decimalplaces=2. NumericUpDown2: (minumum=1.

43 Uso de variables. 48 Uso de Operadores. 59 . eventos y métodos de Formularios 14 – 17 ¿Como ejecutar y detener una aplicación? 18 ¿Cómo agregar un formulario a la aplicación? 19 ¿Cómo guardar el proyecto o aplicación?. Indice UNIDAD I PAG 3 Fundamentos teóricos. 11 ¿Como crear una aplicación o proyecto?. 22 – 23 Control TextBox. 38-40 ¿Que es una variables?. 40 Control ComboBox.62 130 Visual Basic . 55-58 Estructura condicional Doble. 21 Cambiar el objeto de ejecución inicial. 41-42 Declaracion y ambito de variables. 20 ¿Cómo abrir un proyecto o aplicación?.52 SEMANA III PAG 53 ¿Que es una Estructura de control?.36 UNIDAD II PAG 37 Tipos de datos – Conversiones.10 ¿Como ingresar al programa?. 44-47 ¿Qué es una Constante?. 4 .NET . 49 . 54 Estructura condicional Simple. 30 – 31 ComboBox CheckBoxList ListBox. 13 Propiedades. 32. 29 Controles RadioButton y CheckBoxList. 24 – 29 Ventana de código. 27 .

63 – 71 Estructura condicional Multiple. 94 – 95 Uso de Try. 72 . 108 Controles de validacion. 78 Uso de Bubles. 82 . 79 – 81 Matriz de datos. 99 – 103 Uso de ImputBox.129 131 Luis Zedler Espinoza Claro . 113 – 114 Barra de herramientas y estado.107 ¿Qué es validacion de datos?. 104 Cuadros de dialogo de windows. 96 . 92 . 122 .93 ¿Que es Excepciones?.83 ¿Que es un Procedimiento de usuario?.Estructura condicional Anidado. 98 Uso de MessageBox. 84 – 85 ¿Como agregar un modulo al proyecto?. 85 Creacion de procedimientos. 112 Menus y barra de herramientas. 109 – 111 Formularios MDI. 115 – 121 Practicas de aprendizaje.76 SEMANA IV PAG 77 ¿Que es una Estructura repetitiva? (bucles).97 ¿Que es un cuadro de dialogo?. 89 – 91 Control PictureBox. 104 . 86 – 88 Creacion y uso de funciones. 112 Menus.