Sei sulla pagina 1di 75

GUIA DE AUTOAPRENDIZAJE POWER BUILDER

PRESENTACION CAPITULO 1 : Iniciando PowerBuilder Versin 5.0 Iniciando PowerBuilder Versin 5.0 Requisitos de Instalacin Conceptos Generales El Ambiente del PowerBuilder Usando los Painters o Pintores Usando la Barra de Herramientas Usando el Power Bar Usando el Men Popup Trabajando con Ventanas en PowerBuilder Usando la Ayuda en Lnea CAPITULO 2 : Construyendo una Aplicacin Construyendo una Aplicacin Eventos del Objeto Aplicacin Creando la Primera Aplicacin CAPITULO 3 : Construyendo Ventanas (Windows) Construyendo Ventanas(Windows) Entorno Windows (Ventana) Construyendo una Ventana Tipos de Ventanas (Windows) Propiedades del Window(Ventana) Eventos de una Ventana Funciones de una Ventana Introduccin a los Controles Colocando Controles en una Ventana Cambiando el Texto de un Control Alineando los Controles Igualando el espacio entre los Controles Modificando el Tamao de los Controles Definiendo el Tab Order de los Controles Definiendo Teclas Aceleradoras a los Controles CAPITULO 4 : Entorno Base de Datos Entorno Bases de Datos Creando la Base de Datos Creando las Tablas Creando Indices Creando Llave Primaria Creando Llave Fornea Creando el Origen de la Base de Datos(ODBC) Seleccionando el Profile

CAPITULO 5 : Entorno Men El Entorno Men Construyendo un Men Acerca del Pintor Men Agregando elementos en el Men Asignando Aceleradores o Atajos Creando Lineas Separadoras en los Menes Definiendo Microhelp y Barra de Herramientas Grabando un Men Vista previa del Men Escribiendo Script para los Elementos Eventos del Men Utilizando un Men CAPITULO 6 : Creando Datawindows El Objeto Datawindows Creando un Objeto Datawindows Modificando un Datawindows existente Escogiendo el estilo de Presentacin Definiendo la Fuente de Datos Creando un control datawindows Controlando la Actualizacin Componentes de un Datawindows Eventos de un Datawindows CAPITULO 7 : El Lenguaje Power Script Qu es el Script? Funciones ms utilizadas BIBLIOGRAFIA

PRESENTACION
El Instituto Nacional de Estadstica e Informtica, como ente rector del Sistema Nacional de Informtica del pas, presenta el Dcimo Sptimo nmero de la Coleccin Informtica Fcil: Guia de Auto-aprendizaje de PowerBuilder 5.0. El PowerBuilder es un entorno de programacin, compuesto de diferentes herramientas para el desarrollo rpido de una aplicacin. Las aplicaciones desarrolladas en PowerBuilder pueden ser muy sencillas o complejas, pero todas tienen la apariencia del windows y se pueden manejar fcilmente con el mouse. Esta publicacin, que est dirigida al personal de la administracin pblica, empresa privada, estudiantes y pblico en general, a nivel nacional, brinda las nociones bsicas para comenzar a programar en PowerBuilder. La versin utilizada es la 5.0, y su contenido permite la creacin de aplicaciones, ventanas, bases de datos, menes, datawindows, entre otros. El Instituto Nacional de Estadstica e Informtica, espera que la presente publicacin tenga la acogida de los nmeros anteriores y, sobre todo, sea de suma utilidad para todos nuestros lectores.

Econ. Flix Murillo Alfaro Jefe INSTITUTO NACIONAL DE ESTADISTICA E INFORMATICA

Iniciando POWERBUILDER Versin 5.0

Para ingresar al PowerBuilder versin 5.0 desde Windows 95, seguir los siguientes pasos: Dar un click sobre el botn . Arrastrar el mouse y dar un click en . En el siguiente grupo de opciones, seleccionar dando un click sobre la Carpeta , luego dar doble click en .

A continuacin, aparecer momentaneamente una pantalla como la que se muestra:

Requisitos de Instalacin

