GUÍA DE LABORATORIO GL-PCS2201-L10M CREACIÓN DE APLICACIONES CON VISUAL BASIC CARRERA: 441402 INGENIERÍA DE EJECUCIÓN EN ELECTRICIDAD Y ELECTRÓNICA 444803 TÉCNICO EN ELECTRICIDAD Y ELECTRÓNICA ASIGNATURA: PCS2201 “PROGRAMACIÓN DE COMPUTADORES” SEMESTRE: II PROFESOR: GUILLERMO BADILLO A. 1. Introducción La siguiente actividad tiene como finalidad familiarizar al alumno con la creación de una aplicación tipo Windows y manejar las estructura básica de la programación orientada al evento. 2. Objetivos Al completar esta guía el alumno será capaz de: Crear un aplicación para Windows Crear menú desplegables Agregar iconos Agregar código a los eventos más comunes Agregar controles y manejar sus propiedades más comunes Conocer la diferencia entre los procedimientos sub y function 3. Duración Siete días. 4. Prerrequisitos Antes de realizar esta guía el alumno debe haber realizado satisfactoriamente la guía GL-PCS2201 L07M MANEJO DEL ENTORNO DE DESARROLLO INTEGRADO DE VISUAL BASIC 5. Bibliografía previa Autor: Halvorson, Michael. Título: “Aprenda ya Microsoft Visual Basic.Net” Editorial: Madrid: McGraw-Hill, 2002 6. Marco teórico Procedimientos Un procedimiento es un bloque de instrucciones de Visual Basic delimitado por una instrucción de declaración y una instrucción End. En Visual Basic, todo el código se incluye dentro de procedimientos. Los procedimientos se invocan desde otras partes del código. Cuando finaliza la ejecución de un procedimiento, éste devuelve el control al código que lo invocó, que recibe el nombre de código de GUÍA DE LABORATORIO llamada. El código de llamada es una instrucción o una expresión contenida en una instrucción, que hace referencia al procedimiento por su nombre y le transfiere el control. Tipos de procedimientos Visual Basic utiliza varios tipos de procedimientos: Los procedimientos Sub ejecutan acciones, pero no devuelven un valor al código de llamada. Los procedimientos de control de eventos son procedimientos Sub que se ejecutan en respuesta a un evento desencadenado por una acción del usuario o por un suceso en un programa. Los procedimientos Function devuelven un valor al código de llamada. Los procedimientos Property devuelven y asignan valores de propiedades en objetos o módulos. Procedimientos Sub Un procedimiento Sub consiste en una serie de instrucciones de Visual Basic delimitadas por las instrucciones Sub y End. Cada vez que se llama a un procedimiento, se ejecutan las instrucciones de éste, desde la primera instrucción ejecutable tras la instrucción Sub hasta la primera instrucción End Sub, Exit Sub o Return que se encuentre. Un procedimiento Sub ejecuta acciones, pero no devuelve ningún valor. Puede tomar argumentos, como constantes, variables o expresiones, que le pasa el código de llamada. La sintaxis para declarar un procedimiento Sub es la siguiente: [accessibility] Sub subname[(argument tlist)] ' Statements of the Sub procedure go here. End Sub La accesibilidad puede ser Public, Protected, Friend, Protected Friend o Private. Los procedimientos Sub pueden definirse en módulos, clases y estructuras. Son Public de forma predeterminada, lo que significa que se les puede llamar desde cualquier parte de una aplicación. El procedimiento Sub que aparece a continuación notifica al usuario del equipo la tarea que está a punto de realizar la aplicación, y también muestra una marca de tiempo. En lugar de duplicar este fragmento de código al principio de cada tarea, la aplicación simplemente llama a TellOperator desde varios lugares. Cada llamada pasa una cadena al argumento Task que identifica la tarea que se va a iniciar. Sub TellOperator(ByVal Task As String) Dim Stamp As Date ' Stamp es una variable local al procedimiento TellOperator. Stamp = TimeOfDay() ' TiomeOfDay() obtiene la hora. ' Uso del MessageBox de la clase System.Windows.Forms namespace. MessageBox.Show("Comenzando " & Task & " a " & CStr(Stamp)) End SubUn una llamada típica a TellOperator tendría esta forma: GUÍA DE LABORATORIO Call TellOperator("file update") Procedimientos Function Un procedimiento Function consiste en una serie de instrucciones de Visual Basic delimitadas por las instrucciones Function y End Function. Cada vez que se llama a un procedimiento de este tipo, se ejecutan las instrucciones de éste, desde la primera instrucción ejecutable tras la instrucción Function hasta la primera instrucción End Function, Exit Function o Return que se encuentre. Un procedimiento Function es similar a un procedimiento Sub, pero además devuelve un valor al programa que realiza la llamada al procedimiento. Un procedimiento Function puede tomar argumentos, como constantes, variables o expresiones, que le pasa el código de llamada. La sintaxis para declarar un procedimiento Function es la siguiente: [accessibility] Function functionname[(argumentlist)] As datatype ' Statements of the Function procedure. End Function La accesibilidad puede ser Public, Protected, Friend, Protected Friend o Private. Los procedimientos Function pueden definirse en módulos, clases y estructuras. Son Public de forma predeterminada, lo que significa que se les puede llamar desde cualquier parte de una aplicación. Los argumentos se declaran del mismo modo que en un procedimiento Sub. El siguiente procedimiento Function calcula la hipotenusa de un triángulo rectángulo a partir de los valores de los catetos: Function Hypotenuse(ByVal Side1 As Single, ByVal Side2 As Single) As Single Return Math.Sqrt((Side1 ^ 2) + (Side2 ^ 2)) End Function Son llamadas habituales a Hypotenuse las siguientes: Dim TestLength, TestHypotenuse, X, Y, Area As Single TestHypotenuse = Hypotenuse(TestLength, 10.7) ' Asume que TriangleArea es un procedimiento definido como Function — el ' valor retornado por Hypotenuse se usa como argumento para TriangleArea. Area = TriangleArea(X, Y, Hypotenuse(X, Y)) GUÍA DE LABORATORIO 7. Actividades a realizar 7.1. Actividad 1: CREAR UNA APLICACIÓN TIPO BLOCK DE NOTAS PARA WINDOWS a. Equipos requeridos - 1 Computador PC con sistema operativo Windows XP. Software Microsoft Visual Studio.Net 2005 (Visual Basic) b. Número de alumnos sugerido por equipo Se recomienda realizar esta actividad en forma individual c. Instrumentos requeridos - No Hay d. Herramientas requeridas - No Hay e. Descripción y procedimiento 1.- Abra Visual Studio .NET 2005. Cree un nuevo proyecto de Visual Basic tipo aplicación para Windows. 2.- Guarde el proyecto con el nombre “G10_A1_NotePad”. 3.- Cambie las siguientes propiedades al formulario Form1 Text = Bloc de Notas Size: Width= 590 Height = 390 Start position = center screen 4.- Agregue un control tipo MainMenu 5.- Cree una barra de menú principal con las opciones Archivo, Edición, Formato, Ver y Ayuda. Vea la figura para más detalles. 6.- Bajo la opción de menú Archivo, agregue los submenú: Nuevo, Abrir, Guardar, Guardar Como, Configurar Página, Salir. Vea la figura para más detalles. GUÍA DE LABORATORIO 7.- Para poner la línea, tan sólo digite un guión en la opción escriba aquí. 8.- Cambie la propiedad Name de los submenú : Nuevo mnuNew; Abrir mnuOpen; Guardar mnuSave, Guardar Como mnuSaveAs; Configurar Página mnuPAgeSetup; Imprimir mnuPrint; Salir mnuExit. 9.- Bajo la opción de menú Edición agregue el siguiente submenú: Deshacer, Cortar, Copiar, Pegar, Eliminar, Buscar, Buscar Siguiente, Reemplazar, Ir a.., Seleccionar todo, hora y fecha. 10.- Cambie la propiedad Name de los submenú: Deshacer mnuUndo, Cortar mnuCut, Copiar mnuCopy, Pegar mnuPaste, Eliminar mnuDel, Buscar mnuFind, Buscar Siguiente mnuFindnext, Reemplazar mnuReplace, Ir a mnuGoto, Seleccionar Todo mnuSelectAll, Hora y Fecha mnuTimeDate. 11.- Bajo la opción de menú Formato agregue el siguiente submenú: Ajuste de línea, Fuente 12.- Cambie la propiedad Name de los submenú: Ajuste Línea mnuWordwrap; Fuente mnuFont. 13.- Bajo la opción de menú Ver agregue el siguiente submenú: Barra de Estado. 14.- Cambie la propiedad Name del submenú: Barra de Estado mnuStatusBar. 15.- Bajo la opción de menú Ayuda agregue el siguiente submenú: Acerca de.. 16.- Cambie la propiedad Name del submenú: Acerca de mnuAbout. 17.- Agregue un control RichTextBox y cambie las siguientes propiedades: Name = txtRich Location: x = 0; y = 0 Size: Width =575 y Height = 255 18.- Agregue un control tipo StatusBar y vaya a la propiedad colection... y haga clic 19.- Ahora se mostrará una ventana con el editor de colecciones del control StatusBar. 20.- En esta ventana agregue dos miembros y cambie la propiedad nombre del miembro 0 por “linePanel y la propiedad Text por “ Total de Líneas”. la propiedad MinWidth valor 20 GUÍA DE LABORATORIO 21.- Luego cambie la propiedad nombre del miembro 1 por “colPanel” y la propiedad Text por “Total de caracteres”, y por último la propiedad MinWidth valor 20. Vea la figura para más detalles. 22.- Presione Aceptar. 23.- Ahora vaya a la propiedad ShowPanels del control StatusBar y déjela en True. 24.- Con esta acción debe aparecer dos paneles en la barra de estado como se muestra en la figura. 25.- Salve el proyecto. 26.- Atención En este momento debe llamar al profesor para que corrobore su trabajo, NO DEBE CONTINUAR CON EL PRÓXIMO PASO HASTA QUE EL PROFESOR LO AUTORICE 27.- Recuerde usar como guía el bloc de notas de Windows 28.- En el editor de código del proyecto declare las siguientes variables públicas: Dim txtChanged As Boolean Dim theStr As String 29.- Inserción de código al control MainMenu y los submenú asociados a este control 30.- En el evento clic del submenú Nuevo escriba el siguiente código: Dim msg As String If txtChanged = True Then msg = MsgBox("Desea grabar los cambios?", MsgBoxStyle.YesNo, " Graba Cambios?") End If If msg = vbYes Then GUÍA DE LABORATORIO Dim a As EventArgs mnuSave_Click(0, a) txtChanged = False Else txtRich.Clear() txtChanged = False End If 31.- En el evento clic del submenú Abrir escriba el siguiente código: Dim openDlg As New OpenFileDialog() Dim buff As String openDlg.Filter = "Documentos de Texto (*.txt)|*.txt" openDlg.ShowDialog() FileOpen(1, openDlg.FileName, OpenMode.Input) While Not EOF(1) Input(1, buff) txtRich.AppendText(buff) End While FileClose(1) 32.- En el evento clic del submenú Grabar escriba el siguiente código: Dim saveDlg As New SaveFileDialog() Dim buff As String Static theFile As String If System.IO.File.Exists(theFile) = False Then saveDlg.Filter = " Documentos de Texto (*.txt)|*.txt" saveDlg.ShowDialog() If saveDlg.CheckFileExists = False Then Exit Sub theFile = saveDlg.FileName FileOpen(1, theFile, OpenMode.Output) buff = txtRich.Text Print(1, buff) FileClose(1) txtChanged = False Else FileOpen(1, theFile, OpenMode.Output) buff = txtPad.Text Print(1, buff) FileClose(1) txtChanged = False End If 33.- En el evento clic del submenú Grabar como escriba el siguiente código: Dim saveDlg As New SaveFileDialog() Dim theFile As String Dim buff As String saveDlg.Filter = " Documentos de Texto (*.txt)|*.txt" saveDlg.ShowDialog() If saveDlg.CheckFileExists = False Then Exit Sub theFile = saveDlg.FileName FileOpen(1, theFile, OpenMode.Output) buff = txtRich.Text Print(1, buff) FileClose(1) txtChanged = False 34.- Agregue un control tipo PageSetupDialog. 35.- En el evento clic del submenú Configurar Página escriba el siguiente código: GUÍA DE LABORATORIO PageSetupDialog1.Document = PrintDocument1 PageSetupDialog1.ShowDialog() 36.- Agregue un control PrintDocument y un control PrintDialog al proyecto 37.- En el evento clic del submenú Imprimir escriba el siguiente código: PrintDialog1.Document = PrintDocument1 If PrintDialog1.ShowDialog() = Windows.Forms.DialogResult.OK Then PrintDocument1.Print() End If 38.- En el evento clic del submenú Exit escriba el siguiente código: Me.Close() 39.- Salve el proyecto. 40.- Atención En este momento debe llamar al profesor para que corrobore su trabajo, NO DEBE CONTINUAR CON EL PRÓXIMO PASO HASTA QUE EL PROFESOR LO AUTORICE 41.- Ejecutar y probar la aplicación: en la barra de herramientas estándar, haga clic en el botón Iniciar. . 42.- Verifique la correcta operación de las funcionalidades insertadas en los submenú. 43.- Inserte una ventana de Acerca de (About Box). Vaya al menú proyecto y seleccione agregar Windows Forms. 44.- Aparecerá una ventana con varias opciones en donde debe seleccionar la opción “Cuadro Acerca de”. 45.- Cambie el nombre de la form por FrmAbout 46.- Haga clic en Aceptar 47.- El formulario Acerca de Aparecerá en otra form de diseño. 48.- Realice los cambios necesarios en los controles de este formulario, de manera tal que usted personalice su propia ventana Acerca de... 49.- En el menú principal opción Ayuda – Acerca de , escriba el siguiente código FrmAbout.Show 50.- Guarde los cambios del proyecto. 51.- Atención En este momento debe llamar al profesor para que corrobore su trabajo, NO DEBE CONTINUAR CON EL PRÓXIMO PASO HASTA QUE EL PROFESOR LO AUTORICE 52.- Ejecute su aplicación ( ) y Verifique la correcta operación de las funcionalidades insertadas en los submenú. 53.- Realizada la actividad pase a la actividad de evaluación. f. Guía de auto evaluación para el alumno GUÍA DE LABORATORIO 1.- ¿Cuáles son los controles que se deben agregar al proyecto para cambiar el tipo de fuente y el color del Texto? 2.- Agregue el código necesario para completar el menú Edición y todos sus submenú, (Copiar, Cortar, etc) apóyese en la ayuda de Visual Studio. 3.- Agregue una Barra de Herramienta como se detalla en la figura. apóyese en la ayuda de Visual Studio. 4.- Averigüe como desarrollar un reproductor de CD en Visual Basic. 5.- ¿Cuál es la diferencia entre el procedimiento sub y el procedimiento function? g. Pauta de evaluación de la actividad Actitudes Logrado No Logrado Descripción Orden Realiza un trabajo en forma ordena mientras realiza la actividad. Cuidado Realiza la experiencia cuidando no producir daños físicos y materiales a los componentes, compañeros y a él mismo, los cuales son intrínsicos a la actividad. Seguridad Observa las normas y ocupa los implementos de seguridad al trabajar Autocontrol Se mantiene controlado a pesar de los intentos fallidos y ante la presión del tiempo para realizar las actividades Habilidades Logrado No Logrado Descripción U/ Herramientas Usa correctamente el entorno de desarrollo de visual Basic U/ Instrumentos Usa correctamente las herramientas ayuda P/ Diagnóstico Realiza el diagnóstico ayudado por el depurador (Debugger) U/ Información Utiliza la información técnica para guiar su diagnóstico. Determinación de la falla y/o actividad Primer intento Falla y/o Actividad Segundo intento Tercer intento Descripción Determina una falla o realiza la actividad de forma satisfactoria GUÍA DE LABORATORIO 8. Pauta de evaluación de la guía 10 Rut Nota Alumno Asignatura Programación de Computadores Sigla PCS2201 Sección Creación de aplicaciones en Visual Basic. Nº Guía 10 Nombre Descripción Creación de aplicaciones para Windows con el lenguaje de programación Visual Basic. 60% Habilidades 7 - Logrado 1 - No Logrado % Descripción P/ Programación 10% Programa correctamente aplicaciones básicas para Windows con Visual Basic. P/ Compilación 20% Realiza correctamente la compilación del código fuente y logra interpretar los errores de compilación. P/ Ejecución 15% Realiza correctamente la ejecución del programa y logra interpretar los errores de ejecución. P/ Validación P/ Depuración U/Ayuda 15% Valida correctamente la entrada de datos al programa. Usa las herramientas de Depuración y de Ayuda del IDE de Visual Basic 40% Configuración solicitada y/o actividad Primer intento: 7 Segundo 4 intento: Tercer 1 intento: Diseño 30% Funcionamiento 10% Descripción Realiza la programación de la aplicación para Windows usando los componentes y programando los eventos de uso más común. Realiza la explicación del funcionamiento lógico del código fuente solicitado por el profesor de forma satisfactoria N1: Actitudes : Descuento (si se aplica) en cada ítem - Máximo 3,5 puntos menos de la nota - Logrado - No Logrado Descripción Orden 0.5 Limpieza 0.5 Cuidado 1.0 Mantiene su espacio de trabajo ordenado mientras realiza la experiencia y se comporta en forma ordena mientras realiza las actividades Mantiene su espacio de trabajo limpio mientras realiza la experiencia y se preocupa de que quede limpio al finalizar la actividad Realiza la experiencia cuidando no producir daños físicos a los componentes, compañeros y a sí mismo. Seguridad 1.0 Observa las normas de seguridad al trabajar en un laboratorio de computación. Autocontrol 0.5 Se mantiene controlado a pesar de los intentos fallidos y ante la presión del tiempo para realizar las actividades. Descuento El alumno debe Firma Alumno Repetir la experiencia Pasar a la experiencia siguiente Nota: N1 – N2. GUÍA DE LABORATORIO