UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS ESCUELA DE COMPUTACION GUIA DE LABORATORIO #01 CICLO: 3/ 2015 Nombre de la Practica: INTRODUCCION A VISUAL BASIC .NET Lugar de Ejecución: Centro de Computo Tiempo Estimado: 2 horas y 30 minutos MATERIA: Lenguajes de Programación 1 I. OBJETIVOS Que el estudiante: Reconozca el entorno de herramientas y ventanas que forman al IDE de Visual Studio .Net Se familiarice con los tipos de proyectos de Visual Basic .NET Elabore programas respetando la sintaxis de VB.NET Aplique los pasos para la construcción de una aplicación de tipo Windows Form. Diferencie uso de los Tipos de Datos y variables que existen en VB.NET Pueda declarar variables en diferentes ámbitos/alcances II. INTRODUCCION TEORICA ¿Qué es Visual Basic? Visual Basic es un ambiente gráfico de desarrollo de aplicaciones para el sistema operativo Microsoft Windows. Las aplicaciones creadas con Visual Basic están basadas en objetos y son manejadas por eventos. Visual Basic se deriva del lenguaje Basic, el cual es un lenguaje de programación estructurado. Sin embargo, Visual Basic emplea un modelo de programación manejada por eventos. ¿Qué es Visual Basic .NET? Es un lenguaje orientado a objetos y eventos que soporta encapsulación, herencia y polimorfismo; comparte el entorno de desarrollo con Microsoft Visual C++ .NET, Microsoft Visual C# .NET, etc. Entorno de Desarrollo Visual Studio es un conjunto completo de herramientas de desarrollo para la generación de aplicaciones Web ASP.NET, Servicios Web XML, aplicaciones de escritorio y aplicaciones móviles. Visual Basic, Visual C++, Visual C# y Visual J# utilizan el mismo entorno de desarrollo integrado (IDE), que les permite compartir herramientas y facilita la creación de soluciones en varios lenguajes. Asimismo, dichos lenguajes aprovechan las funciones de 1 Guía # 01: INTRODUCCION A VISUAL BASIC .NET .NET Framework, que ofrece acceso a tecnologías clave para simplificar el desarrollo de aplicaciones Web ASP y Servicios Web XML. Imagen 1.1: Vista inicial de un proyecto Windows Forms Imagen 1.2: Vista de los controles mas comúnmente utilizados en un formulario Lenguajes de Programación 1 2 Guía # 01: INTRODUCCION A VISUAL BASIC .NET Visual Basic 2012 incluye entre muchas capacidades, la continuación de bucles, la disposición garantizada de recursos, las propiedades de acceso combinado, los tipos de datos sin signo y que aceptan valores NULL, la sobrecarga de operadores, los tipos parciales y genéricos, los eventos personalizados y la comprobación de la compatibilidad con Common Language Specification (CLS). Ambiente de desarrollo para Aplicaciones Windows En VB hay diversas de tipos de proyectos disponibles, de los cuales se trataran a los proyectos de tipo Windows. Estos proyectos presentan un formulario en blanco con las ventanas de apoyo mostradas en la imagen 1.1. Cuadro de Herramientas Dentro de un formulario, VB dispone al programador de una serie de controles, los cuales son las maneras de cómo la aplicación puede interactuar con los usuarios a los cuales ira dirigida la aplicación a construir. Con el .NET Framework 4.5 consta de una diversidad de controles y objetos para usar en las aplicaciones, clasificados en categorías. En la imagen 1.2 se muestran un listado de los controles más comunes utilizados dentro de un form. Una descripción básica de algunos de estos se muestra en la Tabla 1. Observe que cada control tiene su icono, nombre, prefijo y su descripción. Icono Nombre Prefijo Descripción Controles comunes Button btn Se utiliza para iniciar, detener o interrumpir un proceso CheckBox chk Muestra una casilla de verificación y una etiqueta para texto. Se utiliza en general para establecer opciones. ComboBox cbo Muestra una lista desplegable de elementos. DateTimePicker dtp Muestra un calendario gráfico desplegable, que permite que los usuarios seleccionen una fecha o una hora. Label lbl Muestra texto que los usuarios no pueden modificar directamente. ListBox lst Muestra una lista de textos, también llamados elementos. MaskedTextBox msk Captura texto escrito por el usuario, ya sea teniendo un formato de entrada. PictureBox pic Muestra archivos de imágenes, tales como mapas de bits e iconos, gifs, etc. RadioButton rdb Muestra un botón que puede activarse o desactivarse. TextBox txt Muestra texto escrito en tiempo de diseño que puede ser editado por los usuarios en tiempo de ejecución. ImageList img Es un contenedor de imágenes, para que después se use con otros controles. Timer tmr Sirve para realizar un conteo de tiempo, en tiempo de ejecución. Components Containers Lenguajes de Programación 1 3 Guía # 01: INTRODUCCION A VISUAL BASIC .NET Icono Nombre Prefijo Descripción FlowLayoutPanel flp Es un contenedor de controles que no permite la modificación de la posición del control. GroupBox gpb Agrupa un conjunto de controles (tales como botones de opción) en un marco con etiqueta. Panel pnl Agrupa un conjunto de controles en un marco sin etiqueta que permite el desplazamiento. Tabla 1: Descripción de algunos controles más utilizados de la “barra de controles” El prefijo es una combinación de letras que se le sugiere al programador colocar al inicio del identificador (nombre) del control agregado, de acuerdo al tipo del mismo. Con este prefijo, se pretende que al momento de dar lectura a un código con muchas referencias a objetos utilizados, sea más fácil de entender y comprender. Estructura de un programa en Visual Basic El código VB se agrupa en Módulos/Procedimientos y en Clases que se almacenan en 1 o mas archivos. A su vez, estos archivos se agrupan en proyectos, que se compilan en aplicaciones. Los módulos de clase se verán posteriormente en el curso. Módulos estándar Un modulo agrupa código fuente de una aplicación y se almacena en una archivo .vb. Para definir un modulo se usa la sintaxis siguiente: [Public │ Friend] Module nombre_modulo [Sentencias] End Module Procedimientos Tal como recordara en cursos anteriores, un procedimiento es un conjunto de sentencias limitadas en un bloque bajo un nombre. En VB, el bloque de sentencias va limitado entre las declaraciones Sub y End Sub, o Function y End Function, los cuales se utilizan así: Procedimiento Sub: ejecutan acciones pero no devuelven un resultado al código que lo invoco Procedimiento Function: ejecutan acciones y devuelven un resultado al código que los invoco. Procedimientos conducidos por Eventos: son procedimientos que se ejecutan como respuesta a un suceso ocurrido en un programa. Procedimientos que definen propiedades: permiten devolver o asignar valores a propiedades definidas en un modulo, clase o estructura. Procedimientos que sobrecargan operadores. Definen la conducta de un operador estándar en un contexto diferente para el que esta definido. Procedimiento Main Este procedimiento es el “punto de entrada/inicio” de la aplicación, el 1er procedimiento al cual se obtiene acceso al ejecutar el código. Lenguajes de Programación 1 4 Guía # 01: INTRODUCCION A VISUAL BASIC .NET Un procedimiento será invocado desde algún otro lugar en el código, para ceder el control de ejecución a este nuevo código. Al finalizar el procedimiento, retorna el control de ejecución al código que lo mando a llamar. En esta introducción nos centraremos en los procedimientos conducidos por eventos y además a Main. El procedimiento Main es publico (public), no tiene argumentos/parámetros y no devuelve valor al finalizar Un procedimiento activado por evento se crea agregando al encabezado de un procedimiento la palabra Handles y luego la pareja (NomObjeto.NomEvento) al cual será enlazado. Por ejemplo, el siguiente código es un procedimiento que enlaza el evento Clic del control btnSaludo. El código contenido en este procedimiento se activara cada vez que usuario de clic sobre dicho control. Private Sub btnSaludo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSaludo.Click MsgBox ("Hola a todos") End Sub Manejo de Variables en VB.Net Tipos de datos disponibles En Visual Basic Net a toda variable que se use en un programa, se le debe asociar (generalmente al principio del programa) un tipo de dato especifico. Un tipo de dato define todo el posible rango de valores que una variable puede tomar al momento de ejecución del programa y a lo largo de toda la vida útil del propio programa. Varios de los tipos de datos más comunes en Visual Basic Net se muestran en la Tabla 2 Declaración de Variables Para declarar una variable dentro de un procedimiento se realiza anteponiendo el Ambito (ver mas adelante) con la palabra reservada Dim al nombre de la variable, seguida de la palabra reservada As y el tipo de dato declarado. Un ejemplo sencillo sería: Dim strMiVar As String Observe varios ejemplos de declaración de variables en la descripción de los tipos de datos de la Tabla 2. Tipo de dato Tipo en CLR (Visual Basic) (Framework) Boolean System.Boolean Rango valores disponibles True (verdadero), False (falso) Ejemplo: Dim Res As Boolean = True Byte System.Byte Valores positivos (entre 0 a 255). Ejemplo: Dim b as Byte = 129 Date System.DateTime Fechas, entre las 0:00:00 del 1 de Enero del 0001 hasta las 23:59:59 del 31 de Diciembre del 9999. Las fechas deben representarse entre almohadillas # y por lo habitual usando el formato norteamericano: #m-d-yyyy# Dim d As Date = #10-27-2001# Integer System.Int32 Lenguajes de Programación 1 Un número entero (sin decimales). Valores: de -2,147,483,648 a 2,147,483,647. Se puede usar la letra I o el signo % para indicar que es un 5 Guía # 01: INTRODUCCION A VISUAL BASIC .NET Tipo de dato Tipo en CLR (Visual Basic) (Framework) Rango valores disponibles número entero: Dim unEntero As Integer = 250009I Dim unEntero2 As Integer = 652000% Single System.Single Número de coma flotante de precisión simple. Valores: de -3.4028235E+38 a -1.401298E-45 para valores negativos; de 1.401298E-45 a 3.4028235E+38 para valores positivos. Se pueden usar la letra F y el símbolo ! para indicar que es un número Single: Dim unSingle As Single = 987.125F Dim unSingle2 As Single = 65478.6547! String (cadenas longitud variable) de System.String (clase) Depende de la plataforma. Una cadena de caracteres Unicode. Valores: De 0 a aproximadamente 2 billones (2^31) de caracteres Unicode. Se puede usar el símbolo $ para indicar que una variable es un String. Tabla 2: Algunos de los tipos de datos más utilizados en VB.NET Si declaramos un conjunto de variables de un mismo tipo se declaran de la forma: Dim strMiVar1, strMiVar2, strMiVar3 As String En VB NET podemos declarar una variable y asignarla un valor inicial a la hora de declarar esta variable. El siguiente ejemplo, ayudará a comprender mejor esto: Dim strMiVar As String = "Ejemplo en Visual Basic 2005" Inclusive podemos declarar variables de forma anidada y asignarle valores directamente, como por ejemplo: Dim Val1 As Integer = 2, Val2 As Integer = 3, Val3 As Integer = Val1 + Val2 Otro aspecto destacable en la declaración de variables en Visual Basic 2005, es el uso y gestión de variables de tipo String. Este tipo de variables se declaran como Nothing en su inicialización. Es decir, una variable String que se declara por primera vez, no se inicializa a "" -cadena vacía- sino que se inicializa a un valor Nothing. Observe esta demostración: Private Sub Form1_Load(ByVal sender As System.Object, ByVal e AsSystem.EventArgs) Handles MyBase.Load Dim strValor As String If strValor Is Nothing Then MessageBox.Show("guarda Nothing") Else MessageBox.Show("Tiene datos") End If End Sub Este ejemplo, mostrará en pantalla que el valor de la variable strValor es “Nothing”, y que por lo tanto, se trata de una variable no inicializada. Por último, mencionar un aspecto destacable sobre el carácter " en las cadenas de texto. Una cadena de texto debe de ser introducida entre caracteres ". Sin embargo, podemos encontrarnos con la posibilidad de que queremos Lenguajes de Programación 1 6 Guía # 01: INTRODUCCION A VISUAL BASIC .NET escribir este mismo carácter dentro de la cadena de texto. Esto se hará duplicando siempre el carácter " que queremos escribir. Si por ejemplo queremos escribir la palabra Hola “Mundo”, declararemos nuestra variable como: txtVar = "Hola ""Mundo"" Ambito de las variables El ámbito indica en que lugar de la aplicación podra y deberá utilizar la variable. Puede ser una de las siguientes palabras claves. Dim, Static, Private o Public. Dim: Se puede utilizar a nivel de procedimiento y a nivel del formulario. Si se declara una variable a nivel de procedimiento con la palabra Dim, Visual Basic reinicializa (borra su contenido) la variable cada vez que ejecuta el procedimiento. Ejemplo: Dim a As Integer Static: Se utiliza solo a nivel del procedimiento. Cuando una variable se declara con la palabra Static, Visual Basic no reinicializa la variable cada vez que se ejecuta el procedimiento, solo lo hace la primera vez. Esto quiere decir que la variable conserva su valor entre una llamada al procedimiento y otra. Ejemplo: Static b As Double Private: Se utiliza solo a nivel del modulo e indica que la variable es privada; es decir, solo va a ser reconocida dentro del módulo donde ha sido declarada, ejemplo: Private c as String Public: Se utiliza solo a nivel de módulo e indica que la variable es pública; es decir, va a ser reconocida en toda la aplicación. Ejemplo Public d As Date Declaración de Constantes Dentro de una aplicación, puede ser adecuado e interesante la declaración y uso de valores constantes cuyo valor asignado, no sea modificable a lo largo de la aplicación y que se utilice para un caso o ejecución determinada. El típico valor constante de ejemplo en toda demostración del uso y declaración de variables constantes es el valor PI. Para declarar una variable de tipo constante, tendremos que declarar el tipo de variable con la palabra reservada Const delante de la variable. Observe el siguiente ejemplo: Private Sub Form1_Load(ByVal sender As System.Object, ByVal e AsSystem.EventArgs) Handles MyBase.Load Const PI As Double = 3.1416 Dim dValor As Decimal dValor = (2 * PI) ^ 2 MessageBox.Show(dValor) End Sub Expresiones en VB: Prioridad en los Operadores Los operadores mas utilizados en la redaccion de expresiones en VB.NET se muestran en la Tabla 3. Cuando se escriben aplicaciones es posible que tenga que utilizar varios operadores para evaluar una sola expresión ó conjunto de ellas. Dim dblRet As Double dblRet = 5 * 4 / 6 ^ 4 + 9 – 100 'devuelve -90.9845679012346 Console.WriteLine(dblRet) Console.ReadLine() En esta expresión, se utilizan cinco operadores para recuperar el valor de la variable dblRet. El orden de prioridad en el que se evalúan los operadores afecta al resultado. Lenguajes de Programación 1 7 Guía # 01: INTRODUCCION A VISUAL BASIC .NET Dim dblRet As Double dblRet = ((5 * 4) / 6) ^ 4 + 9 - 100 'devuelve 32.4567901234568 Console.WriteLine(dblRet) Console.ReadLine() En ambos ejemplos, se observa que aunque utilicen los mismos números, los resultados son diferentes en función del uso de los paréntesis. Por lo tanto hay que tener en cuenta dos elementos: 1. La ubicación de los paréntesis en la expresión 2. El orden de los operadores en la expresión # Agrupación 1 () ARITMÉTICOS COMPARATIVOS LÓGICOS 2 Exponenciación (^) = Negación (Not) 3 Negación (-) <> Conjunción (And, AndAlso) 4 Multiplicación y división (*, /) < 5 División de números enteros (\) 6 Módulo aritmético (Mod) 7 Suma y resta (+, -) 8 Operadores a bits 9 Concatenación de cadenas (&) > <= >= Disyunción (Or, OrElse, Xor) Like, Is… Tabla 3: Jerarquía de algunos de los Operadores de VB.NET Cuando se utilizan paréntesis en una expresión, son los primeros en calcularse, por lo tanto en los ejemplos anteriores, se dan dos resultados diferentes porque los paréntesis anulan el orden de prioridad de los operadores, lo que ocasiona que una porción ó varias de la expresión se evalúen por otras. A continuación se incluye un resumen de las reglas: La evaluación de los operadores se efectúa de izquierda a derecha. Los operadores aritméticos se evalúan siempre en primer lugar, seguidos de los operadores comparativos y, por último, los operadores lógicos. Los operadores comparativos tienen el mismo orden de preferencia. Las operaciones encerradas entre paréntesis se evalúan antes que las operaciones situadas afuera. El operador de concatenación precede a todos los operadores comparativos y se sitúa detrás de los operadores aritméticos. FUNCIONES DE CONVERSION DE TIPOS. Son funciones del sistema que sirven para hacer conversiones de tipos de datos, pasar una variable de un tipo de dato a otro, siempre y cuando la variable que queremos convertir contenga un valor valido equivalente al tipo de dato que queremos convertir. Las funciones de conversiones () se deben utilizar cuando tenemos activo el Opcion Strict que obliga a utilizar los tipos de datos adecuados sino genera un error. Las funciones de conversión más comunes son: Nombre de la función CBool(expresion) Tipo de dato que devuelve Boolean Lenguajes de Programación 1 Valores del argumento Cualquier valor de cadena o expresión numérica. 8 Guía # 01: INTRODUCCION A VISUAL BASIC .NET Nombre de la función Tipo de dato que devuelve Valores del argumento CByte(expresion) Byte De 0 a 255; las fracciones se redondean. CChar(expresion) Char Cualquier expresión de cadena; los valores deben ser de 0 a 65535. CDate(expresion) Date Cualquier representación válida de una fecha o una hora. CDbl(expresion) Double Cualquier valor Double. CDec(expresion) Decimal Cualquier valor Decimal CInt(expresion) Integer Cualquier valor Integer CLng(expresion) Long Cualquier valor Long. CObj(expresion) Object Cualquier expresión válida. CShort(expresion) Short Cualquier valor Short. CSng(expresion) Single Cualquier valor Single. CStr(expresion) String Depende del tipo de datos de la expresión. (Ver nota [A]) Val(expresion) Double Una cadena de caracteres. Fix(expresion) Depende del tipo de datos de la expresión Cualquier tipo de datos Int(expresion) Depende del tipo de datos de la expresión Cualquier tipo de datos [A] Todos los objetos de vb.NET tienen unos métodos para realizar conversiones a otros tipos, al menos de número a cadena, ya que tienen la propiedad .ToString que devuelve una representación en formato cadena del número en cuestión (igual que CStr). Tabla 3: Lista de funciones intrínsecas más comunes Sentencias de Control Condicional En VB se dispone de las siguientes estructuras de tomas de decisiones: If … Then [ Else ] Select Case Ambas estructuras son equivalentes en su ejecución a las estructuras if-else y switch de lenguaje C, respectivamente. Observe la sintaxis de uso en Tabla 4. Estructura If-Then-[Else] Estructura Select Case Select [Case] [(]ExpresionaProbar[)] If [(] Condición[)] Then Case Expresion1 Sentencias cuando se cumpla Condición [sentencias 1] [Else [Case Expresion2] Sentencias a ejecutar al no cumplir condición [sentencias 2] ] End If [Case Else] [sentencias n] End Select + Nota: los elementos entre [ ] son opcionales Tabla 4: sintaxis generales de estructuras repetitivas de VB Lenguajes de Programación 1 9 Guía # 01: INTRODUCCION A VISUAL BASIC .NET Con respecto a estructura Select Case… La variable ExpresionaProbar puede ser una expresión numérica o alfanumérica, y Expresion1, Expresion2… representan una lista de expresiones que pueden tomar estas formas: En todas estas formas, Expresion debe ser del mismo tipo que la ExpresionaProbar. Expresion[, Expresion] … Expresion To Expresion Is Operador-de-relacion Expresion Combinación de las anteriores Observe algunos ejemplos a continuación Case Is < 4 ‘ que ExpresionaProbar sea menor que 4 Case Is >= Q ‘ que ExpresionaProbar sea mayor o igual que valor Q Case 3 ‘ que ExpresionaProbar sea igual a 3 Case W To 52 ‘ que ExpresionaProbar este ubicado en el rango: valor de W hasta 52 máximo Case 7, A ‘ que ExpresionaProbar sea igual a 7 o igual al valor de A Case “si”,”SI” ‘ que ExpresionaProbar sea “si” o “SI” Case 6, -12 To 4 ‘ que ExpresionaProbar sea igual a 6, o que se ubique en rango -12 a 4 Si estructura Select no encuentra coincidencia con ninguna de las expresiones de pruebas Case, buscara ejecutar bloque Case Else. Comentarios (ayuda para ti programador!!) Cuando una línea de un programa, o parte de ella, va precedida de una comilla simple (‘), VB ignorara esta línea como un comentario, iniciando del carácter siguiente hasta el final de esa línea. III. MATERIALES Y EQUIPO Para la realización de la guía de práctica se requerirá lo siguiente: No. 1 Requerimiento Cantidad Guía de Laboratorio #01 de LP1 1 PC con Microsoft Visual Studio 2012 .NET instalado 1 2 Memoria USB 1 3 Computadora con acceso a Internet 1 Lenguajes de Programación 1 10 Guía # 01: INTRODUCCION A VISUAL BASIC .NET IV. PROCEDIMIENTO Para esta práctica deberá crear una carpeta con el nombre de “Práctica1LP1”, en la cual va a guardar todos los archivos de esta práctica y de análisis de resultados. PARTE 1: Creando una Aplicación Windows Pasos para la creación de aplicaciones en Visual Basic 1. En el menú Inicio de Windows, localice a Microsoft Visual Basic 2012 dentro del listado de accesos de programas instalados 2. Aparecerá la pantalla de bienvenida que es la interfaz para Visual Studio, también conocida como Entorno de Desarrollo Integrado o IDE. 3. Haga clic en el menú Archivo y luego sobre opción Nuevo Proyecto… 4. Aparece el cuadro de diálogo Nuevo proyecto (Ver Figura 1.1). 5. De las plantillas recientes (ver columna a la izquierda), seleccione Visual Basic y luego su plantilla “Windows”. En la parte central, de clic sobre opción “Aplicación de Windows Forms” Figura 1.1: Selección de tipos de Proyectos en Visual Studio .NET 6. En la parte inferior, en la opción Nombre, modifíquelo con el nombre Ejemplo1, el cual será el nombre de nuestro proyecto. Haga clic en Aceptar. 7. Ahora proceda a incluir en el area de Diseño del Form, a c/u de los controles mostrados en la Figura 1.2 Apóyese en la imagen 1.1 (de la introducción teórica), localice el panel Cuadro de herramientas y determine el tipo control a utilizar. 8. Hay 2 maneras de agregar los controles deseados al formulario: a) Dar clic sobre control de la barra herramientas y dar un clic en el area del form que usara ese control. b) Dar clic sobre el control en barra herramientas y luego, colocar cursor del ratón sobre area del form, manteniendo presionado botón principal. Lenguajes de Programación 1 11 Guía # 01: INTRODUCCION A VISUAL BASIC .NET Establecer las propiedades de los Controles 9. Las propiedades de un Control, cambian la apariencia y/o el funcionamiento del mismo ante el usuario que usa el form. Una propiedad en Visual Basic representa un atributo de un objeto, en este caso, un Control. Por ejemplo: Uno de los atributos de un control Button es el texto que este muestra. En este caso, se puede modificar al asignar la propiedad Text. La mayoría de éstas modificaciones también se pueden establecer o modificar dentro del código del programa Las propiedades pueden tomar muchos tipos diferentes de valores además del texto. Si se cambia el tamaño de un control o se reubica, también se actualizan las propiedades Size y Location que determinan el tamaño y la ubicación de un control en el formulario. CONTROL Form1 Button1 Button2 Figura 1.2: Vista Formulario del Ejemplo 1 y los controles requeridos. Button3 PROPIEDAD Nuevo VALOR Text Pruebas variables BackColor Un color Personalizado a su gusto Name btnContar Text Contar Name btnReinicio Text Reiniciar conteo Name btnFin Text Salir programa de ámbito de 10. En la tabla de la Figura 1.2 se detalla a los diferentes controles colocados en el Form1 y las propiedades (y su nuevo valor) que debera modificar antes de continuar. Observe uso de prefijos en el identificador de c/control (que es definido en propiedad Name de c/control). Agregar el código y la funcionalidad al Programa 11. Para agregar código a un determinado control se debe de hacer doble clic sobre el. De doble clic sobre un area del control Form1. Se abrirá una nueva ventana denominada Editor de código, como se muestra en la Figura 1.3. Figura 1.3: Editor de código de Visual Studio .NET En la parte superior se muestran los contenidos de los archivos de código y diseño de los objetos Form y modulo. Luego hay 2 listados de selección en la parte superior, el de la izquierda muestra los Nombres de Objetos disponibles y a la derecha los Nombres de los Procedimientos de Eventos en los cuales se agregaran los codigos a Lenguajes de Programación 1 12 Guía # 01: INTRODUCCION A VISUAL BASIC .NET programar. Estos permiten ubicar al cursor de escritura en el modulo y procedimientos correctos a programar. 12. En la Figura 1.3, el Editor de código muestra primero el encabezado-final del modulo de clase Form1, el cual contendra a su vez todo el código utilizado para programar a los objetos insertados en el mismo. Luego se muestra el encabezado-final del procedimiento de evento Load del objeto formulario Form1, asi: 13. Este código es un Controlador de evento, también denominado procedimiento Sub manejado por evento. Cualquier código dentro de este procedimiento (entre Sub y End Sub) se ejecuta cada vez que suceda el evento programado para ese control. 14. Ejecute el programa creado hasta aquí. Lo puede hacer de tres formas diferentes: • Presionando la tecla F5 • Eligiendo en el menú Depurar -> Iniciar Depuración • Haciendo clic en la Barra Estándar en el 1er icono del siguiente trio de la barra de botones Estándar. 15. Finalice la ejecución del programa en diseño, seleccionando el 3er boton del trio mencionado en paso anterior. PARTE 2: Declaración de variables y Ambito/Alcances de las mismas 16. Retorne a la ventana de código del form1. Desplace el cursor en cada línea de código y observe que el listados superiores de ubicación de código cambian de acuerdo a donde se localice el cursor. 17. Ahora redacte cada bloque de código a continuación. Para ello, seleccione c/objeto y el Evento/Nivel a programar (de los cuadros de selección objeto-eventos superiores) indicados. (*) Por cada selección cuide la ubicación del cursor, porque VB le ayuda a colocarlo al inicio del bloque donde usted ha ubicado a las opciones de objetos y eventos para programar!! Objeto y Evento/Nivel código a incluir Form1 (Declaraciones) Declarar variable: mensa, tipo string de alcance privado. Declarar variable: conta, tipo int de alcance privado y poner como comentario esta línea. (Form1 eventos) Load Agregar el siguiente comentario: Evento se ejecuta al iniciar ejecución de Form1 Asignarle a mensa la siguiente cadena: "Aun no ha presionado botón Contar" Hacer que label1 muestre el contenido de mensa Lenguajes de Programación 1 13 Guía # 01: INTRODUCCION A VISUAL BASIC .NET btnContar Click btnReinicio Click BtnFin Click 18. Ejecute nuevamente la aplicación, observe el mensaje en la Label1. De clic sobre el botón Contar. Observe que variable conta cuenta el total de clic hechos al control por usuario. 19. De clic varias veces en botón Contar. Vera que no funciona el conteo hecho por la variable conta, siempre muestra 1 vez ha hecho clic. 20. De clic en boton Salir programa. El programa finaliza su ejecución y retorna a la etapa de diseño. 21. Localice el código del evento Clic del control btnContar y reeemplace la palabra reservada Dim de la declaracion de variable conta, por la palabra Static. 22. Ejecute nuevamente el programa y de clic varias veces en el boton Contar. Responda ¿Ahora funciona el conteo?, ¿Por que?, Explique!! 23. Finalice ejecución y regrese a la ventana de Diseño del Form1. Ubique el cursor en el código del evento Click del botón btnReinicio y reactive (quitando comilla simple de comentario) a las asignaciones a las variables conta y mensa ejecutadas ahi. 24. Vera que se marca error al indicar que variable conta no esta creada en el procedimiento Button2_Click 25. Para corregirlo, comente la línea de declaracion de variable conta, ubicada en evento click del btnContar 26. Seleccione Objeto Form1 y Nivel de (Declaraciones) de los cuadros de listas de ubicación del Cursor, para luego agregar ahi una nueva declaracion: Dim conta As Integer 27. Vuelva a ejecutar el programa y en algun momento presione boton btnReinicio. El valor de variable conta sera asignado a cero 28. Guarde su proyecto, presionando opcion Archivo/Guardar Todo.... Observe la ubicación (carpeta de proyectos de Visual Studio) predetermina que ofrece Framework. Guarde su proyecto en carpeta mis documentos del usuario con el cual ha iniciado sesión en su PC. 29. Finalmente localice y presione opcion Archivo/Cerrar Proyecto Lenguajes de Programación 1 14 Guía # 01: INTRODUCCION A VISUAL BASIC .NET PARTE 3: Tomas de decisiones (If Then Else) Ahora procedera a solucionar este problema: “Una administradora de prestamos requiere ingresar los datos de un prestamo (Monto a prestar, Tasa interes mensual y total de años (a 2 años inicialmente)) que se entregara a una Empresa ingresada. Determine el monto final que se pagara”. 1. De clic en la opción Archivo/Proyectos y soluciones recientes. 2. En esta lista de proyectos recientes, localice el nombre del proyecto (archivo Ejemplo1.vbproj) utilizado hasta ahora. 3. En la ventana Explorador de Solución, ubique el nombre del proyecto actual y de clic secundario sobre el mismo. Del menú emergente seleccione opción Agregar, luego Windows Forms… 4. En la ventana “Agregar nuevo elemento- Ejemplo1”, observe que en la parte central ya esta seleccionado “Windows Forms”. Confirme en última opción (Nombre: ) que el nombre del archivo sea (Form2.vb) y presione Agregar. Observe que se muestra un nuevo form vacio y también, desde el explorador de solución, se agrega un elemento mas (Form2.vb) al proyecto actual. 5. Luego, desde el explorador de soluciones de clic derecho sobre el proyecto (Ejemplo1), para seleccionar opción Propiedades. En esta ventana, ubique opción “Formulario de inicio” y modifique valor a Form2. 6. Guarde los cambios del proyecto actual. 7. Luego aplique al Form2 el diseño definido en Figura 1.4. Figura 1.4: Diseño de controles del Form2 8. Con mucho cuidado, seleccione a cada control mostrado en la tabla a continuación, para luego modificar a c/propiedad solicitada ahí con el valor indicado. Lenguajes de Programación 1 15 Guía # 01: INTRODUCCION A VISUAL BASIC .NET (propiedades) (controles) Name Text Form2 Calculo del Monto a Prestamo Label1 lblEmpresa Nombre de Empresa: Label2 lblMonto Monto prestamo ($) Label3 lblTiempo Tiempo (años) Label4 lblTasaInter Tasa Interes: RadioButton1 rdbInteres1 12 % RadioButton2 rdbInteres2 23.5 % RadioButton3 rdbInteres3 Otro, indique: TextBox1 txtEmpresa (vacio) TextBox2 txtMonto (vacio) TextBox3 txtTiempo 2 TextBox4 txtTasaInterEX 0 Button1 btnAnalisis Analisis Financiero Button2 btnFin Salir del programa ListBox1 lstResul Enabled Checked pagar por un True False False * Extra: Para el cuadro lstResul, seleccione además la propiedad Items, y presione en Colecciones.. que se indica ahí, para luego agregar valor: (Resultados). Esto agregara este texto como 1er elemento del control lstResul 9. Realice la siguiente asignación de código, de acuerdo al objeto y evento indicados a continuación. Objeto y Evento/Nivel código a incluir Form2 (Declaraciones) Declarar variable: TasaI, tipo double de alcance privado. rdbInteres3 CheckedChanged rdbInteres1 Click Asignar a TasaI el valor de 0.12 rdbInteres2 Click Asignar a TasaI el valor de 0.235 btnFin Click Instrucción para finalizar aplicación. Lenguajes de Programación 1 16 Guía # 01: INTRODUCCION A VISUAL BASIC .NET btnAnalisis Click 10. Guarde los cambios del proyecto actual y ejecute la aplicación. Para ver las validaciones de entradas programadas, equivóquese a propósito en varios de los datos ingresados y presione boton btnAnalisis Lenguajes de Programación 1 17 Guía # 01: INTRODUCCION A VISUAL BASIC .NET PARTE 4: Tomas de decisiones (Select Case) Problema a solucionar: “Solicite cada apellido y los nombres de un estudiante, así como el valor del CUM obtenido de su ultimo ciclo de estudios. Determine el total de unidades valorativas que un estudiante puede llevar en el próximo ciclo de estudios según el valor del CUM ingresado. Cuando el CUM es mayor a 7.5, puede llevar 32 UV máximo, si tiene entre 7 hasta 7.5, llevaría 24 UV Max, si tiene CUM entre 6 a 6.9, cursaría 20 UV. Y finalmente de 1 a 5.9, serán 16 unidades valorativas. En cualquier otro caso cursara 0 UV”. 1. Abra nuevamente el proyecto creado en la parte 1, y agregue un nuevo formulario. 2. Luego diseñe el siguiente esquema de objetos (mostrado en Figura 1.5) en este nuevo form (Form3) (Propiedades) (controles) Name Form3 Figura 1.5: Diseño de controles del Form3 3. Text Calculo de UV a cursar Label1 lblApe1 1er Apellido: Label2 lblApe2 2do Apellido: Label3 lblNom Nombres Label4 lblCUM Valor CUM TextBox1 txtApe1 (vacio) TextBox2 txtApe2 (vacio) TextBox3 txtNom (vacio) TextBox4 txtCUM 0.0 TextBox5 txtResul Resultado de evaluación Button1 btnAnalisis Calcular UV Button2 btnFin Salir del programa Proceda a digitar el código detallado a continuación, en cada evento y objeto especificado. Objeto y Evento/Nivel código a incluir Form3 (Declaraciones) Declarar variable: noms,ape1,ape2 tipo string de alcance privado. Declarar variable: CUM tipo double de alcance privado. Declarar variable: UV tipo int de alcance privado. Digitar el siguiente codigo: Lenguajes de Programación 1 18 Enabled de False Guía # 01: INTRODUCCION A VISUAL BASIC .NET btnAnalisis Click Realizar las respectivas validaciones vistas en el ejercicio 2. Llamar a EvaluarCUM, donde usted crea conveniente. btnFin Click Instrucción para finalizar aplicación. 4. Guarde los cambios del proyecto actual y ejecute la aplicación. Para ver las validaciones de entradas programadas, equivóquese a propósito, ingrese el CUM, pero olvídese de los nombres, y otros casos. 5. En evento Click del boton btnFin redacte un mensaje de despedida y realice el final de ejecución EJERCICIOS A REALIZAR AL FINALIZAR PROCEDIMIENTO: A. B. Abra nuevamente el proyecto utilizado en la PARTE 3 del procedimiento de esta Práctica y proceda a realizar los cambios necesarios para validar a los parámetros faltantes del préstamo que aun no se han programado. Además, incluya otro botón, el cual permitirá deje en blanco a todos los textbox’s y cuadro de lista y el foco en el 1er textobox. Desarrolle un nuevo proyecto denominado proyNUMEROS que resuelva las tareas siguientes + Permita el ingreso de 10 números decimales cuales quiera. Cada nuevo numero ingresado se mostrara en una de 2 listas diferentes (una para valores positivos y en la segunda, los valores negativos). + Una vez finalice el ingreso, se mostrara en otro listado la solución a estas incógnitas: A. ¿Cuál fue el menor de los números negativos? B. ¿Promedio de los números positivos? C. Y el promedio de ceros recibidos. Lenguajes de Programación 1 19 Guía # 01: INTRODUCCION A VISUAL BASIC .NET V. DISCUSION DE RESULTADOS Elabore un único Proyecto denominado vbGUIA01lab en el cual solucione los siguientes problemas. Desarrolle la solución de cada problema en un form diferente. PROBLEMAS A RESOLVER: 1. Solicitar 10 números decimales al usuario, para luego mostrar uno de estos resultados (según lo indique usuario): a) La serie ordenada de manera descendentemente, así como: a. El número menor y el número Mayor de solamente los negativos del listado y el promedio. b) Serie ordenada de manera ascendente y también mostrar el valor de la Mediana de toda la serie. 2. Ayude a un usuario a ingresar una fecha de manera correcta, en el formato: Mes, Día, Año. Debe utilizar controles Combobox, y estructuras select case en su código. Recuerde que existen años bisiestos. Importante: + En ambos ejercicios, documente los bloques y líneas de código de acuerdo a lo crea conveniente, para que instructor comprenda mejor su solución!! + Finalmente, envíe la carpeta del proyecto resultante, de manera comprimida al email de su instructor(a) en la fecha que lo indique!! VII. BIBLIOGRAFÍA Bill Evjen, Jason Beres y otros (2002), El libro de Visual Basic.NET (1era Ed), España. Editorial Anaya Ceballos, Francisco Javier (2006), ENCICLOPEDIA DE MICROSOFT VISUAL BASIC (1er Ed), Mexico, Editorial ALFAOMEGA, ISBN: 9701512189 Lenguajes de Programación 1 20