Sistemas Operativos Microsoft Windows 95 Microsoft Windows NT 3.51 Memoria 16 Mb de RAM (Recomendado : 32 Mb de RAM Espacio en disco duro: 160 Mb Instalacin Compacta 190 Mb Instalacin Tpica Ratn de Microsoft o compatible. PC con procesador 486DX/4 superior. (Recomendado Pentium) Tarjeta Grfica VGA o superior (Recomendado SGVA de 256 colores) Unidad de Floppy de 3.5 pulgadas (alta densidad). CD- ROM. Conceptos Generales Qu es PowerBuilder? Es un entorno de programacin que est compuesto por diferentes herramientas, para el desarrollo rpido de una aplicacin en el ambiente cliente - servidor. Permite usar ventanas, botones y todas las herramientas que presenta windows, facilitando su manejo. Se maneja bsicamente con el ratn, y el lenguaje de programacin llamado PowerScript. Esta herramienta de desarrollo est completamente orientada a objetos, lo que permite a equipos de programadores crear aplicaciones grficas sofisticadas con acceso a informacin de base de datos locales o en servidores de red. Caractersticas Bsicas Power Builder es un desarrollador de aplicaciones, cuyas caractersticas bsicas son: o Soporta una gran variedad de sistemas de gestin de base de datos, tales como: Sybase, Informix, Oracle, Watcom, entre otras. Tiene capacidad de acceder a informacin de mltiples bases de datos y mostrar esa informacin en una nica ventana. Se trabaja en ambiente cliente - servidor. Posee un objeto inteligente llamado Datawindow que realiza directamente la interface con la base de datos, sin requerir que el

o o

o o

o o o

programador conozca SQL. Capacidad de utilizar sentencias SQL combinadas en el cdigo. Se puede trabajar en mltiples plataformas, ya que soporta diferentes sistemas operativos y posee drivers nativos para las bases de datos ms comerciales. La creacin de aplicaciones es sencilla. Se realiza poca programacin. Permite usar ventanas, botones y todas las herramientas que presenta el windows facilitando su manejo. Para construir la aplicacion se utilizan painters, all se definen las propiedades de los objetos y se agregan los controles. Se puede trabajar con mltiples ventanas.

PowerBuilder, ofrece a los programadores: o o o o o o o Un entorno de desarrollo profesional. La Orientacin a Objetos. Rapidez de aprendizaje y de desarrollo. Generacin automtica de cdigo SQL. Acceso a las aplicaciones de Windows. Una herramienta de desarrollo asequible y rentable en explotacin. Un entorno abierto de desarrollo que dispone de interfaces inteligentes a otras tecnologas Cliente/Servidor. Abierto a la mayora de Base de Datos del mercado. Abierto a diferentes herramientas CASE. Abierto a Libreras de objetos y control de versiones. Abierto a aplicaciones Windows: DLL, DDE, OLE.

o o o o

Eventos y Scripts Un evento se ejecuta por ejemplo cuando se hace Click en un botn o al salir de cualquier control. En el Script se escriben los comandos y funciones que se realizan cuando se ejecuta algn evento. Funciones Permite al programador hacer ms fcil la programacin. PowerBuilder posee una gran cantidad de funciones que se pueden usar en los objetos, por ejemplo se pueden usar para abrir o cerrar una ventana o para activar algn botn.

Libreras Las libreras o PBL es el contenedor bsico de objetos PowerBuilder (ventanas, menues, datawindows). Cualquier cosa que se cree deber estar contenida en una PBL o librera. Una aplicacin puede tener una o ms libreras. De una PBL se puede generar una PBD, que es lo mismo que una PBL pero sin el cdigo fuente, o una DLL tpica de windows.

El Ambiente del POWERBUILDER Una vez que se ha iniciado el PowerBuilder, lo primero que se aprecia es una ventana con un men y una barra de herramientas (PowerBar), similar a la que se presenta a continuacin:

En la versin 5.0 del PowerBuilder abre por defecto la aplicacin activa. Si es la primera vez que se carga el PowerBuilder, aparecer por defecto la aplicacin de ejemplo del PowerBuilder. En el ambiente de desarrollo, para crear los objetos se usan painters o pintores. Cada pintor tiene un icono asociado. Para los diferentes iconos, seleccionar la opcin PowerPanel desde el men File.

Power Panel La caja de dilogo mostrada arriba se llama `PowerPanel'. Para invocar un pintor desde el PowerPanel, se necesita seleccionar el pintor haciendo "click" sobre el icono/texto y seleccionar el botn 'OK'. Antes de hacer cualquier otra cosa describiremos cada uno de los painters o pintores.

PAINTERS O PINTORES DE OBJETOS :

Son pintores para crear objetos que se almacenan en las librerias Power Builder.

Pintor de Aplicacin El objeto de aplicacin es el punto de entrada a cualquier aplicacin Power Builder. Si se hace una comparacin, sera algo as como `main()' en un programa de `C'.

Pintor de Ventana En cualquier aplicacin, la pantalla es la interface principal entre el usuario y la aplicacin. Una pantalla permite hacer entrada de datos, ver informes,etc. En PowerBuilder, las pantallas se llaman `Windows'. El Pintor de Ventana, como el nombre lo dice, permite pintar y salvar objetos de ventana. Sobre una ventana se puede pintar diversos controles, tales como CommandButtons, ListBoxes, Pictures,etc.

Pintor de Men Un men es simplemente una lista de opciones o comandos. Un ejemplo de men, el men del PowerBuilder. En PowerBuilder se puede crear objetos men en el pintor de men y asignarlos a las pantallas (ventanas). Tambin se pueden pintar menes popup ( menes sensibles de contexto) en el pintor de men.

Pintor de DataWindow El objeto DataWindow permite recobrar datos desde la base de datos u otras fuentes. Mediante un datawindow tambin se puede hacer entrada de datos. Despus de pintar el objeto de DataWindow, no puede usarse el objeto solo. Se necesita asociar el objeto DataWindow con el control DataWindow y poner el DataWindow control sobre la pantalla (ventana).

Pintor de Tubera de Datos El objeto de Tubera de Datos permite copiar tablas y sus datos desde una base de datos a otra, con pocas lneas de cdigo.

Pintor de Objetos de Usuario Es una coleccin de uno o ms objetos de PowerBuilder/ no-PowerBuilder. Los objetos no-PowerBuilder incluyen objetos de VB, DLLS, OCX y otros. El Objeto de Usuario permite reusar el cdigo.

Pintor de Consultas El Pintor de Consultas permite construir declaraciones SQL SELECT que pueden salvarse como objetos de Consulta en la biblioteca de PowerBuilder.

Pintor de Funciones El pintor de funciones permite construir objetos de funcin que pueden usarse para definir una serie de comandos, frecuentemente usados. En PowerBuilder, una funcin es una coleccin de comandos PowerScript o declaraciones de SQL dinmicos. Se puede referir tambin a estas funciones en su PowerScript y tambin en el pintor de Datawindow.

Pintor de Estructura El Pintor de Estructura permite crear objetos de estructura. Una estructura

es un conjunto de variables conexas (que puede tener los tipos diferentes de datos) agrupadas bajo un nombre nico. OTROS PINTORES

Pintor de Biblioteca Los objetos que crean en los Pintores de PowerBuilder (aplicaciones, ventanas, menes, funciones, consultas, estructuras, objetos de usuario y DataWindows) se almacenan en un archivo de sistema con extensin ".pbl". En la terminologa de PowerBuilder, este archivo se llama "la Biblioteca". El Pintor de Biblioteca permite crear y mantener bibliotecas de PowerBuilder y objetos en esas bibliotecas.

Pintor de base de datos El Pintor de base de datos permite crear objetos de base de datos como tablas, vistas, ndices, etc., sin saber la verdadera sintaxis. Todos los objetos de base de datos que se crean en este pintor se almacenan en la base de datos conectada, no en la biblioteca de PowerBuilder. Los objetos que se crean en los otros painters, como ventanas o el men, se almacenan en la biblioteca de PowerBuilder. Se puede hacer tambin administracin de base de datos desde el pintor de base de datos.

Pintor de Proyecto El Pintor de Proyecto, permite crear Bibliotecas Vinculadas Dinmicas (PBDS PowerBuilder), ejecutables.

Corrida El Icono de Corrida permite ejecutar la aplicacin.

Debug El pintor de Debug permite inspeccionar la ejecucin de la aplicacin actual gradualmente, simplificando el descubrimiento de los errores en la aplicacin.

Usando los PAINTERS o PINTORES Al usar los painter o pintores se visualizan 4 componentes bsicos: 1. The title bar : Identifica la ventana y muestra el nombre de la aplicacin actual.

2. The menu bar : Muestra las opciones disponibles del men. 3. Workspace : Espacio en el cual se pueden colocar los objetos a utilizar. 4. Toolbars : Provee varias barras de herramientas para hacer el trabajo rpido.

Usando la BARRA DE HERRAMIENTAS PowerBuilder usa 4 barras de herramientas (Toolbars): 1. PowerBar : contiene iconos para abrir pintores y otras herramientas. 2. PainterBar : manipula componentes en el painter activo. 3. StyleBar : cambia atributos de los textos (tipo, tamao y fondo). 4. ColorBar : cambia los colores de los componentes en el pintor actual. El programador puede controlar qu barra de herramientas puede usar y dnde visualizarlas. Adems se puede agregar, mover y deletear iconos en el Power Bar y en el PainterBar.

Mostrando la Barra de Herramientas Si se muestra la barra de herramientas (toolbars), se puede escoger dnde mostrarlo y decidir si se muestra o no texto sobre los iconos. Si se elige mostrar texto, ste afecta a toda la barra de herramientas, o de lo contrario el texto es omitido. Usando el Mouse para mover las Barras de Herramientas Para mover la barra de herramientas (toolbars) con el mouse, se tiene que hacer lo siguiente: - Ubicar el cursor sobre un espacio vaco dentro del toolbar - Pulsar y retener el botn izquierdo del ratn. - Arrastrar la barra de herramientas y dejarla donde se desee.

Personalizando la Barra de Herramientas Se puede personalizar la barra de herramientas (toolbars) con los iconos del PowerBuilder y con los iconos invocar otrar aplicaciones Windows, tal como la Calculadora o Notepad.

Adicionar, Mover y Borrar Iconos Se puede agregar, mover y borrar iconos en el PowerBuilder y en el PainterBar. No se puede accesar iconos en el StyleBar o ColorBar.

Usand o el Power Bar

El Power Bar se muestra cuando se inicia una sesin de Power Builder. El PowerBar es el control principal para construir aplicaciones PowerBuilder. Desde el PowerBar se puede abrir el Painter de PowerBuilder, depurar o correr la aplicacin actual, pedir ayuda o personalizar PowerBuider para cualquier necesidad. Se puede personalizar PowerBuilder. Por ejemplo, se puede agregar iconos para operaciones que se necesiten con mayor frecuencia. Usando Iconos

Los iconos en el Power Bar ( y en el Power Panel) representan cada una de las herramientas y pintores frecuentemente usados en PowerBuilder.

Usando el Men POPUP Power Builder provee un contexto sensible de men popup que lista los items apropiados para el objeto seleccionado.

El men popup est disponible en cualquier lugar del PowerBuilder. Para usar el Men PopUp: * Seleccionar uno o ms objetos * Dar click con el botn derecho del mouse, el men apropiado se displayar. * Seleccionar el item deseado.

Trabajando con Ventanas en Power Builder Cada Painter de PowerBuilder muestra su propia ventana. Se puede abrir varios painters a la vez y tambin varias instancias de un painter. Ejemplo : Si ha abierto varias ventanas en PowerBuilder, puede moverse de una a otra, pulsando los botones: Crtl + Tab. Usando la Ayuda en Linea PowerBuilder tiene una extensa ayuda en lnea. Cuando se requiere usar el help, seleccionar el icono Help ( cualquier lugar. ) o F1,la ayuda est disponible en

La ayuda sensitiva al contexto slo es disponible en las funciones y en el script. Ejemplo : Si se est escribiendo en el script la palabra password y se desea saber en qu objetos puede ser usada, seleccionar la palabra y presionar Shift + F1 y a continuacin, aparecer una ventana similar a la siguiente:

Esta ayuda complementa la informacin que aparece en los manuales del PowerBuilder y, adems, provee de una orientacin, referencia y ejemplos de aplicacin.

Construyendo una APLICACION El punto de inicio de cualquier proyecto que se ha de realizar en PowerBuilder es crear la aplicacin, ya que en la aplicacin es donde se disea el ambiente donde se va a trabajar ( equivalente a crear un proyecto en Visual FoxPro). Una aplicacin tiene como elementos a las ventanas, los menes, los datawindows, los objetos de usuario, entre otros. Crear una aplicacin en PowerBuilder consiste en crear cada una de sus piezas con el painter adecuado, y despus codificar las interacciones entre ellas. El orden lgico de esta creacin podra ser:

Las convenciones para los nombres de los objetos son recomendados para una fcil identificacin de los objetos y controles a los que se hace referencia. Ejemplo. windows w_principal datawindow dw_principal menu m_principal command button cb_ Ok

Como se puede apreciar en el grfico anterior, las opciones de men que se nos ofrecen desde el painter aplicacin incluye: * Crear una aplicacin nueva, * Abrir una ya existente, * Grabar, * Introducir cdigo en los scripts, * Modificar las propiedades y * Salir. Si creamos una aplicacin nueva se nos preguntar primero si deseamos crear la Pbl contenedora o utilizar una ya creada anteriormente. En este painter es donde creamos el objeto aplicacin, que es lo primero que deberamos crear al empezar un nuevo proyecto. Este objeto contendr el cdigo que debe ejecutarse al arrancar y parar la aplicacin. El apartado ms importante para el que empieza a programar es el de las libreras, el cual contendr las rutas de las Pbl (libreras) que nuestra aplicacin va a utilizar. Una aplicacin recin creada slo contendr una librera, la que se ha utilizado para crear el objeto aplicacin, las dems (si hubiesen) se han de introducir manualmente.

Eventos del Objeto APLICACION PowerBuilder es un lenguaje orientado a eventos. Esto significa que los objetos con los que tratamos tienen predefinidas unas "rutinas" vacas que sern llamadas por el sistema de forma automtica, cada vez que ocurra una accin concreta. Cada evento tiene asociado una accin o suceso del sistema.

Tambin podemos crear nuestros propios eventos (User Event) . Si elegimos el botn de barra de herramientas, se nos abrir una ventana parecida a la siguiente:

Fijmonos en la lista desplegable (tambin llamada cuadro combinado o combo box. En PowerBuilder se le conoce como Drop Down List) de la esquina superior izquierda. Si pulsamos en la flecha se nos abren todos los eventos disponibles para este objeto. Los ms importantes son:

Si por ejemplo deseamos realizar alguna accin inmediatamente despus de que la aplicacin se ponga en marcha, slo tenemos que escoger el evento open y escribir en el lenguaje PowerScript las instrucciones que se deseen.

Creando la primera APLICACION Vamos a crear nuestra primera aplicacin, la llamaremos "Publicaciones" y los pasos a seguir seran los siguientes: 1. Ejecutar PowerBuilder 2. Dar un click en Application Painter (pintor de aplicacin). 3. Seleccionar File / New o el icono . 4. PowerBuilder preguntar qu Pbl (librera) deseamos escoger para grabar la nueva aplicacin, si digitamos un nombre que no existe, crearemos una nueva Pbl.

5. El siguiente paso es darle un nombre al objeto aplicacin, Tambin se pue- de aadir un comentario. (Ver Fig. 1) 6. PowerBuilder nos pregunta si deseamos generar un "Application template", esto provocar que nos genere una aplicacin que cree un entorno mdi listo para funcionar, contestaremos que no. (Ver Fig. 2)

7. Escoger la opcion Close del menFile. 8. Pulsar el botn y veremos una vista de la pbl que acabamos de crear con el objeto aplicacin dentro.

9. Ahora vamos a introducir cdigo en el evento open. Abrimos el pintor de Aplicacin. 10. Escogemos el botn de la barra de herramientas que corresponde al script ( ). 11. Seleccionamos en la lista de la izquierda el evento open.

12. Tecleamos la instruccin: MessageBox ("Aviso", "Esta aplicacion, ms adelante ser un control de publicaciones!!!").

13. Compilar la sentencia escrita con el icono ( ) de la barra de herramientas del pintor aplicacin. 14. Cerramos la ventana del script dando un click en el ltimo botn de la barra de herramientas del pintor aplicacin ( ). 15. Para grabar, pulsar sobre el botn del diskette ( 16. Por ltimo, hacer click en el botn de Run ( ). ).

Listo, ya hemos realizado nuestro primer programa en PowerBuilder..... !

Observacin importante: Aunque PowerBuilder est pensado para crear aplicaciones tipo MDI, este programa demuestra que no es imprescindible abrir ninguna ventana para que el programa haga algo. Con PowerBuilder tambin se puede realizar procesos no interactivos que hagan su trabajo en background. En los prximos captulos, a medida que se incrementen los conocimientos, se podr crear un programa que se conecte a la base de datos y abra una ventana marco MDI principal y una ventana tipo "sheet".

Construyendo Ventanas (Windows) Las aplicaciones PowerBuilder consisten en ventanas (windows) que interactan con el usuario. EL OBJETO WINDOWS ( Ventana ) Las ventanas son la interface entre el usuario y una aplicacin Power Builder. Muestran informacin requerida e interactan con el usuario. Un Ventana consta de: o o o Atributos: Son los que definen el comportamiento y apariencia de la ventana. Estos pueden ser cambiados . Ejm (color, ttulo, etc). Eventos: Especifican lo que sucede cuando un window es manipulado. Ejem: evento close (ocurre al cerrar una ventana) Controles: Colocados sobre un windows, para recibir y brindar informacin al usuario. Ejm (command button, singleline edit, radio button, etc).

Entorno Windows (Ventana) Un window (ventana) es un trmino para una pantalla. Se puede tener mltiples ventanas en la pantalla al mismo tiempo y cada ventana trabaja independientemente. En PowerBuilder se crean ventanas usando el Pintor de Windows. Se puede abrir el pintor de windows haciendo click con el mouse sobre el botn ( el PowerBar, o presionando Shift + F2. ) situado en

La barra de herramientas de este painter (pintor) es mucho ms compleja que la del objeto aplicacin.

Los botones que tienen una flecha negra a la derecha despliegan una lista con ms botones al pinchar sobre ella. Uno de los botones ms importantes es el cuarto empezando por la izquierda. Al pulsar sobre la flecha negra que despliega la lista, muestra todos los objetos que podemos pegar encima de la ventana (controles que describiremos ms adelante). Estos controles se pueden pegar en la ventana y al pulsar el boton derecho del mouse sobre ellos, aparece un men, qu entre otras opciones muestra la opcin properties (propiedades) y la opcin de script (cdigo). Estas dos son las ms utilizadas, nos permiten cambiar algunas propiedades y codificar los eventos con las instrucciones de PowerScript que describiremos ms adelante.

Construyendo una Ventana A continuacin se describir cmo construir una ventana que no est basada en una ya existente. Al acceder al pintor de window ( window de la librera actual. ) , se displaya el select window y lista los

Las ventanas (windows) pueden ser heredadas (Inherit).

Para construir una nueva ventana, seguir los siguientes pasos: o o Hacer click en botn New o dar click en el botn de la barra de herramientas del pintor window. A continuacin, se displayar el workspace (espacio de trabajo ) y es aqu donde se definir la apariencia y comportamiento del window (ventana).

Tipo s de Ventanas (Windows) Hay varios tipos de ventanas Windows Main : Son ventanas que son independientes de otros windows. La primera ventana (window) abierta en la aplicacin es el window Main, a menos que sea una aplicacin MDI. Window Popup : Un popup tiene una ventana de origen como la ventana pequea pero no tiene todas las limitaciones. Window Child : Los windows Child son siempre abiertos desde un window main o popup, los que llegan a ser su window parent. Un window Child slo existe dentro de su parent. No puede tener asociado un men y nunca son considerados como el window activo. Un window child se cierra cuando su parent se cierra. Window Response : Los window response piden informacin al usuario, siempre

son abiertos dentro de otro window ( su pariente ). MDI Frame : Un MDI window es un frame window, y es usado cuando el usuario necesita organizar los trabajos con mltiples ventanas

Ejemplo : Ventana de impresin ( tpico ejemplo de una ventanaResponse ) Propiedades del Window (Ventana) Cada ventana y cada uno de sus controles tiene un estilo que determina la apariencia para el usuario. Cuando define un estilo para una ventana (window) se le asigna valores a las propiedades de dicha ventana. Para el ejemplo: la ventana ser visible, de tipo main, de color silver, entre otros.

Para definir el estilo de windows, realizar los siguientes pasos: o o o o o o Hacer doble click sobre el window (aparecer una pantalla similar a la superior). Especifique el tipo de window (Window Type). Especifique otras propiedades del window. Asociar un men con el window (si lo desea). Escoger el color para el background del window (Window Color). Finalmente, hacer click en OK.

ESPECIFICANDO EL TIPO DE WINDOW Lo primero que se debe hacer despus de crear un window es especificar su tipo, para ello: o Escoger el tipo de ventana en la lista desplegable Window Type, en la ventana de propiedades de la ventana. Definiendo el tipo de window se habilitarn o deshabilitarn ciertas propiedades del window Ejemplo: Si se crea un window de tipo Main el Title Bar Check box y el border check box ( ) aparecern deshabilitados. ESPECIFICANDO OTRAS PROPIEDADES BASICAS Tambin puede especificar si el window se maximiza, tiene Scrollbars, visible, enabled, resizable, entre otros. ( Notitas: o o o ) Un window main debe tener un ttulo. Un window child no puede tener men. Un window response no puede tener men, maximize box, minimize box, ni resizable (es decir, su tamao no puede variar).

ASOCIANDO UN MENU A LA VENTANA

Para asociar un men a un window, digitar el nombre del men a asociar en el campo Menu Name de la ventana de propiedades. En el caso que el men que se desea seleccionar no aparezca en la lista (P.B. lista todo los menes de la aplicacin), hacer click en el botn y escoja el men deseado. Se puede cambiar un men asociado con un window durante ejecucin con la funcin ChangeMenu. ESCOGIENDO EL COLOR DE LA VENTANA Para cambiar el color de la ventana, seguir los siguientes pasos: o Seleccionar un color en el Listbox Window color de la ventana de propiedades de la ventana.

CAMBIANDO EL TAMAO Y LA POSICION En la ventana de propiedades de la ventana (ingresar haciendo doble click sobre la ventana), escoger la carilla y seguir los siguientes pasos :

o o o

Seleccionar el estado inicial del window (Normal, Minimizado o Maximizado). Mover el window a un lugar apropiado con el mouse o dando valores a X e Y. Hacer click en OK Para window Main, Popup, Response y MDI frame, X e Y son relativos a la esquina superior izquierda del y para window child, X e Y son relativos al parent).

Para cambiar el tamao del window (ventana): o Usar el mouse para modificar el tamao o cambiar los atributos Width y Height.

GRABANDO EL WINDOW

El window (ventana) creado se guarda en una de las librera PBL. Para ello, selecionar SAVE del File Menu, o hacer click en el icono ( ) de la barra de herramientas del pintor window , a continuacin aparecer una pantalla digitar el nombre del window.

VISTA PREVIA DEL WINDOW Mientras construye el window, se pueden ir haciendo vistas previas. Para ello hacer click en ( ) de la barra de herramientas del pintor de Window. Eventos de una Ventana Al igual que se ha visto en el Painter Application y tal como se ver en el resto de objetos de PowerBuilder, al pulsar el botn derecho sobre la ventana y escoger la opcin script, se abre la ventana de edicin de cdigo. Los eventos ms utilizados a la hora de codificar en una ventana son:

Evento

Descripcin

Activate: Ocurre inmediatamente despus de abrirse la ventana. La ventana activa se muestra con un ttulo sumamente iluminado. Clicked: Ocurre cuando se hace un click en una ventana, pero no dentro de los controles (as como un command Bottom). Close:Ocurre antes de que la ventana est desactivada y cerrada. Close Query: Los query de una ventana le dan una oportunidad de manejar cualquier ltimo detalle, as como guardar cualquier cambio actual a un archivo o una tabla. El evento ocurre antes del cierre de eventos y es posible que reuse a permitir que la ventana se cierre. Desactivate: Este evento es impulsado antes de que la ventana llegue a estar inactiva.

Double Clicked: Ocurre cuando se hace doble click en una ventana, pero no dentro de los controles. DragDrop: Ocurre cuando el modo drag y el puntero drop estn en un objeto de la ventana (no dentro de un control) DragEnter: Ocurre cuando el modo drag est en un objeto de entrada de la ventana. DragLeave: Ocurre cuando el modo drag est en los objetos que van a salir de la ventana. DragWithin: Cuando el modo drag est en los eventos que son impulsados peridicamente mientras que un objeto est dentro de la ventana. Hide: Esta ventana se hace invisible. HotLinkAlarm: Ocurre despus que una conexin DDE ha sido efectuada. Key: Ocurre cuando el teclado es presionado y el foco no est dentro de un control de edicin. MouseDown: Ocurre cuando se da click al botn izquierdo del mouse. MouseMove: Ocurre cuando el mouse se ha movido dentro de la ventana. Mouse Up: Ocurre cuando el botn del mouse es soltado dentro de la ventana y el sealador no est localizado dentro de cualquier control activado. Open: Este evento ocurre al abrirse, antes de que el usuario vea nada. Other: Todo los eventos de la otra ventana que han sido sealados por los eventos del PB, estn ruteados en este evento, raramente se usar este evento. Rbutton Down: Ocurre cuando se presiona el botn derecho del mouse. Resize: Ocurre al cambiar el tamao de la ventana. Show: Este evento es impulsado antes de llamar a la funcin show. SystemKey: Evento impulsado antes que el usuario presione la tecla Alt (usualmente en combinacin con otra tecla) y el foco no estar dentro de un tipo de edicin activa del control. Timer: Ocurre con intervalos especficos como colocar la funcin de tiempo. El evento del tiempo es solamente impulsado si la funcin del timer fue llamada.

Funcione s de una Ventana

Las funciones que se mencionan a continuacin se aplican especficamente a los objetos de las ventanas: ArrangSheets: Organiza a las hojas de las ventanas en un estilo especfico, como tiled o cascada. Change Menu: Asigna el men asociado con una ventana a una named men ClasName: Retorna el nombre de la ventana. GetActiveSheet: Retorna cual es la ventana que est actualemente activa en la ventana de hoja. Hide: Hace que la ventana se haga invisible. Move: Cambia la ventana a una nueva posicin. ParentWindow: Retorna cual es la ventana padre. Pointer X: Devuelve la actual posicin horizontal del puntero. Pointer Y: Devuelve la actual posicin vertical del puntero. Postevent: Adiciona un evento a la cola de mensaje de un objeto (un mensaje asincrnico). Resize: Cambia el actual tamao de la ventana. SetFocus: Activa el foco de la ventana, haciendo que sta sea la actual ventana activa. Setmicrohelp: Asigna un texto en lnea de status del MDI y lo displaya. SetPosition: Mueve la ventana al frente o posterior a otra ventana. SetRedraw: Enciende o apaga el estado de actualizacin para una ventana. Show : Displaya una ventana. TriggerEvent: Enva un mensaje para un evento del objeto. TypeOff: Retorna el tipo de objeto

Introduccin a los Controles Cuando se ejecuta la aplicacin los usuarios interactan generalmente con los controles colocados en la ventana (window). Hay dos tipos de controles : - Controles que tienen eventos - Controles sin eventos (Group Boxes y los drawing objects (objetos para dibujar)). Hay controles para: Mostrar y / o manipular valores: Static text SingleLineEdit

MultilineEdit

EditMask CommandButton Data Window (control especial para la presentacin de datos) PictureButton User Object TreeView, ListView, Tabs.

Hacer cambios: Incluyen los siguientes controles CheckBox

List Box

DropDownListBox RadioButton Mostrar Informacin Grfica : Incluyen los siguientes controles

Graph

HScrollBar VScrollBar

Para Dibujar sobre la Ventana

GroupBox Line

Oval

Rectangle

RoundRectangle

Picture

Colocando Controles en una Ventana

Para colocar un control en la ventana (window), seguir los siguientes pasos: o o Seleccionar el control del window PainterBar o del MenuControl. Hacer click donde se quiere colocar el control.

Despus de colocar el control puede cambiar de tamao, definir su apariencia y comportamiento, y asociar scripts para los eventos. CAMBIANDO LAS PROPIEDADES DEL CONTROL Cada control tiene propiedades que determinan su apariencia y comportamiento. Para definir las propiedades, seguir los siguientes pasos: o o Hacer click con el botn derecho del mouse sobre el control. A continuacin aparecer un men emergente con varias opciones. (ver a la derecha) Seleccionar la opcin propiedades (properties) del control. Si se prefiere, hacer doble click sobre el control y aparecer la ventana de propiedades del control.

o o

Cuando coloque un control en una ventana (window), PowerBuilder asigna un nombre nico al control de la siguiente manera: prefijo de control_ + nmero el nmero puede ser cambiado por una palabra representativa para el control. Para el ejemplo el prefijo del control comand button ser: cb_grabar1

A continuacin, se muestra una lista con los principales controles y sus prefijos:

Cambiando el Texto de un Control El pintor de ventana (window), tiene una barra de estilos (StyleBar) que se puede usar para cambiar las siguientes propiedades de texto del control seleccionado. * el texto * el tipo de letra * el tamao * el alineamiento del texto dentro del control. Ejemplo: Al CommandButton cb_grabar, se le desea cambiar el texto por Guardar. Para realizar este ejemplo, seguir los siguientes pasos: * Seleccionar el control. * Especificar el nuevo texto en la barra de estilos (remplazar la palabra Grabar).

Alineando los Controles En PowerBuilder se puede alinear dos o ms controles de la siguiente manera: o Seleccione el control cuya posicin sirva como referencia para alinear a los otros. En nuestro caso, ser determinado por el ltimo control creado (Pastillas), en ba- se a este control se alinearn los dems controles. Presione Ctrl y click a la vez y los controles que quiere alinear.

Seleccionar Aling Controls del Men Edit.

* Seleccione el tipo de alineamiento.

Igualando el espacio entre los controles Con el PowerBuilder se puede igualar el espacio entre los controles de la siguiente manera:

o o

Seleccione dos controles cuyo espacio es el correcto. Ejemplo : Cultura Informtica e Informtica Fcil, presione Ctrl y Click. Seleccionar los otros controles que faltan. Seleccionar Space Controls del men edit.

Modificando el tamao de los controles Power Builder permite modificar el tamao de los controles de la siguiente manera: o Seleccione el control con el tamao correcto ejemplo : En nuestro caso ser el control Aceptar el que tiene el tamao apropiado.

Seleccionar los controles cuyo tamao quiere al primer control. Ejemplo: Sea el control Cancelar, seleccionar con el mouse los dos controles sin dejar de soltar el botn Ctrl. Selecionar Size Control del men Edit.

Seleccionar el tipo de tamao.

Definiendo el Tab Order de los Controles Cuando se coloca un determinado control en la ventana (window), PowerBuilder le asigna por default un Tab Order (orden del foco), que es la secuencia en la cual el focus se mueve de control a control.

o o

Seleccione el Tab Order del men Desing, o seleccione de la barra de herramientas. Cambiar los valores para el Tab Order(0,9999), si coloca 0, sto hace que se salte el control.

o o

Repetir el procedimiento hasta obtener el Tab Order deseado. Seleccionar el Tab Order del men Desing o de la barra de herramientas.

Ejemplo: Vemos que el SingleLineEdit que se encuentra a la derecha del texto Nmero no es el correcto, en su lugar debera estar el tab order 20. Esto se puede modificar seleccionando con el mouse sobre el nmero 40 y luego escribimos el nmero 20. Definiendo Teclas Aceleradoras a los Controles Se puede definir teclas aceleradoras a los controles para permitir al usuario cambiar el focus presionando Alt + Tecla Aceleradora. Esto se obtiene colocando el signo &, antes de la letra que va a ser la tecla aceleradora.

Ejemplo: Al commandbutton en su atributo text ( doble click sobre el control ) se coloc &Aceptar, entonces la tecla aceleradora ser A, ya que el signo & est delante de la letra A y, sta se encuentra subrayada.

Ejemplo Prctico:

En esta ventana se muestra la mayora de los controles. Pero pegados en la ventana, por si solos, sin tener cdigo (script) en cada uno de sus eventos, no realizan ninguna accin. Una aplicacin consta bsicamente de un objeto aplicacin, menus, ventanas y datawindows. Para que todos estos objetos interactuen con la data, se necesita programar en el script (ver Cap 7).

ENTORNO BASES DE DATOS

Antes de comenzar a trabajar en una aplicacin PowerBuilder se debe crear la base de datos, el enlace ODBC y un database profile. Pero ....... Qu es un database profile?. Es el enlace que utilizarn los pintores (painters) del entorno PowerBuilder a la base de datos. La aplicacin debe conectarse explcitamente, mediante un script (cdigo) a la base de datos. Pero cuando la aplicacin no est ejecutndose, qu base de datos han de usar los pintores? Esto se especifica pulsando el botn del PowerBar.

Para nuestro ejemplo usaremos la base de datos Publi. Se pueden definir varios profiles, pero slo uno ser el activo. Se puede conectar a una base de datos cuando se ejecuta la aplicacin y a otra mientras se est diseando, as que hemos de tener cuidado de no equivocarnos. El enlace ODBC podemos crearlo a travs del panel de control de windows o dentro del mismo PowerBuilder con el botn del PowerBar (ver Pag 53). Si se crea el ODBC dentro de PowerBuilder, ste crear el profile por s solo, de manera que slo tenemos que pulsar el botn database profile, y escogerlo para que sea el activo. A partir de entonces, todas las operaciones que ejecutemos sobre datawindows o base de datos, repercutirn sobre la base de datos activa.

Ejemplo: Base de datos de Publicaciones

CREANDO LA BASE DE DATOS Para crear la base de datos, como se muestra en el ejemplo, seguir los siguientes pasos: o Pulsar el botn (pintor de base de datos). A continuacin se mostrar una lista de las tablas de las bases de datos. Tambin se puede crear y modificar las tablas desde aqu. Si se desea crear una base de datos nueva, hacer click en el botn cancelar e ir al men File y seleccionar la opcion Create Database.

:
A continuacin aparecer una ventana similar a la de la derecha, en la que se escribir el nombre que se desea dar a la base de datos y hacer click en el botn Ok.

En el entorno de base de datos al hacer click, con el botn derecho del mouse y seleccionar Select Tables aparecer la lista de tablas a seleccionar y si la base de datos esta vaca aparecera activo el boton new.

PowerBar

Barra de Herramientas del pintor Base de Datos (ToolBars)

CREANDO LAS TABLAS Una vez que se ha creado la base de datos se pueden crear las tablas que sern adicionadas a esta base de datos, para ello debemos de seleccionar en el men Object new table o bien en el icono create table de la barra de herramientas. A continuacin aparecer la pantalla de entorno para la creacin de tablas (create table dialogbox), obligadamente debemos ingresar un nombre, que generalmente deber ir relacionado con la caracterstica de los datos a

guardarse, por ejemplo: Mae_publi, responsable, rea, etc., adems nos muestra una serie de atributos que describimos a continuacin:

Name: Identifica el nombre del campo. Debera ir relacionado con la caracterstica del atributo, por ejemplo : num_publi, tipo_publi, nomb_publi, etc. Type : Tipo de informacin que puede contener el campo. Existen diferentes tipos por ejemplo : varchar, char, numeric, integer, double, date, time, float etc. Width : Nmero de caracteres mximos a guardar el campo. Dec : Slo en el caso de numricos, especifica el nmero de decimales que contiene el campo. Null : Esta opcin especifica al el PowerBuilder que debera obligar que se ingrese necesariamente datos al campo, las opciones de respuesta para este atributo, son S o No. Es recomendable que las claves del archivo no permitan ingresar nulos, para mantener la integridad de la informacin.

Cuando se ha terminado de ingresar los datos en la tabla debemos de guardarla (Ctrl+S) con un nombre, tal como se ve a continuacin y luego puede crear otra tablas si es necesario.

ATRIBUTOS EXTENDIDOS Los atributos extendidos de cada tabla son los siguientes: Format Attribute : Se usa para dar una visualizacin editada al campo, al momento de mostrar por pantalla. Edit attribute : Se usa para describir cmo se va ingresar un campo

editado por pantalla. Valid Attribute : Se puede especificar una validacin especial al campo, ya sea un rango de monto, cdigo, fechas, etc. Justify Attribute : Puede especificar la justificacin que se le va dar al campo ya sea a la izquierda, derecha, centro. Height and windth attributes : Puede especificar el tamao y el ancho del rea para el campo.

Header attribute : Es la informacin que se mostrar a la hora de displayar el campo en un reporte. Label Atribute : Este attribute es similar a header attribute, pero ste se usa en el dialog Boxes, pero por defecto (default) siempre es la misma del nombre del campo. Comments : Puede especificar comentarios con respecto al campo, en esta seccin.

TIPOS DE DATOS En cuanto a tipo de datos , PowerBuilder ofrece : Char (character String) : Usado para nombres, direcciones, o cualquier item que contenga textos, generalmente usado cuando conocemos el tamao de la data a almacenar. Varchar(Variable length/Character String): Este tipo es usado cuando el tamao de la data a guardar es variable, a veces larga o a veces corta, la ventaja de usar este tipo de dato es que vemos en nuestra tabla, justo los

datos que son necesarios, de tal forma que ahorramos espacio. Numeric (numbers) : Usado para almacenar datos numricos, por ejemplo: Sueldo, tipo de cambio, edad, ancho , etc. Integer and Short integer(Counting numbers): Estos son nmeros que no manejan porcin decimal, el short integer y el integer se diferencia solo en el tamao que se va a almacenar. Float and double (floating point numbers) : Este tipo de datos almacenan una porcin decimal, y es similar al anterior. Se diferencia por el tamao de almacenamiento de datos. Binary (Binary data ) : Este tipo de datos puede almacenar datos, no importando el tipo de data a guardar, ya sea (char, varchar, integer, etc). Generalmente usado para almacenar informacin digital(Sonidos, grficos, etc). Date, Time and Timestramp : Almacenan fechas, horas con formato especial, de tal forma que para el programador se hace ms fcil manejar tipos de datos como stos.

CREANDO INDICES Para crear un ndice a una tabla, seguir los siguientes pasos: Hacer click en el botn de la barra de herramientas o seleccionar en el menObject la opcin New, luego Index. A continuacin aparecer una ventana similar a la de la derecha, en donde se deber seleccionar el campo o campos que formarn el ndice. Por ltimo, se le dar un nombre al ndice en el campo Index Name. Hacer click en Ok y el ndice ya estar creado y ser representado por en la tabla (los ndices se crearn para luego poder, realizar ordenamientos). CREANDO LLAVE PRIMARIA Cuando se crea una tabla se necesita elegir el campo o campos que conforman la llave primaria (primary key) de tal forma que se cree una clave nica por registro, para garantizar que los datos no sean repetidos. Por ejemplo (los campos num_publi, tipo_publi de la tabla mae_publi). Haciendo click con el botn derecho del mouse dentro de la tabla creada, se

puede observar una serie de opciones, entre ellas, se debe de seleccionar

La llave primaria ( Primary Key ) sirve para salvaguardar la integridad de los datos. A continuacin aparecer una ventana como la que se muestra, donde se escoger la opcin Primary Key y se especificar el campo o campos que se desee utilizar como llave principal o primaria. Para nuestro ejemplo, utilizaremos los campos num_publi y tipo_publi, ambos representarn la llave principal, la cual tambien se le llama llave compuesta. CREANDO LLAVE FORANEA Es necesario crear una llave fornea cuando el campo de una tabla puede ser usado para accesar a otra tabla (en nuestro ejemplo grfico que se muestra al inicio de este captulo, se ver que en la tabla mae_publi existe un campocodi_resp el cual es un campo o atributo ms de esta tabla, pero que representa la llave principal en otra tabla, entonces podemos decir que ese campo es una llave fornea de la tabla responsable). La llave fornea se crea haciendo un click con el botn derecho del mouse sobre la tabla en donde es fornea, en este caso la tabla mae_publi, aparecer una ventana de la siguiente manera:

CREANDO EL ORIGEN DE LA BASE DE DATOS (ODBC) Como ya hemos mencionado un ODBC es el origen de base de datos. Para crear un enlace ODBC, seguir los siguientes pasos:   Hacer click en el botn del PowerBar. A continuacin, aparecera la sgte. pantalla:

Si se va a crear por primera vez el ODBC, entonces Hacer click en el botn Create.

A continuacin aparecer la siguiente pantalla:

En esta pantalla, llenar los datos: Nombre del Origen de datos, Descripcin, usuario, password, base de datos, entre otros, y hacer click en OK. SELECCIONANDO EL PROFILE Como ya se ha mencionado antes un profile es el enlace que usan los pintores a la base de datos. Si se ha creado el odbc dentro de PowerBuilder, ste crear el profile por s solo, de manera que so lamente se debe pulsar el botn database profile, del PowerBar y seleccionar el que se desee para que sea el activo. A partir de entonces, todas las operaciones que ejecutemos sobre datawindows o base de datos, repercutirn sobre la base de datos activa.

EL ENTORNO MENU Con el pintor men se disearn los menes que aparecern en las diferentes ventanas de una aplicacin. Las aplicaciones pueden ser de dos tipos: SDI = Single Document Interface. La aplicacin consta de una ventana y de un men asociado a la misma. Ejemplo : Block de notas, WordPad. MDI = Multi Document Interface. La aplicacin consta de una ventana principal o marco MDI y de varias secundarias que estn contenidas dentro y que no pueden salir de los lmites visuales de la ventana marco. Ejem: PowerBuilder, Microsoft Word, etc. Al entrar al entorno Men se activa la barra de herramientas de este entorno (toolbars) la cual consta de los siguientes botones:

Pero.... Porqu se usan menes en las ventanas?

CONSTRUYENDO UN MENU Hay dos maneras de construir un men o o Construir un men desde el principio Construir un men que hereda su estilo, funciones, estructuras, variables y script de un men ya existente.

CONSTRUYENDO UN NUEVO MENU Para construir un nuevo men seguir los siguientes pasos: 3. Hacer un click en el icono del pintor de men ( = Men Painter ) en el PowerBar. A continuacin la ventana de seleccin de Mens lista los Menes en la librera actual si, aplicacin ya tiene menes. Si recin se est creando aparecer una ventana vaca. 4. Haga click sobre el botn Nuevo para construir un nuevo men. Se mostrar luego el espacio de trabajo del Men Painter.

ACERCA DEL PINTOR MENU Tiene varias reas de trabajo : o o o Un rea para especificar los elementos del men de barra. Un rea para definir los elementos de los menes colgantes. Un rea para especificar si es que los elementos se muestran en la barra de herramientas en aplicaciones MDI.

TRABAJANDO EN EL PINTOR MENU En el men painter, se especifica lo siguiente: o o o o o Los elementos que se muestran en el men de barra(la barra en la parte superior de la ventana ) Los elementos que se mostrarn debajo de cada opcin del men de barra Atributos de los elementos. Aceleradores y atajos(combinaciones de teclas). Scripts para los eventos de los elementos del men.

AGREGANDO ELEMENTOS EN EL MENU Cada men consiste de al menos un elemento en el men de barra y elementos en el men colgante. Se puede agregar elementos a un men en tres lugares: y En el men barra y En el men colgante y En el men de cascada Para agregar elementos en el men de barra, seguir los siguientes pasos:

13. Hacer click en el espacio en blanco a la derecha del ltimo elemento definido en el men de barra al tope del espacio de trabajo del Men Painter. PowerBuilder mostrar un campo vaco. 14. Digitar el texto que se mostrar para el elemento. 15. Para agregar otro elemento al men de barra, hacer un click a la derecha del elemento que acaba de definir, PowerBuilder mostrar otro campo vaco. 16. Digitar el texto para el nuevo elemento. 17. Repita los pasos 3 y 4 para agregar elementos adicionales al men de barra.

Para agregar elementos al men colgante, seguir los siguientes pasos: 18. Hacer un click sobre el elemento al cual se le definir un men colgante en el men de barra. PowerBuilder mostrar el men colgante ya definido(si existiera) para el elemento seleccionado. 19. Presionar la tecla TAB o vaya al primer campo vaco debajo del encabezado "Menu for". 20. Digitar el texto que se mostrar para el elemento. 21. Repita los pasos 2 y 3 para agregar elementos adicionales al men colgante.

Para agregar elementos al men en cascada 22. Hacer click sobre el elemento de un men colgante al cual se le quiere asignar un men en cascada.

23. Hacer click en el icono de siguiente nivel de la barra de herramientas ( ) o seleccione en el men Edit la opcin Next (Siguiente Nivel).

Un campo vaco aparece debajo del encabezado "Menu For"y el puntero se mueve al campo de manera tal que se puede empezar a construir el men en cascada.

Nota: El encabezado "Menu For" muestra el nombre del elemento del men de barra, un triangulo hacia la derecha, el nombre de la opcin que se escogi y otro triangulo hacia la derecha. Esto es para recordar que est ingresando elemento a un men en cascada. 24. Ingrese elementos en un men en cascada de la misma manera que lo hace en menes colgantes. 25. Para ingresar al nivel previo del men, haga click sobre el icono de nivel previo o seleccione Nivel previo de la opcin Edit. COMO SE NOMBRAN LOS MENUES Cuando se agregan elementos del men, PowerBuilder le da un nombre por defecto, el cual es mostrado en el campoMenu Item Name.

NOMBRE POR DEFECTO DEL MENU

El nombre por defecto es una concatenacin del texto especificado para la variable prefijo en la opcin Options del Men Design (inicialmente el prefijo por defecto es m_ y los smbolos y caracteres vlidos para PowerBuilder en el texto que digit para el elemento del men.

Si no hay smbolos o caracteres vlidos en el texto digitado por defecto se coloca el prefijo n, donde n representa el nmero ms bajo que puede ser combinado con el prefijo para crear un nombre nico. INSERTAR ELEMENTOS EN EL MENU 26. Seleccionar el elemento del men de barra que se quiere que est despus, del elemento a insertar. 27. Hacer click en el icono Insertar del PainterBar, o presione la tecla Ins o tambin seleccionar Insertar del men Editar. Un campo vaco se mostrar. 28. Tipear el texto del nuevo elemento.

MOVIENDO ELEMENTOS DEL MENU Para cambiar el orden de los elementos en el men de barra o en un men colgante o en un men cascada, se puede arrastrar los elementos a la posicion deseada de un men a otro (por ejemplo, no puede arrastrar un elemento en el men de barra a un men colgante). Para mover un elemento, seguir los siguientes pasos : 29. Hacer click en el icono Mover ( ) en el PainterBar o seleccionar Mover del men Editar . En ese momento se cambia al modo Mover. 30. Presionar y mantener presionado el boton izquierdo del mouse sobre el elemento que desea mover. El puntero cambiar a un puntero en forma de mano.

31. Arrastrar el elemento a una nueva posicin en su men. 32. Soltar el botn del Mouse. El elemento se muestra en una nueva posicin y se abandona el modo Mover.

BORRANDO ELEMENTOS DE LOS MENUS 33. Seleccionar el elemento que desea borrar. 34. Hacer click en el icono Borrar ( ) en el PainterBar o seleccione la opcin Borrar del Men Editar. El elemento seleccionado ser borrado.

ASIGNANDO ACELERADORES O ATAJOS Todos los elementos de un men deberan tener una sola tecla aceleradora, la cual permitir al usuario seleccionar una opcin al presionar ALT + tecla . Los aceleradores se muestran con un subrayado en el texto del elemento. ejemplo: ( ) Adicionalmente se puede definir atajos, los cuales son teclas de funcin o combinaciones de teclas que el usuario puede presionar para seleccionar un elemento de un men en cualquier momento. Para asignar un acelerador, seguir los siguientes pasos: o o Digitar un ampersand (&) antes de la letra del texto del elemento del men que quiere designar como acelerador. Los aceleradores se ven como letras subrayadas en un men durante la ejecucin.

Para asignar atajo,seguir los siguientes pasos 1. Seleccionar el elemento del men al que se le quiere asignar un atajo. 2. Selecionar la tecla de la lista de operaciones en el grupo de atajo(Shortcut). 3. Si desea seleccione ALT, CTRL y/o SHIFT para crear una combinacin de teclas.

PowerBuilder muestra el atajo en el campo al lado del texto del elemento del men. Los atajos se muestran a la derecha del texto de los elementos durante su ejecucin CREANDO LINEAS SEPARADORAS EN LOS MENUES Para separar grupos de elementos con lneas en un men, seguir los siguientes pasos: - Tipear un guin en lugar de un texto en el campo donde debera ir el nombre de un elemento.

DEFINIENDO MICROHELP Y BARRA DE HERRAMIENTAS Estas dos propiedades de los elementos de un men son usadas en aplicativos MDI(Multiple document Interface). Para definir el Texto de MicroHelp, digitar el mensaje en el rea sealada.

GRABANDO UN MENU Se puede guardar el men en el que se est trabajando en cualquier momento. Si se desea grabar un men, seguir los siguientes pasos: 37. Seleccionar Save del men File o el icono en forma de diskette( ) que aparece en la barra de herramientas. Si el men fue guardado previamente, Power Builder graba la nueva versin en una misma librera y regresa al men painter. Si el men no fue guardado previamente PowerBuilder muestra la ventana de guardar Men. 38. Dar un nombre al men en el campo de menes. 39. Escribir algn comentario para describir el men. 40. Especificar la librera en la que se va a guardar el men. 41. Hacer click en Ok, para guardar el men. VISTA PREVIA DEL MENU

El usuario que est creando un men, puede de hacer vistas previas mientas lo est diseado. Para ello seleccionar el icono ( la barra de herramientas o seleccionar Preview del men Design. ) de

A continuacin, el men se mostrar en una ventana como se muestra en la figura superior.

ESCRIBIENDO SCRIPT PARA LOS ELEMENTOS Al seleccionar un elemento del men, debe ocurrir una accin (ejem: abrir una ventana, realizar un proceso, entre otros), estas acciones se especifican

escribiendo cdigo en el script. Para escribir Scripts para un elemento, seguir los siguientes pasos: 42. Seleccionar el elemento. 43. Hacer click en el icono Script ( Painter se abrir.

) en el PainterBar. El PowerScript

EVENTOS DEL MENU Para ver los eventos del men, hacer click en el botn que contiene una hoja en blanco (script), que nos permite acceder a los dos nicos eventos que posee un men.

Evento clicked

Descripcin

Es el ms importante. Aqu se escribe el cdigo que se debe ejecutar cuando el usuario escoge una opcin. Como por ejemplo abrir una ventana. selected Evento no es utilizado con frecuencia. Se ejecuta cuando una opcin es sealada con el ratn sin que llegue a ejecutarse.

UTILIZANDO UN MENU

Se puede utilizar los menes de dos maneras: o o Colocando en el men de barras de una ventana Mostrando el men como un men popup

AGREGANDO UN MENU A UNA VENTANA Para mostrar un men de barra cuando se abre una ventana, se le asocia un men a la ventana en el window painter. Para asociar un men con una ventana, seguir los siguientes pasos : 46. Abrir el pintor window (entorno ventana) y seleccionar la ventana con la que se quiere asociar al men. 47. Hacer doble click en el fondo de la ventana o seleccionar window Styledel men diseo, para entrar a las propiedades de la misma. 48. Seleccionar la opcin men haciendo click en el botn Browse y elegir un men de la lista, la cual muestra todos los menes disponibles en la aplicacin. (Para el ejem: el menu es m_pricipal).

CREAN DO DATA WINDO WS

Un datawindow es un objeto visual de acceso a los datos. Bsicamente, este pintor genera una representacin visual de una sentencia Sql del tipo select.

EL OBJETO DATAWINDOWS El Objeto DataWindow es un objeto que se usa para recuperar, presentar y manipular datos de una base de datos relacional u otra fuente de datos (como archivos DBF). Puede, adems, escoger distintos estilos de presentacin (freefrom, Graph,). Los objetos DataWindow tienen conocimiento de los datos que son recuperados. Puede especificar formato de display y otros atributos, de forma tal que los datos son mostrados de manera ms significativa.

Para tener un datawindow en una ventana se debe tener dos elementos: o o o Datawindows Objeto ( ver fig. anterior ) Datawindows Control ( Un datawindow control debe asociarse a un datawindow objeto para poder visualizar su contenido en una ventana). Cdigo de conexin de base de datos en el script de la aplicacin y de actualizacin en la ventana en la que se mostrar el datawindow.

CREANDO UN OBJETO DATAWINDOW Para crear un objeto datawindow, seguir los siguientes pasos: o o o o Hacer un click en el pintor DataWindow ( ). A continuacin, el window Select Datawindow se displayar. Hacer click en el botn New. La ventana New DataWindow se displayar.

o o o o o

Escoger el estilo de presentacin: Freeform, tabular, grid, entre otros. (Para el ejemplo se escoger el tipo GRID) [Opcional ] escoger opciones para el Objeto DataWindow. Escoger un Data Source para el Objeto DataWindow. (Para el ejemplo se escoger la fuente de datos Quick Select) Hacer click en el botn Ok. Seleccionar la(s) tabla(s) y campos de la(s) misma(s) que se presentarn en el datawindow.

Si se desea se puede hacer un previo inmediatamente despus que el Objeto Data Window ha sido definido. Para ello hacer click en el botn () de la barra de herramientas del pintor datawindows. [Opcional ] se puede mejorar la apariencia del ttulo y otros.

Guardar el Objeto DataWindow ( hacer click en el botn de la barra de herramientas ). A continuacin aparecer la siguiente ventana:

Es conveniente que el datawindow objeto tenga el mismo nombre que el datawindow control. Escribir el nombre con el que se va a guardar el objeto datawindow, seguido de la convencin dw_, seleccionar la librera en la que se va a grabar y hacer click en el botn ok.

MODIFICANDO UN DATAWINDOW EXISTENTE

o o o o

Hacer click al Pintor DataWIndow (datawindow painter). Seleccionar el objeto datawindow de la actual librera. Hacer click en OK. En la ventana que aparecer a continuacin modificar el datawindow seleccionado.

ESCOGIENDO EL ESTILO DE PRESENTACION El estilo de presentacin que se selecciona para un objeto datawindow determina el formato que PowerBuilder usa para el primer display del Objeto DataWindow en el DataWindow painter Workspace. Se pueden escoger los siguientes estilos de presentacin en un nuevo Objeto DataWindow : o o o o o o o o Tabular Freeform Grid Label N-up Group Graph Crosstab

ESTILO TABULAR Este estilo de presentacin presenta los datos a travs de columnas, encabezados(header) y pginas, generalmente muestran muchas filas de las B.D., al mismo tiempo como pueda el Objeto Datawindow. Puede modificar la organizacin default, moviendo las columnas y textos. Este estilo es frecuentemente usado cuando se quiere agrupar los datos.

ESTILO FREEFORM Este estilo de presentacin presenta los datos como columnas de datos, de arriba hacia abajo de la pgina, con su respectiva etiqueta para cada columna. Puede organizar la definicin default moviendo las columnas y textos. Este estilo es frecuentemente usado para entrada de datos(mantenimiento).

ESTILO GRID Este estilo de presentacin, presenta los datos en formato fila-columna con

lineas grid que separan filas y columnas. No puede mover las columnas y encabezados como en los estilos anteriores.

ESTILO LABEL Este estilo presenta los datos como etiquetas. Escoja este estilo para crear etiquetas de correo u otro tipo de etiquetas.

ESTILO N-UP Este estilo presenta 2 ms filas en la misma lnea del Objeto DataWindow, una seguida de otra. Es similar al estilo label.

ESTILO GROUP Este estilo es una forma corta para crear grupos en un Objeto DataWindow, generando un estilo tabular que est agrupado por ciertas popiedades que son definidas por el que programa.

ESTILO GRAPH Y CROSSTAB Los anteriores estilos son basados en texto. PowerBuilder provee dos estilos que permiten mostrar informacin grficamente : graphs y crosstab.

DEFINIENDO LA FUENTE DE DATOS Al definir la fuente de datos (dataSource), se especifica cul es la fuente de datos que ser usada en el Objeto Datawindow. Se puede escoger de las siguientes fuentes de datos:

o o o o

Quick Select SQL Select Query External Stored Procedure

Si los datos que el Objeto DataWindow muestra, proviene de una base de datos, escoger Quick Select, SQLSelect, Query , o Stored Procedure como la Data Source. Si los datos a recuperar son de una sola tabla y slo necesita escoger columnas, criterio de seleccin y Sort (No necesita agrupar, campos calculados, etc.), escoger Quick Select SQLSelect. Si la data ha sido definida y salvada en un query, escoger Query. Si la data es definida en un Stored Procedure (procedimieno almacenado), escoger Stored Procedure. Si los datos no provienen de una B.D. , escoger Select externa. Esto incluye las siguientes situaciones: Si los datos sern importados de un archivo externo, tal como un archivo de texto separado por un tab o archivo Xbase(DBF). Si los datos sern importados de una aplicacin DDE.

QUICK SELECT Si slo necesita seleccionar columnas de una sola tabla, use Quick Select data source, el Quick Select genera una sentencia SQL.

SQL SELECT Cuando el SQL Select como Data Source, se construye la sentencia SQL select (grafico o texto) que puede incluir lo siguiente: Ms de una tabla o o o o Criterio de seleccin (clausula Where) Criterio de Sort(clausula Order By) Criterio de agrupamiento (clausula group By y Having) Columnas Computadas

CREANDO UN CONTROL DATAWINDOWS

Un control datawindow, como todo control, va pegado en una ventana. Para crear un control datawindow y asociarlo con un objeto datawindow, seguir los siguientes pasos: o o o Crear una nueva ventana (window). Seleccionar de la barra de herramientas el control datawindow (ver lista que aparece al lado izquierdo). Pegar el control en la ventana, dndole el tamao que se estime va a tener el datawindow que se desea mostrar.

Asociar el control datawindow al objeto datawindow anteriormente creado. Para ello, dar doble click sobre el control datawindow y aparecer la ventana de propiedades en la que se colocar en el rea DataWindow Object Name, el nombre del datawindow objeto. Es conveniente que el nombre del datawindow control sea el mismo que el del datawindow objeto. En el script de la ventana, en la que se encuetra el control datawindow en el evento open, escribir el siguiente cdigo:

dw_coleccion. settransobject(sqlca) dw_coleccion.retrieve( )

Si la aplicacin no tiene cdigo para CONEXION a base de datos, escribir el siguiente cdigo en el evento open de la aplicacin.

CONTROLANDO LA ACTUALIZACION Para controlar la actualizacin de un datawindow, seguir los siguientes pasos: o o o o Hacer un click con el botn derecho del mouse en el control datawindow. Aparecer una lista como la que se aprecia en la figura. Seleccionar la opcin: Modify DataWindow.... A continuacin aparecer el entorno datawindow (datawindow workspace). Seleccionar el men Rows, la opcin Update Properties.

A continuacin aparecer una ventana similar a la siguiente, en la que se har un check al checkbox Allow Updates.

Hacer click en OK y el datawindow tendr la propiedad de actualizacin.

COMPONENTES DE UN DATAWINDOWS Un datawindow consta principalmente de las siguientes reas:

En otro tipo de datawindow, tambin existen reas como: Group Header : Muestra informacin acerca de los grupos de la cabecera. Group Trailer : Muestra los totales por cada grupo creado. Barra de color : Se puede cambiar el color del background, texto, etc., desde el popup del men.

EVENTOS DE UN DATAWINDO WS Los eventos ms importantes del objeto datawindow son: Evento Clicked Se ejecuta cuando ... .

El usuario ejecuta un click con el ratn. Constructor Este evento est presente en casi todos los objetos de PB. Se ejecuta cuando el sistema acaba de crear el objeto. DbError Ha ocurrido un error de base de datos. Util para capturar errores de la base de datos y tratarlos segn nuestro criterio. Destructor El sistema destruye los objetos, normalmente al cerrar una ventana. EditChanged Cada vez que el usuario pulsa una tecla y modifica un carcter del contenido de un campo. Error Se produce un error de validacin en un campo. ItemChanged El usuario ha modificado un campo e intenta cambiar de campo con la tecla tab o el mouse. Util para validar los datos, ya que nos da la oportunidad de rechazar lo que el usuario ha introducido. ItemError El usuario ha producido un itemchanged pero los datos que contiene el campo no pasan las reglas de validacin introducidas en el datawindow object. ItemFocusChanged El usuario cambia de campo. RetrieveEnd Ha finalizado una instruccin retrieve (consulta a la base de datos).

RetrieveRow Mientras se est ejecutando una instruccin retrieve y recuperamos cada una de las filas. RetrieveStart

Antes de que se lance la instruccin SQL Select contra la base de datos. RowFocusChanged El foco cambia de fila. Cuidado con esta instruccin porque se ejecuta por s sola cuando hacemos un insert, un delete o un retrieve. SqlPreview Cada vez que ejecutamos funciones de PB que afectan a la base de datos. Retrieve, Update, etc. Muy til para depurar el sql que se est generando. UpdateEnd Ha finalizado la actualizacin de la base de datos. UpdateStart Antes de que empiece la actualizacin de la base de datos. Para finalizar DataWindows, algo importante: Normalmente, primero pegas un datawindow control en la ventana, y despus le asignas un datawindow object que debes haber creado antes. Pero tambin se puede hacer sto dinmicamente a travs de un script. El atributo DataObject (de tipo string) es el que asigna el data object a la datawindow. Piensa por un momento en las posibilidades que sto ofrece.

EL LENGUAJ E POWERSC RIPT

PowerBuilder tiene un ambiente de trabajo llamado PowerScript, el cual sirve para escribir el cdigo de la aplicacin. Estos comandos corresponden al lenguaje de programacin llamado PowerScript. El lenguaje PowerScript es muy extenso y se suele recordar todas las instrucciones necesarias para poder realizar programas ms o menos complejos. El archivo de ayuda no est organizado para iniciar un aprendizaje, aunque ms adelante su uso ser de mucha utilidad. Este captulo servir para saber qu funcin se ha de utilizar, y qu nombre tiene en el archivo de ayuda. QUE ES EL SCRIPT? El script es un conjunto de uno o ms comandos del lenguaje PowerScript que se ejecutan en respuesta a la ejecucin del evento que lo invoc, es decir, siempre est asociado a un determinado evento. En los scripts se hace referencia a ventanas, controles, objetos, menes, variables y a sus atributos, los cuales pueden ser modificados. Ejem:

FACILIDADES DEL PINTOR POWERSCRIPT o Posee herramientas de edicin por medio de comandos y menes que permiten copiar, cortar, pegar, borrar, seleccionar y eliminar comentarios.

Posee listbox que contienen las variables, objetos y comandos, los cuales, al ser seleccionados, son pegados en la posicin en la que se encuentra el cursor.

PRONOMBRES USADOS POR EL POWER SCRIPT Los Pronombres usados en el PowerScript son: This Super Parent ParentWindow TIPOS DE DATOS PowerScript provee 3 tipos de datos : ESTANDAR : Similares a muchos lenguajes de programacin, el PowerScript utiliza estos tipos de datos cuando declara variables o array, as tenemos los siguientes ejemplos: Tipo Descripcin referencia al objeto actual. referencia al objeto del que hereda el actual. referencia al objeto que contiene el actual. referencia a la ventana que contiene el men (solo vale para menes).

Blob Usado para almacenar imgenes textos grandes.. Boolean True o False. Char Slo carcter. _____________________________________________________________________ ____ Date Fechas. _____________________________________________________________________ ____ Datetime La fecha y la hora en un solo tipo de dato. Decimal Nmero decimal con signo de 18 dgitos. Double Punto flotante. Int Entero con signo de 4 bytes. Long Entero largo de 6 bytes.

OBJETOS DEL SISTEMA En PowerBuilder se manipula objetos como windows, menes, controles. Internamente el PB define estos tipos de objetos como un tipo de dato

Ejemplo : Para definir una variable window: Para definir una variable men: window mi_window Menu mi_menu

Definir una variable commandbutton: Commandbutton mi_comando ENUMERADOS: Puede ser usado de dos formas : Como argumento en funciones y para especificar el atributo de un objeto o control. Cada tipo de dato enumerado puede ser asignado con un conjunto fijo de valores. Estos valores siempre terminan en exclamacin (!). Ejemplo : El tipo de dato Alignament, puede ser asignado a uno de los tres siguientes valores : Center!, left! y right!

TIPOS DE VARIABLES PowerScript reconoce 4 tipos de variables: Variables Globales : Cuando se quiere disponible en cualquier parte de la aplicacin. Variables de instancias(Instance): Cuando necesite tener variables que son accesadas por ms de un script dentro de un objeto, pero no necesita ser global para toda la aplicacin Variables compartidas(Shared): Las variables compartidas son asociadas con la definicin del objeto, es decir, todas las instancias de ese objeto tienen a esta variable comn. Variables locales: Cuando se necesite una variable temporal, stas son definidas en el script y slo pueden usarse en dicho script.

OPERADORES PowerBuilder soporta los siguientes tipos de operadores:

FUNCIONES MAS UTILIZADAS

FUNCIONES PARA VENTANAS: Abrir una ventana. open Abrir una ventana dentro de otra ventana del tipo mdi. opensheet Abrir una ventana envindole un parmetro. openWithParm openSheetWithParm close Abrir una ventana dentro de otra del tipo mdi envindole parmetro. Cerrar una ventana. Close(parentWindow) y close (parent) son vlidas.

BUFFERS DEL DATAWINDOWS Primary! Es el buffer por defecto. El que el usuario modifica con el teclado. Original! Es el buffer que guarda los datos tal y como se recuperaron de la base de datos. Deleted! Guarda las filas borradas.

Filtered! Cuando aplicamos un filtro a la datawindow, aqu se almacenan las filas que no se ven, y que han desaparecido del buffer Primary! Ejemplo del uso de buffers: Cuando un usuario borra una fila, sta no desaparece de la memoria, sino que simplemente se mueve del buffer Primary al Deleted. As que si queremos, podemos recuperarla sin acceder a la base de datos. FUNCION ES DEL DATAWIN DOW

AcceptText Provoca la validacin del campo actual si el usuario no puls tab. DBCancel Provoca la cancelacin de un retrieve( ) en curso. DeletedCount Devuelve el nmero de filas que el usuario ha borrado. DeleteRow Borra una fila. Describe Devuelve informacin muy detallada sobre la estructura de la DataWindow. Filter Ejecuta el filtro actual (vase setFilter). GetChild Devuelve un apuntador a una DataWindow contenida dentro de otra. GetColumn Devuelve el nmero de columna actual.

GetColumnName Devuelve el nombre de la columna actual. GetItemxxx xxx representa un tipo de dato. Devuelve el valor contenido en una columna. GetItemStatus Devuelve el status de una fila o columna. GetRow

Devuelve el nmero de fila actual. GetSQLSelect Devuelve la select de la datawindow. F U N C I O N E S GetText Devuelve un string que contiene el valor de una columna que est siendo editada antes de que el usuario la confirme cambiando de campo. GetValue Devuelve un string conteniendo el valor de una columna. InserRow Inserta una fila en blanco. Modify Modifica la estructura interna de una datawindow. D E Print Imprime una datawindow. Retrieve Ejecuta una select contra la base de datos y muestra los datos en la datawindow. D A T A W I N D O W S RowCount Cuenta las filas en una datawindow. SaveAs Salva el contenido de una dw en un fichero. Soporta diversos formatos incluyendo excel, texto, rtf y html. ScrollToRow Scrollea la datawindow hasta una fila y la hace visible (no confundir con setRow()). SetColumn Cambia el foco a una columna en concreto. SetFilter Modifica las condiciones de filtro de una DW. SetFocus Coloca el foco en una datawindow.

SetItem Modifica el valor de una columna. SetItemStatus Modifica el status de una fila o columna. SetRow Hace que la fila especificada sea la actual. SetSort

Modifica las condiciones de ordenador. SetTransObject Enlaza una datawindow con el objeto transaccin. Para que una datawindow funcione es imprescindible ejecutar la siguiente instruccin: NombreDw.SetTransObject(SQLCA) ShareData Hace que una datawindow comparta datos con otra (se puede conseguir un efecto de espejo). Sort Ordena una Dw con las condiciones especificadas con SetSort(). Update Graba las modificaciones en la base de datos. Ejemplos:

Hay muchas ms funciones pero stas son las que permiten crear un programa ms o menos completo que modifique una base de datos.