Ciudad Altamirano, Gro.; a 27 de Marzo del 2006 UNIVERSIDAD AUTÓNOMA DE GUERRERO FACULTAD DE MATEMÁTICAS Cd. Altamirano PRÁCTICAS DE LABORATORIO CON MICROSOFT VISUAL FOXPRO 9.0 Profesor: PRÁCTICA 12: Programación de Formularios 12.1. EL OBJETO BOTÓN DE COMANDO 12.2. APLICACIÓN I 12.3. APLICACIÓN II 12.4. APLICACIÓN III 12.5. APLICACIÓN IV OBJETIVO EDUCACIONAL El alumno implementará soluciones mediante la programación orientada a objetos, así como también manejar las diferentes propiedades y eventos de los formularios.
- 2 - INTRODUCCIÓN Un formulario contiene controles para mostrar y modificar datos. Los formularios pueden estar contenidos dentro de un conjunto de formularios. Se utilizan para visualizar e introducir cualquier tipo de información y son el medio de comunicación entre el usuario y los datos. Los formularios tienen propiedades que determinan su apariencia, como la posición, el tamaño y color y su funcionamiento. Además puede utilizar el Diseñador de Formularios para diseñar un formulario. Los formularios también pueden responder a eventos iniciados por un usuario o desencadenados por el sistema. Por ejemplo, puede escribir código en el procedimiento de evento Click de un Form que cambie el color del formulario al hacer clic en él. Puede utilizar métodos para manipular formularios. Por ejemplo, puede utilizar el método Move para cambiar la posición de un formulario y su tamaño. Desde dentro de un programa, puede utilizar los métodos Hide y Show para hacer sus formularios transparentes o visibles en el tiempo de ejecución. 12.1 EL OBJETO BOTÓN DE COMANDO Un control que está asociado a un comando. Cuando hace clic en el botón de comando en tiempo de ejecución, el comando asociado al botón se ejecuta. Los botones de comando normalmente se emplean para iniciar un evento que lleva a cabo una acción, como cerrar un formulario, moverse a otro registro, imprimir un informe, etc. Utilice el control CommandGroup para crear un conjunto de botones de comando que pueden manipularse individualmente o como grupo. Utilice la propiedad para especificar el texto que aparece en un botón de comando. Utilice la propiedad Picture para especificar una imagen para un botón de comando. Puede elegir un botón de comando al hacer clic en él y si está establecida la propiedad Default en el valor verdadero (.T.), al presionar la tecla ENTRAR cuando está seleccionado el botón de comando. Si la propiedad Cancel del botón de comando se establece en el valor verdadero (.T.), puede elegir el botón de comando al presionar la tecla ESC. PROPIEDAD Visible Enabled Evento o Método Click SetlFocus LostFocus Refresh USO Etiqueta del comando Si el control es visible al usuario Si el control esta habilitado Uso Se dispara al dar clic en el objeto El cursor se va al objeto Cuando el control pierde el enfoque Refresca el objeto
- 3 - Init Se dispara a la hora que se se inicializa el objeto 12.4 EJERCICIO NÚMERO CUATRO Este ejercicio, consiste en elaborar un formulario que simule el funcionamiento de un reloj despertador digital. La aplicación debe permitir al usuario ingresar la hora a la que desea ser avisado. El diseño de la interfaz debe ser similar a la figura siguiente: A continuación se enlistan las propiedades de los objetos (controles) que deberá establecer, tendrá que respetar los valores que se les asigne, como recordará para acceder a las propiedades de los controles, dar clic derecho sobre el control y del menú emergente que se presenta elegir la opción Propiedades. Form1 MaxButton MinButton Label1 Label2 FrmReloj Reloj despertador digital.f.-falso.f.-falso LblHora Hora LblDespertador Despertador Text1 TxtHora FontBold FontSize 24
- 4 - Text2 TxtDespertador FontBold FontSize 24 Timer1 Timer1 Enabled Interval 500 Command1 Default Command2 Cancel CmdOnOff \<Desactivar CmdTerminar \<Terminar Salida del programa: A continuación se muestran los procedimientos que se van a utilizar en esta aplicación: *Objeto: FrmReloj *Procedimiento: Load PUBLIC lonoff
- 5 - *Objeto: FrmReloj *Procedimiento: Init lonoff =.F. THISFORM.TxtDespertador.VALUE = "00:00:00" THISFORM.REFRESH *Objeto: Timer1 *Procedimiento: Timer IF THISFORM.TxtHora.VALUE!= TIME() THEN THISFORM.TxtHora.VALUE = TIME() ENDIF IF (THISFORM.TxtDespertador.VALUE < TIME()) And lonoff THEN * Sonido acústico?chr(7) ENDIF THISFORM.REFRESH *Objeto: CmdOnOff *Procedimiento: Click IF lonoff THEN lonoff =.F. THISFORM.CmdOnOff.CAPTION = "\<Activar" ELSE lonoff =.T. THISFORM.CmdOnOff.CAPTION = "\<Desactivar" ENDIF THISFORM.REFRESH *Objeto: CmdSalir *Procedimiento: Click RELEASE THISFORM Ejercicio 1. Identifique las líneas correspondientes al código fuente de la aplicación.
- 6 - Ejercicio 2. Se tiene un cajero automático el cual permite manipular cierta cantidad de dinero, para lo cual dispone de los siguientes billetes: $10.00, $20.00, $50.00, $100.00 y $200.00. Elaborar una aplicación que permita la lectura de la cantidad a retirar la cual debe ser múltiplo de 10 (caso contrario debe solicitar al usuario que ingrese un valor correcto, no debe aceptar la lectura de valores que no cumplan esta condición). La aplicación debe indicar el menor número de billetes a utilizar. El diseño de la interfaz debe ser similar a la siguiente figura: