UTP
-1-
Minicomputadoras
INTRODUCCION VISUAL EAGE Descripción de VisualAge RPG VisualAge RPG es un componente del producto IBM WebSphere Development Studio Client para iSeries. Puede utilizarlo para crear aplicaciones que tengan Interfaces Gráficas de Usuario (GUI) que se procesan con una versión mejorada del lenguaje RPG. Las aplicaciones que se crean pueden acceder a los datos almacenados en servidores iSeries. El Entorno de Desarrollo de Aplicaciones VARPG El entorno de desarrollo de aplicaciones VisualAge RPG se basa en un organizador de proyectos de tipo GUI (Interfaz Gráfica de Usuario). El Organizador de proyectos permite buscar los archivos de los proyectos y trabajar con ellos. En esta interfaz, la aplicación se organiza por proyectos. Un proyecto representa el conjunto completo de objetos (archivos de código fuente, objetos GUI, etc.) necesarios para construir un único programa de destino, como, por ejemplo, una biblioteca de enlace dinámico (DLL) o un archivo ejecutable (EXE). Cada proyecto tiene asociado un conjunto de acciones. En este entorno, una acción es una descripción de una herramienta o de una función de una herramienta que puede utilizarse para manipular un proyecto. Algunos ejemplos de acciones son editar, construir y depurar. Puede organizar aplicaciones complejas por jerarquías de proyectos para tener una perspectiva visual de cómo está organizada la aplicación. Puede ejecutar una construcción desde cualquier punto de una jerarquía de proyectos, con lo que tendrá más control sobre la forma en que se construyen las aplicaciones. Las herramientas tales como un editor y un depurador están integradas en este entorno para que pueda acceder a ellas de forma rápida y fácil como el programa. El Diseñador GUI Utilice el Diseñador GUI para crear las aplicaciones VisualAge RPG. Consta de la ventana de proyecto, la paleta de componentes y la ventana de diseño. La Ventana de Proyecto
Ing. Alberto MOreno
UTP
-2-
Minicomputadoras
La ventana de proyecto es el entorno de desarrollo interactivo. La ventana de proyecto consta de lo siguiente: Vista de Proyecto La parte central de la ventana contiene una representación de los objetos GUI que hay en el proyecto. Barra de Menús Lista las acciones que puede solicitar utilizando opciones de menú. Barra de Herramientas Contiene pulsadores gráficos que puede utilizar para llamar a las acciones que se ejecutan con frecuencia. Barra de Estado Contiene texto descriptivo cuando coloca el cursor sobre determinadas áreas del Diseñador GUI. La Paleta de Componentes La paleta de componentes contiene un conjunto personalizable de componentes que se utilizan para crear diseños de pantalla de aplicaciones VisualAge RPG. Emplee la paleta del mismo modo que un pintor utiliza su paleta de colores. La paleta es el lugar donde se hallan los componentes más adecuados para el diseño en el que está trabajando actualmente. Cuando termine el diseño puede limpiar la paleta y comenzar de nuevo con otros componentes del catálogo. Utilice la paleta si desea acceder a su propio conjunto personalizado de componentes al diseñar una GUI. Por omisión, la paleta de componentes no forma parte de la ventana de proyecto, sino que aparece en una ventana propia. Se puede configurar la paleta de manera que forme parte de la ventana de proyecto. El Catálogo de Componentes El catálogo de componentes es una vista alternativa de la paleta. Para verlo, pulse con el ratón en el icono que se encuentra en el extremo izquierdo de la parte inferior de la paleta. Contiene todos los componentes que se utilizan para crear el diseño de las pantallas de la aplicación VisualAge RPG. Puede seleccionar componentes del catálogo y copiarlos a la paleta de componentes si va a utilizarlos frecuentemente. Utilice el catálogo del mismo modo que un pintor utiliza su maletín de pinturas. El catálogo es el lugar donde se hallan todos los componentes que ha ido acumulando. Utilice el catálogo si desea acceder a todos los componentes al diseñar una GUI. Para volver a la vista de
Ing. Alberto MOreno
UTP
-3-
Minicomputadoras
paleta, pulse con el ratón en el icono que se encuentra en el extremo izquierdo de la fila de iconos que hay en la parte inferior del catálogo.
El Editor Utilice el editor integrado en el producto Application Development ToolSet para editar archivos fuente (por ejemplo, archivos fuente de programa y archivos fuente de ayuda) y para personalizar las plantillas de fuente de VisualAge RPG. También puede utilizar este editor al definir especificaciones de salida, definir subrutinas de usuario y especificar datos de matriz. Se trata de un editor programable que proporciona eficaces posibilidades de edición, tales como: Solicitud Facilita la escritura de código fuente orientado a columnas. Se proporciona para código fuente y comentarios, línea única o inserciones continuas (solicitud con inserción). Resaltado de símbolos
Ing. Alberto MOreno
UTP
-4-
Minicomputadoras
Mejora la legibilidad del código. Puede configurar el resaltado de diferentes elementos del lenguaje con diferentes colores o fonts para identificar las estructuras del programa. Puede activar o desactivar el resaltado de símbolos. Comprobación de Sintaxis Verifica que la sintaxis de cada línea sea correcta mientras se edita el código fuente. Con ello pueden evitarse errores de compilación. Esta opción puede activarse o desactivarse. Puede visualizarse sólo determinados tipos de especificación, como especificaciones C, o una línea con una serie específica. Anotaciones de Error Realiza un seguimiento de los errores en las anotaciones de error. El editor le lleva al lugar del código fuente en el que se ha producido el error. Ayuda Según Lenguaje Proporciona ayuda para temas relacionados con RPG. Con Este Editor También puede: Utilizar mandatos en el área de prefijo o de número de secuencia. Editar más de un archivo a la vez. Abrir varias vistas de un archivo. Cortar y pegar entre archivos o entre diferentes vistas de un solo archivo. Deshacer cambios realizados en un archivo. Guardar archivos en una estación de trabajo o sistema principal hasta que esté preparado para compilarlos.
Ing. Alberto MOreno
UTP
-5-
Minicomputadoras
El Compilador El Compilador de VisualAge RPG se basa en el lenguaje RPG IV. Contiene las mejoras necesarias para crear los programas RPG cliente/servidor con interfaces gráficas de usuario. Se han añadido operaciones y funciones incorporadas para aprovechar las ventajas del entorno GUI en la estación de trabajo. La aplicación (que consta del código fuente y de la interfaz gráfica de usuario) se crea y se compila en una estación de trabajo Windows. Para Compilar una Aplicación seguir los siguientes pasos: • • •
Proyecto Construir Windows
Ing. Alberto MOreno
UTP
-6-
Minicomputadoras
El Depurador El depurador le ayuda a detectar y diagnosticar errores en la aplicación. Puede utilizar diferentes vistas para visualizar la imagen del programa que está depurando. Puede ejecutar la aplicación, establecer puntos de interrupción y supervisar variables, registros, la pila de llamadas y el almacenamiento Gestión de Proyectos VisualAge RPG El Organizador de proyectos de VisualAge RPG almacena y gestiona los archivos de un proyecto. Utiliza una carpeta de proyecto para organizar las aplicaciones y los componentes lógicos que ha creado. Un proyecto VisualAge RPG es básicamente una "carpeta virtual". Contiene toda la información que el Diseñador GUI precisa. Cada proyecto VisualAge RPG debe especificarse como una aplicación o un componente lógico cuando se crea. Si se define como aplicación, se crea un archivo .DLL y un archivo .EXE. Si se define como componente lógico, sólo se crea una .DLL. Los componentes lógicos pueden crearse dentro de aplicaciones. Cada proyecto tiene un archivo primario cuya extensión es .IVG. Todos los archivos fuente del proyecto se guardan en el directorio fuente que indique. Este grupo de archivos componen un proyecto VisualAge RPG. Crear un Proyecto Nuevo • •
Para crear un proyecto seguir los siguientes pasos: Proyecto
Ing. Alberto MOreno
UTP • •
-7-
Minicomputadoras
Nuevo Proyecto GUI
Para Grabar una Aplicación • • •
Para grabar una Aplicación seguir los siguientes pasos: Crear una carpeta llamada Ejemplo en la Unidad C Seleccionar Proyecto, Guardar Como… y saldrá la siguiente pantalla donde se llenara lo siguiente: o Nombre de la Aplicación: como se llamara su aplicación o Proyecto o Carpeta de Destino: aquí se pondrá la carpeta donde queramos guardar nuestra aplicación:
Ejemplo: C:\Ejemplo • •
Archivo Fuente: Saldrá al momento de darle un nombre a su Aplicación Directorio Fuente: Aquí se pondrá la Carpeta donde se va a guardar los archivos compilados, etc.
Ejemplo: C:\Ejemplo\Practica Luego ACEPTAR
Ing. Alberto MOreno
UTP
-8-
Minicomputadoras
Construcción de una Aplicación Una vez creada la GUI y grabada toda la lógica y otra información, puede construir (COMPILAR) el proyecto. Nota: Para que VisualAge RPG encuentre todos los archivos utilizados en la aplicación y sus componentes lógicos, se aconseja trasladarlos al subdirectorio RT_WIN32 o RT_JAVA antes de ejecutar la construcción. Estos son algunos de los tipos de archivo que puede estar utilizando: Archivos de iconos Archivos de bitmap Archivos de sonido Archivos .DLL Archivos .EXE Para construir el Proyecto actual, vaya al tema de EL COMPILADOR Durante el proceso de construcción, el Diseñador GUI genera archivos utilizados durante la ejecución. Los archivos se almacenan en el subdirectorio RT_WIN32 (para construcciones Windows) o RT_JAVA (para construcciones Java). Asimismo, todos los archivos de estos subdirectorios (incluyendo los que se hayan colocado aquí) se copian al \directorio raíz de instalación\TEST.
Ing. Alberto MOreno
UTP
-9-
Minicomputadoras
Se crean los siguientes archivos: archivo.odx Contiene la versión de ejecución del ODF. No edite este archivo. archivo.dll Si el proyecto que se construye es un componente lógico, se crea este archivo. No edite este archivo. archivo.hlp Contiene el archivo de ayuda. No edite este archivo. archivo.exe Si el proyecto que se construye es una aplicación, se crea este archivo. No edite este archivo. archivo.txm Contiene el archivo de mensajes. No edite este archivo. Otros archivos creados como parte del proceso de construcción son: archivo.lst Contiene el listado de la compilación. archivo.rc Contiene un archivo de recurso. Nota: En función de las opciones de compilador especificadas, puede obtener más o menos archivos que los listados más arriba. Ahora puede ejecutar o depurar la aplicación. Para interrumpir el proceso de construcción antes de que termine, seleccione el botón Parar en el diálogo Construir. Si desea información acerca del cuaderno de propiedades Opciones de construcción y de todas las opciones disponibles, consulte la ayuda en línea. Ejecución de una aplicación
Ing. Alberto MOreno
UTP
-10-
Minicomputadoras
La función de ejecución del Diseñador GUI permite ejecutar una aplicación después de construirla. Utilícela para probar todos los aspectos relativos a la ejecución de un proyecto antes de empaquetar. El directorio \TEST es el lugar donde se colocan todos los archivos que se construyen para efectuar pruebas. Los archivos permanecen en este directorio hasta que se graba encima de ellos en construcciones posteriores o hasta que se suprimen explícitamente. Es aconsejable eliminar archivos de este directorio periódicamente para ahorrar espacio en disco. Compruebe que no hay ningún nombre de archivo duplicado en los proyectos que está probando. Si hay nombres duplicados, el archivo con el nombre duplicado perteneciente a la última construcción se graba encima de los demás archivos que tengan el mismo nombre. Para ejecutar una aplicación: Mediante la ventana de proyecto del Diseñador GUI: 1.- Asegúrese de que todos los archivos utilizados por el proyecto y todos sus componentes lógicos se hallan en el directorio RT_WIN32 o RT_JAVA. 2.- Abra el proyecto de la aplicación en el Diseñador GUI. 3.- Seleccione Ejecutar en el menú Proyecto.
Depuración de una aplicación La función de depuración del Diseñador GUI permite depurar una aplicación, una vez que se ha construido.
Ing. Alberto MOreno
UTP
-11-
Minicomputadoras
Para depurar una aplicación: Mediante la ventana de proyecto del Diseñador GUI: 1.- Abra el proyecto en el Diseñador GUI. 2.- Asegúrese de que el proyecto se ha construido. 3.- Seleccione Depurar en el menú Proyecto. Mediante el menú emergente del icono del proyecto: 1.- Asegúrese de que todos los archivos utilizados por el proyecto y todos sus componentes lógicos se hallan en el directorio RT_WIN32 o RT_JAVA. 2.- Asegúrese de que el proyecto se ha construido. 3.- Visualice el menú emergente del icono del proyecto. 4.- Seleccione Depurar. Creación de interfaces gráficas de usuario En este apartado se describe el proceso que debe seguir para crear una interfaz gráfica de usuario para una aplicación de VisualAge RPG. Creación de una ventana Para añadir una ventana a la aplicación: Mediante el ratón: 1.- Pulse el botón del ratón sobre un componente ventana en el catálogo de componentes o en un componente VENTANA DE LIENZO en la paleta. 2.- Pulse el botón del ratón en la vista de proyecto del diseñador GUI. Mediante un menú emergente: 1.- Visualice el menú emergente del componente ventana en el catálogo o del componente ventana con lienzo en la paleta. 2.- Seleccione Crear instancia. Modificación de las Propiedades de un Componente Para cambiar las propiedades de un componente: 1.- Abra el diálogo de propiedades del componente: Ing. Alberto MOreno
UTP
-12-
Minicomputadoras
Mediante el ratón: Pulse dos veces el botón en el componente en la vista de árbol o en la ventana de diseño para abrir el cuaderno de propiedades del mismo. Nota: Esta acción no es válida para un componente ventana. Utilice el menú emergente. Mediante el teclado: Seleccione el componente. Pulse Intro. Mediante un menú emergente: Seleccione el componente. Puede seleccionar el componente en la ventana de diseño o en la vista de árbol de la ventana de proyecto. Visualice el menú emergente del componente. Seleccione Propiedades. Seleccione las propiedades que desea. Cierre el cuaderno pulsando el botón Aceptar (en Windows) o pulsando dos veces en el icono del menú del sistema. Nota: En algunos casos, es necesario cerrar el cuaderno de propiedades o ir a otra página del cuaderno para que los cambios efectuados entren en vigor. Si guarda el proyecto mientras el cuaderno de propiedades está abierto, los cambios efectuados desde que se abrió el cuaderno por última vez no se guardan. Edición de componentes El producto VisualAge RPG proporciona un conjunto completo de funciones de edición. Los componentes se pueden editar individualmente o por grupos. Es necesario seleccionar un componente para poder efectuar una función de edición con él. Personalización de tabuladores y marcadores de grupo de una ventana
Ing. Alberto MOreno
UTP
-13-
Minicomputadoras
Un tope de tabulador es una posición en la ventana a la que un usuario final puede desplazarse utilizando la tecla de tabulador. Un marcador de grupo es el primer elemento de un conjunto de componentes agrupados. Un grupo de componentes es el conjunto formado por todos los componentes que están entre dos marcadores de grupo. Un componente puede ser un tabulador, un marcador de grupo, ambos o ninguno. Los componentes restantes que se hallan en el área de cliente o en el lienzo de la ventana de diseño no pueden especificarse como topes de tabulador o marcadores de grupo. Sin embargo, aparecen en la lista de componentes de la ventana Personalizar tabuladores y grupos. Los componentes que no se hallan en el área de cliente o lienzo no aparecen en la lista de componentes de la ventana Personalizar tabuladores y grupos. Estos componentes son ventana, barra de menús, opción de menú, menú emergente, submenú y subarchivo de mensajes. Todos los componentes que pueden especificarse como topes de tabulador se establecen inicialmente como topes de tabulador. Referencia a campos de base de datos Para hacer referencia a un campo de base de datos: 1.- Abra el cuaderno de propiedades de un recuadro de combinación, de un campo de entrada o de un campo de entrada de subarchivo. Dando Doble Clic
Ing. Alberto MOreno
UTP
-14-
Minicomputadoras
2.- Seleccione la pestaña Referencia.
3.- Seleccione Hacer referencia. Se visualiza la ventana Definir campos de referencia.
Ing. Alberto MOreno
UTP
-15-
Minicomputadoras
4.- Seleccione Renovar siempre para recuperar la lista más actualizada de archivos, registros y campos del servidor.
Personalización del Entorno de Trabajo Utilización de servidores con una aplicación Debe configurar las propiedades del protocolo TCP/IP o la configuración de Client Access si: La aplicación hace referencia a campos de base de datos de OS/400 cuando la construye Utiliza la función Importar archivo de pantalla Efectúa una copia de seguridad y restaura la aplicación en un servidor iSeries. Edición del código fuente En este apartado se describe el proceso que debe seguirse para editar el código fuente de la aplicación VisualAge RPG. Edición de especificaciones Un archivo fuente de un componente lógico de VisualAge RPG se compone de varias especificaciones: de programa, de salida y ** (datos de tabla y de matriz). Estas especificaciones son globales para el componente lógico. Un Ing. Alberto MOreno
UTP
-16-
Minicomputadoras
componente lógico también tiene una especificación de cálculo. Las subrutinas de usuario y de acción se codifican en la especificación de cálculo. Las subrutinas de acción son específicas de, o compartidas por, los componentes de la aplicación. Si desea instrucciones más detalladas acerca de cómo se utiliza el editor, consulte el menú de ayuda del editor. Trabajo con subrutinas de usuario Una subrutina de usuario se define mediante los códigos de operación BEGSR y ENDSR. Puede llamarse en cualquier lugar del componente lógico mediante el código de operación EXSR. Trabajo con subrutinas de acción Una subrutina de acción es la lógica que se escribe para procesar un evento. Un evento se genera como resultado del cambio del estado de un componente. Por ejemplo, al pulsar un botón se genera un evento PRESS. Especificaciones VisualAge RPG Las especificaciones de programa se componen de las especificaciones siguientes: H Las especificaciones de control (cabecera) proporcionan información sobre la generación del programa y la ejecución del programa compilado. F Las especificaciones de descripción de archivo definen todos los archivos del programa. D Las definiciones de definición se utilizan para definir los datos que se emplean en el programa. I En las especificaciones de entrada se describen los registros y los campos de los archivos de entrada, y se indica cómo utiliza el programa los registros y los campos. C
Ing. Alberto MOreno
UTP
-17-
Minicomputadoras
Las especificaciones de cálculo definen lógica de programa y listas de parámetros globales. O Las especificaciones de salida describen el registro y el formato de los campos de un archivo de salida descrito por programa e indican cuándo se ha de grabar el registro. Códigos de Operación Operaciones Aritméticas ADD.- Suma SUB.- Resta MULT.- Multiplicación DIV.- División Funciones Incorporadas %GETATR (Recuperar atributo) Sintaxis: Variable=%GETATR(nombre_ventana:nombre_componente:nombre_ atributo) %GETATR devuelve el valor de atributo de un componente de una ventana. Notas: La función incorporada %GETATR no afecta a los campos del programa correspondientes a los componentes. Si desea que el campo de programa correspondiente para el componente contenga el valor actual de un campo de entrada, conviértalo en el destino de %GETATR incorporada Ejemplo de %GETATR CSRN01Factor1++Opcode(E)+ExtendedFactor2++++++++++++++++++++++++++++++++++++++ C
EVAL
XCODIGO = %GETATR('FRM01':'XCODIGO':'TEXT')
%SETATR (Establecer atributo) Sintaxis: Ing. Alberto MOreno
UTP
-18-
Minicomputadoras
%SETATR(nombre_ventana:nombre_componente:nombre_atributo)= Variable %SETATR establece el valor de atributo de un componente de una ventana. Notas: La función incorporada %SETATR no afecta a los campos del programa correspondientes a los componentes. Para asegurar que el valor de atributo y el valor del campo del programa sean iguales, utilice el campo del programa para definir el valor del atributo. Esto se aplica a los atributos que tienen campos de programa correlacionados, como los campos de entrada con el atributo TEXT. Ejemplo de %SETATR CSRN01Factor1+++++Opcode(E)+ExtendedFactor2++++++++++++++++ ++++++++++++ C
EVAL
%SETATR('FRM01':'XCODIGO':'TEXT') = XCODIGO
CLSWIN (Cerrar ventana) La operación CLSWIN cierra una ventana y la elimina de la pantalla. Se genera un evento Destroy para la ventana. La ventana debe estar definida en la aplicación. El factor 2 contiene el nombre de la ventana que se ha de cerrar. Para manejar las excepciones de CHECKR puede especificarse el ampliador de código de operación 'E' o un indicador de error ER, pero no ambos. Operación CLSWIN *...1....+....2....+....3....+....4....+....5....+....6....+....7... CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Le n++D+HiLoEq. C* Se cierra una ventana denominada FRM01. C
CLSWIN
'FRM01'
SHOWWIN (Visualizar ventana) La operación SHOWWIN carga una ventana en la memoria. El atributo Visible controla si se visualiza la ventana. Nota:
Ing. Alberto MOreno
UTP
-19-
Minicomputadoras
No pueden establecerse ni pueden hacerse referencia a los atributos para una ventana antes de una operación SHOWWIN. Tampoco puede hacerse referencia a los componentes de una ventana antes de una operación SHOWWIN. El factor 2 contiene el nombre de la ventana que se ha de visualizar. No utilice SHOWWIN y el atributo Abrir Inmediatamente. Si lo hace, el indicador de resultado se activa. Esto significa que la ventana ya está cargada. Si este indicador está activado, se puede establecer el atributo Visible para la ventana. Utilice la operación SHOWWIN para visualizar ventanas que no se visualicen con frecuencia en lugar de establecer Abrir Inmediatamente para la ventana. Para las ventanas principales (la primera ventana que visualiza una aplicación), utilice el valor Abrir Inmediatamente para la ventana en lugar de SHOWWIN. Operación SHOWWIN *...1....+....2....+....3....+....4....+....5....+....6....+....7... CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Le n++D+HiLoEq. C* Se muestra una ventana denominada FRM01. C
SHOWWIN 'FRM01'
Componentes de VisualAge Campo de entrada
Utilice el componente campo de entrada si desea que el usuario pueda especificar valores que no se pueden predecir. Un campo de entrada es un área en la que el usuario puede escribir o colocar texto. Sus límites suelen estar indicados. El usuario puede desplazarse por el texto del campo de entrada si hay más información disponible de la que resulta visible. Puede configurar el componente campo de entrada para que acepte datos de tipo carácter, numéricos o de doble byte (DBCS). También puede hacer que el campo de entrada sea de sólo lectura, para que el usuario no pueda modificar la información que contiene directamente. Puede señalar y pulsar un componente campo de entrada en la paleta de componentes y después pulsar el botón del ratón en el componente subarchivo para crear un campo de entrada de subarchivo.
Ing. Alberto MOreno
UTP
-20-
Minicomputadoras
Texto estático
Utilice el componente texto estático como etiqueta de otros componentes, por ejemplo, como solicitud de un componente campo de entrada. Los componentes texto estático no aceptan la entrada de datos por parte del usuario. En las aplicaciones Java, el texto estático se visualiza únicamente en una sola línea. Pulsador
Utilice pulsadores para proporcionar acceso a las acciones más utilizadas. Cada componente pulsador controla una acción determinada. Cuando el usuario lo pulsa, la acción se inicia inmediatamente. La etiqueta de texto del pulsador describe la acción que éste realiza. Imagen
Utilice el componente imagen para visualizar dibujos Pulsador gráfico
Utilice pulsadores gráficos para proporcionar un acceso fácil a las acciones utilizadas con frecuencia. El pulsador gráfico proporciona la misma función que un pulsador. Indica una acción que se iniciará cuando el usuario lo seleccione, pero en lugar de visualizar una etiqueta que describa su función, muestra una imagen Lienzo
Utilice el componente lienzo con una ventana o una página de cuaderno si desea incluir más de un componente en la ventana o en la página. Puede colocar diversos componentes en el lienzo señalándolos y pulsando el botón del ratón y cambiarlos de posición para crear una interfaz gráfica de usuario. Ing. Alberto MOreno
UTP
-21-
Minicomputadoras
El componente lienzo ocupa el área de cliente de una ventana o de una página de cuaderno. Si en la ventana o en la página de cuaderno no hay lienzo, sólo puede colocar un componente en el área de cliente, a menos que sean extensiones de la ventana, como barras de menús y subarchivos de mensajes. A menudo creará ventanas y páginas de cuaderno que contendrán más de un componente. En este caso, deberá utilizar la página de cuaderno y la ventana con el componente lienzo. De este modo se ahorrará un paso, ya que estos componentes ya contienen el lienzo. Barra de menús
Utilice el componente barra de menús para proporcionar a los usuarios acceso a los menús desplegables. Puede añadir componentes submenú y opción de menú a la barra de menús. Las barras de menús aparecen en la parte superior del marco de la ventana, debajo de la barra de título. Cuando el usuario selecciona un menú en ella, aparece un menú desplegable con todas sus opciones. Al seleccionar una de ellas se inicia inmediatamente la acción que describe. Subarchivo
Utilice el componente subarchivo para visualizar una lista de registros, cada uno de los cuales consta de uno o más campos. La función del componente subarchivo es similar a la de un subarchivo de iSeries (TM). El usuario puede desplazar el contenido de la lista en sentido horizontal o vertical utilizando las barras de desplazamiento del subarchivo. Para crear un campo de entrada de subarchivo, añada un campo de la ventana Definir campos de referencia o de la paleta de componentes en el componente subarchivo. También puede añadir campos utilizando el cuaderno de propiedades. Submenú
Utilice un submenú para:
Ing. Alberto MOreno
UTP
-22-
Minicomputadoras
Iniciar un menú en cascada nuevo a partir de una opción de menú de un menú ya existente. Iniciar un menú desplegable a partir de una opción de menú de la barra de menús. Tras crear un submenú, puede añadirle opciones de menú colocando componentes opción de menú, pero solamente en la vista de árbol. Eventos de Componentes Change Este evento se produce al cambiar el contenido o el valor de un componente. Para cada tipo de componente, este evento se produce cuando se realiza el siguiente cambio: Se aplica a los componentes Campo de entrada Subarchivo Activate Este evento se produce cuando una ventana se convierte en la ventana activa. Ello ocurre cuando el usuario pulsa en ella con el puntero del ratón o selecciona un componente de la misma. Se aplica a los componentes Ventana Click Este evento se produce cuando el usuario coloca el puntero del ratón encima del componente y pulsa y suelta uno de los botones del ratón. Se aplica a los componentes Lienzo Campo de entrada Texto estático DblClick
Ing. Alberto MOreno
UTP
-23-
Minicomputadoras
Este evento se produce cuando el usuario pulsa y suelta el botón del ratón dos veces de forma rápida y sucesiva. Se aplica a los componentes Lienzo Campo de entrada Imagen Texto estático GotFocus Este evento se produce cuando el componente recibe el foco de entrada. Esto se produce cuando el usuario mueve el cursor a un componente habilitado o si se ha establecido el foco en este componente mediante el atributo Focus. El componente debe estar habilitado para recibir este evento. Se aplica a los componentes Campo de entrada Pulsador gráfico Pulsador Subarchivo KeyPress Este evento se produce cuando se pulsa una tecla y el componente tiene foco de entrada. El componente debe estar habilitado para recibir este evento. Nota: El atributo ReadOnly no debe estar establecido. Este evento sólo se produce para teclas de caracteres. Para manejar eventos generados mediante teclas que no sean de caracteres, como RePág y AvPág, consulte el evento VKeyPress. Se aplica a los componentes Campo de entrada Subarchivo
Ing. Alberto MOreno
UTP
-24-
Minicomputadoras
%Character Código de carácter generado por el evento. Durante el evento VKeyPress, el atributo de evento %Character se devolverá como un valor que representa la tecla no de carácter que se ha pulsado. Los valores son los siguientes:
Eventos a los que puede aplicarse Eventos a los que puede aplicarse Keypress VKeyPress LostFocus Este evento se produce cuando el componente deja de tener el foco de entrada. Se aplica a los componentes Campo de entrada Pulsador gráfico Pulsador Subarchivo
Ing. Alberto MOreno