Está en la página 1de 26

ENTRENAMIENTO EN POWER BUILDER

PowerBuilder es una herramienta computacional que permite la elaboracin de aplicaciones cliente/servidor utilizando principalmente elementos grficos. Las aplicaciones desarrolladas con PowerBuilder se almacenan en una librera (PowerBuilder Library, archivos caracterizados con el tipo *.PBL ). Una vez desarrollada una aplicacin PowerBuilder, se crea un archivo tipo *.EXE para que los usuarios ejecuten la aplicacin desde Windows cuando lo deseen.

Componentes de una aplicacin PowerBuilder:


Objetos. Un objeto es una forma de comunicacin con el usuario, por ejemplo una ventana o un men. Nombres de objetos PowerBuilder: Application object Window DataWindow Menu Global functions Queries Structures User objects Libreries Projetcs

Eventos. Un evento puede ocurrir cuando un usuario ejecuta una accin con el ratn, el teclado, por una orden del lenguaje PowerScript de PowerBuilder o por el mismo sistema. Algunos de los eventos ms comunes son: Clic (clicked)

Entrenamiento en PowerBuilder 6.5 Ing. Ismael Castaeda Fuentes

Pgina 1

Doble clic (DoubleClicked) Modificacin (Modified) Abrir (Open) Cerrar (Close) Tomar el foco (GetFocus) Perder el foco (LoseFocus) Cambiar la seleccin (SelectionChanged)

Scripts. Un script es un conjunto de rdenes escritas en lenguaje PowerScript que se deben ejecutar al ocurrir un evento.

Componentes de una ventana:


Controles. Un control es un objeto colocado en una ventana. Los controles son:
CheckBox CommandButton DataWindow DropDownListBox DropDownPictureListBox EditMask Graph GroupBox HscrollBar Line ListBox ListView MultiLineEdit OLEcontrol OLECustomControl Oval Picture PictureButton PictureListBox RadioButton Rectangle RichTextEdit RoundRectangle SingleLineEdit StaticText Tab TreeView UserObject VscrollBar

Focus. Identifica el lugar de la pantalla donde va a suceder la siguiente accin. Para establecer el foco en un sitio deseado, el usuario puede: Mover con el ratn el apuntador a un control y hacer clic. Presionar la tecla del tabulador hasta el control deseado.

Un control puede perder el foco cuando el usuario:

Entrenamiento en PowerBuilder 6.5 Ing. Ismael Castaeda Fuentes

Pgina 2

Hace clic en otro control. Hace clic en otra ventana donde no hay controles. Presiona la tecla del tabulador y pasa a otro control.

Atributos. Los objetos y controles tienen atributos que definen su: Apariencia. Comportamiento.

Lenguaje PowerScript
Es un lenguaje de alto nivel basado en objetos con el cual se pueden construir scripts. PowerScript tiene: Comandos, por ejemplo IF ... THEN . Funciones predefinidas para manipular objetos, nmeros, textos, para procesar fechas y datos de tiempo, imprimir reportes, ejecutar DDE (Dynamic Data Exchange), manejar archivos; por ejemplo SHOW, MOVE, OPEN, MAX, HIDE. Las funciones regresan un valor (return value) que puede ser utilizado o ignorado. Proposiciones SQL, por ejemplo SELECT, INSERT, UPDATE Variables: Locales en un script. A nivel de una ventana/objeto. Globales.

Convenciones aconsejadas por PowerBuilder para dar nombre a los objetos:


Objeto CheckBox CommandButton DataWindow Control DataWindow Object DropDownListBox DropDownPictureListBox EditMask Prefijo cbx_ cb_ dw_ d_ ddlb_ ddplb_ em_ Ejemplo cbx_caja_para_control cb_boton_para_comando dw_ventana_para_datos_tabulares d_objeto_para_datos_tabulares ddlb_caja_para_escoger_opciones ddplb_lista_de_dibujos em_formato_para_datos

Entrenamiento en PowerBuilder 6.5 Ing. Ismael Castaeda Fuentes

Pgina 3

Objeto Function Graph GroupBox HscrollBar Line ListBox ListView Menu MultiLineEdit OLEcontrol Oval Picture PictureButton PictureListBox Project RadioButton Rectangle RichTextEdit RoundRectangle SingleLineEdit StaticText Tab TreeView Structure UserObject VscrollBar Window

Prefijo f_ gr_ gb_ hsb_ ln_ lb_ lv_ m_ mle_ ole_ oval_ p_ pb_ plb_ p_ rb_ r_ rte_ rr_ sle_ st_ tab_ tv_ s_ u_ vsb_ w_

Ejemplo f_nombre_de_funcion gr_grafico gb_caja_para_agrupar hsb_deslizamiento_horizontal ln_linea lb_caja_para_presentacion lv_despliegue_de_lista m_menu Mle_multiples_lineas ole_a_ms_word Oval_ovalo p_dibujo pb_boton_grafico plb_caja_con_graficos p_proyecto rb_boton_exclusivo r_rectangulo rte_texto_enriquecido rr_rectangulo_bordes_redondeados Sle_linea_para_edicion st_titulos tab_carpetas tv_explorador s_estructura u_objeto_del_usuario vsb_deslizamiento_vertical w_nombre_de_ventana

Cuando se estn creando los objetos, PowerBuilder sugiere un nombre para el objeto utilizando el prefijo de la tabla anterior y un nmero. Ellos aconsejan cambiar este nmero por algo significativo para el usuario que est elaborando el aplicativo.

Entrenamiento en PowerBuilder 6.5 Ing. Ismael Castaeda Fuentes

Pgina 4

EJERCICIO PRCTICO
Elaborar una Aplicacin sencilla, que permita manipular informacin del personal de una Empresa as: a) Listar todos los empleados, b) Buscar los empleados que concuerden con el nombre y/o el primer apellido digitado por el usuario, c) Buscar los empleados de un determinado Departamento. Una vez obtenida la lista, al hacer la seleccin de un empleado ver sus datos detallados. La aplicacin tambin debe estar en capacidad de ejecutar las acciones de impresin, adicin, modificacin y borrado de datos de empleados. Como un servicio adicional de la Aplicacin, se debe proporcionar una Calculadora que est en capacidad de ejecutar las cuatro operaciones aritmticas bsicas: suma, resta, multiplicacin y divisin de dos valores dados por el usuario. Estructura de la aplicacin:

Los pasos indicados a continuacin corresponden a un procedimiento que se puede seguir utilizando PowerBuilder 6.5 y Sistema Operativo Windows 98 (de forma similar en Windows 95 y NT): 1. Entrar a Windows. 2. Escoger un directorio exclusivo para dejar todos los archivos del ejercicio (recomendado).

Entrenamiento en PowerBuilder 6.5 Ing. Ismael Castaeda Fuentes

Pgina 5

3. Copiar en este directorio: Tres (3) archivos tipo *.bmp Tres (3) archivos tipo *.ico

4. Activar PowerBuilder. 5. Crear una aplicacin: 5.1. En barra de herramientas g Application 5.2. Crear una nueva aplicacin: En barra de herramientas g New, o En men g File g New ..., o Ctrl + N 5.3. Llenar los datos de la ventana Select New Application Library, as: Guardar en: Seleccionar el directorio donde se van a dejar los archivos del ejercicio. Nombre de archivo: Escribir el nombre del archivo donde va a quedar la Librera.

5.4. g Guardar 5.5. Llenar los datos de la ventana Save Application, as: Applications: dar el nombre de la aplicacin. Comments: Escribir comentario significativo, relacionado con la aplicacin.

5.6. g OK 5.7. En la ventana Application g No En caso de haber seleccionado S, PowerBuilder automticamente algunos programas prototipo. 5.8. Seleccionar propiedades de la aplicacin: En barra de herramientas: g Properties, o En men: g Entry g Properties..., o En escritorio de aplicacin: Oprimir botn derecho del ratn gProperties... 5.9. Mirar, comprobar y/o modificar caractersticas globales del aplicativo Icono asociado con el aplicativo (escoja un nombre de archivo *.ico) Datos generales Fuentes para los textos construye

Entrenamiento en PowerBuilder 6.5 Ing. Ismael Castaeda Fuentes

Pgina 6

Fuentes para la identificacin de columnas de tablas Fuentes para los encabezamientos Fuentes para los rtulos Tipos de variables Camino o caminos de bsqueda de libreras En barra de herramientas g Close, o En men g File g Close, o Ctrl + W

5.10. Regresar a la ventana inicial:

6. Elaborar una ventana como la siguiente:

6.1. En barra de herramientas g Window. 6.2. En ventana Select Window g New. 6.3. Mirar, comprobar y/o modificar caractersticas de la ventana: En barra de herramientas g Properties, o En men g Edit g Properties..., o Con botn derecho g Properties..., o Doble clic dentro de la ventana 6.4. En la ventana Window dar las caractersticas de la ventana, tales como: Identificacin o ttulo deseado (Title: ICF Pantalla para bsqueda)

Entrenamiento en PowerBuilder 6.5 Ing. Ismael Castaeda Fuentes

Pgina 7

Tipo de ventana (Window Type): popup Elementos activos (Control Menu, Maximize Box, Minimize Box, ...) Ubicacin y tamao dentro de la pantalla

6.5. g OK 6.6. Colocar los objetos deseados dentro de la ventana y darle sus caractersticas. 6.6.1. En barra de herramientas: g Objeto g CommandButton 6.6.2. En la ventana, hacer clic en el sitio donde se desea ubicar el control seleccionado. 6.6.3. Mirar, comprobar y/o modificar las caractersticas del control (hay que tener seleccionado el control deseado): En barra de herramientas g Properties, o En men g Edit g Properties..., o Con botn derecho dentro del control g Properties..., o Doble clic dentro del control 6.6.4. En la ventana CommandButton dar las caractersticas del control, tales como: Nombre del control (cb_salir). Texto deseado dentro del control. Caractersticas de aparicin. Caractersticas de las fuentes. Posicin dentro de la ventana.

6.6.5. g OK 6.6.6. Grabar el trabajo adelantado (Salvar la ventana en la librera): En barra de herramientas g Save, o En men g File g Save, o En men g File g Save as..., o Ctrl + S 6.6.7. En la ventana Save Windows escribir: Nombre de la ventana (por ejemplo, w_icf_basica). Un comentario.

6.6.8. g OK 6.6.9. Para ver cmo va quedando el diseo de la pantalla:


Entrenamiento en PowerBuilder 6.5 Ing. Ismael Castaeda Fuentes

Pgina 8

En barra de herramientas g Preview, o En men g Design g Preview, o Ctrl + Shift + P 7. Elaborar una ventana como la siguiente:

Esta ventana debe heredar las propiedades de la ventana anterior (ICF Pantalla bsica). Por lo tanto se puede seguir un procedimiento similar, con las siguientes particularidades: 7.1. Al crear la nueva ventana: En la ventana Select Window g Inherit... En la ventana Inherit From Window seleccionar la ventana que da las caractersticas a heredar. g OK 7.2. Mirar y/o cambiar las caractersticas de la ventana heredada. 7.3. Aadir los otros controles mostrados en la figura (un CommandButton y un RadioButton). 7.4. Cambiar el texto del CommandButton heredado Salir por Cancelar. 7.5. Los controles deben quedar con las caractersticas de visible y enable 7.6. Grabar el trabajo adelantado (Salvar la ventana en la librera). 7.7. Ver cmo va quedando el diseo y si es necesario hacer las modificaciones que estime convenientes. 8. Elaborar una ventana como la siguiente:

Entrenamiento en PowerBuilder 6.5 Ing. Ismael Castaeda Fuentes

Pgina 9

Esta ventana debe heredar las propiedades de la ventana anterior (ICF Pantalla bsica para bsqueda), con las siguientes particularidades: 8.1. Mirar y/o cambiar las caractersticas de la ventana heredada. Cambiar el texto del RadioButton heredado Otro por Todos Dos SingleLineEdit, uno para Nombre y otro para Primer Apellido. Un DropDownListBox, con la lista de los siguientes Departamentos: Contabilidad Personal Ventas Mercadeo Desarrollo Recursos Administracin Sistemas 8.2. Aadir los otros controles mostrados en la figura:

Dos RadioButton, para Por Nombre y Por Departamento. Un PictureButton para Imprimir.

Entrenamiento en PowerBuilder 6.5 Ing. Ismael Castaeda Fuentes

Pgina 10

Escoger de la lista de archivos *.BMP una figura para el caso que est disponible el servicio de impresin y otra figura para el caso que no est disponible. Un DataWindow, identificado como Datos de los Empleados. All se mostrarn los resultados de consulta a la base de datos (posteriormente se harn las asociaciones necesarias con los DataWindows object que acceden a la base de datos). 8.3. Dar las dems caractersticas deseadas, tanto a la ventana como a los controles. 8.4. Grabar el trabajo adelantado. 8.5. Ver cmo va quedando el diseo y si es necesario, hacer las modificaciones que estime convenientes. 9. Elaborar una ventana como la siguiente:

El objetivo es tener una calculadora en la cual se va a obtener un resultado aritmtico dados dos operandos. 9.1. Crear la ventana y colocar sus caractersticas (ventana tipo popup). 9.2. Colocar los objetos y sus caractersticas, as: Dos SingleLineEdit, para primer y segundo operando.

Entrenamiento en PowerBuilder 6.5 Ing. Ismael Castaeda Fuentes

Pgina 11

Cuatro StaticText, uno para colocar el resultado de la operacin aritmtica y tres para colocar los textos: Primer Operando, Segundo Operando y Resultado. Cuatro CommandButton, uno para cada operacin: suma, resta, multiplicacin y divisin.

9.3. Grabar el trabajo adelantado. 9.4. Ver cmo va quedando el diseo y (si es necesario) hacer las modificaciones que estime convenientes. 10. Colocar el punto de entrada del aplicativo (inicio de ejecucin). Inicialmente direccionar directamente a la Calculadora. 10.1. En barra de herramientas g Application. 10.2. Programar el evento iniciar la aplicacin: En barra de herramientas g Script, o En men g Entry g Script, o Ctrl + Shift + K 10.3. Escribir el programa (script) para abrir la ventana con el cual inicia el aplicativo, en esta primera etapa, la ventana donde est el diseo de la calculadora. Seleccionar el evento abrir (en Select Event g open) Elaborar un programa asociado con el evento abrir, similar al siguiente:
// open icf_1 // Punto inicial del aplicativo. open (w_icf_calculadora) //Nombre de la ventana que se desea activar.

Sugerencia: Cuando se est escribiendo el programa y se necesita el nombre de un objeto o una variable, este nombre se puede traer directamente (no hay necesidad de tipearlo) utilizando las ventanas desplegables: Paste Windows, Paste Global y Paste Instance haciendo la seleccin apropiada. Tambin se pueden utilizar las otras facilidades que se proporcionan a travs de las barras de herramientas y opciones de los mens. 10.4. Compilarlo (paso opcional): En barra de herramientas: g Compile, o En men: g Design g Compile, o Ctrl + Shift + L
Entrenamiento en PowerBuilder 6.5 Ing. Ismael Castaeda Fuentes

Pgina 12

10.5. Volver a la ventana principal de PowerBuilder: En barra de herramientas: g Return En barra de herramientas: g Close Si no hizo el paso de compilacin, confirmar (compilar y grabar) o descartar los cambios realizados, en la ventana de dilogo Application: g S, o g No, o g Cancelar. 11. Probar que la aplicacin se puede ejecutar: En barra de herramientas: g Run 12. Escribir las dems acciones que se desean tener al utilizar la calculadora. Se sugiere que la calculadora efecte por lo menos las operaciones aritmticas bsicas (suma, resta, multiplicacin y divisin) y permita algunas facilidades de manejo de memoria. 12.1. Seleccionar la ventana de la calculadora. 12.2. Elaborar un programa, asociado con el evento modificar, del control que recibe el primer operando, similar al siguiente:
// modified sle_operando1 If not IsNumber(This.text) Then MessageBox ("Error", "Se debe dar un nmero", StopSign!, OK!) This.text = "" This.SetFocus() End if

12.3. Para el control que recibe el segundo operando, escribir un programa similar al que recibe el primer operando. 12.4. Elaborar un programa, asociado con el evento clic, del botn que va a ejecutar la operacin de suma, similar al siguiente:
// clic cb_suma Double oper1, oper2, oper3 oper1 = Double(sle_operando1.text) oper2 = Double(sle_operando2.text) oper3 = oper1 + oper2 st_resultado_n.text = String(oper3)

12.5. Elaborar programas similares multiplicacin y divisin.

para

las

operaciones

de

resta,

12.6. Dejar el resultado en blanco, cuando se pase el cursor al campo que recibe el primer o segundo operando (programar el evento getfocus: st_resultado_n.text = ).
Entrenamiento en PowerBuilder 6.5 Ing. Ismael Castaeda Fuentes

Pgina 13

12.7. Probar la aplicacin. 13. Seleccionar el botn Salir de la ventana bsica y asociarle un programa que cierre la ventana (programar el evento clic), con un programa como el siguiente:
// clic cb_salir If MessageBox("Salir", "Cerrar esta ventana?", Question!, YesNo! ) = 1 then Close( Parent ) End If

14. Correr la ventana para probar su funcionamiento: En barra de herramientas g Run Windows Seleccionar la ventana bsica. g Start 15. Seleccionar la ventana donde se pueden hacer bsquedas. 15.1. Seleccionar el control Todos (RadioButton) y elaborar un programa para que cuando este control sea el seleccionado, desactive los controles que piden datos. Puede ser un programa como el siguiente:
// Ventana: w_icf_pordepto_nom, Objeto: rb_todos, Heredado de: w_icf_buscar:rb_otro // Evento: Clic ddlb_departamento.visible = false sle_primerapellido.visible = false sle_segundoapellido.visible = false st_primerap.visible = false st_segundoap.visible = false st_depto.visible = false dw_datosempleados.visible = false

15.2. Correr la ventana para probar su funcionamiento. 15.3. Seleccionar el control Por Nombre (RadioButton). Escribir un programa para que active los campos que piden los datos de nombre. Puede ser un programa como el siguiente:
// Ventana: w_icf_pordepto_nom, Objeto: rb_nombre, Evento: Clic ddlb_departamento.visible = false sle_primerapellido.visible = true sle_segundoapellido.visible = true st_primerap.visible = true st_segundoap.visible = true st_depto.visible = false

Entrenamiento en PowerBuilder 6.5 Ing. Ismael Castaeda Fuentes

Pgina 14

dw_datosempleados.visible = false

15.4. Correr la ventana para probar su funcionamiento. 15.5. Seleccionar el control Por Departamento (RadioButton). Escribir un programa para que active el control que pide el dato de Departamento. Puede ser un script como el siguiente:
// Ventana: w_icf_pordepto_nom, Objeto: rb_nombre, Evento: Clic ddlb_departamento.visible = true sle_primerapellido.visible = false sle_segundoapellido.visible = false st_primerap.visible = false st_segundoap.visible = false st_depto.visible = true dw_datosempleados.visible = false

15.6. Correr la ventana para probar su funcionamiento. 16. Crear una funcin que sirva para ejecutar las cuatro operaciones bsicas aritmticas: sumar, restar, multiplicar y dividir. 16.1. En barra de herramientas g Function. 16.2. g NEW. 16.3. Llenar los datos solicitados: 16.3.1. Nombre de la funcin. 16.3.2. Valor a retornar (string). 16.3.3. Dar los argumentos: primer operando (tipo string, paso por valor), segundo operando (tipo string, paso por valor) y operador (tipo integer, paso por valor) 16.4. g OK 17. Escribir las instrucciones que van a conformar la funcin. Puede ser un programa como el siguiente:
// Nombre de la funcion: f_operaciones // Objetivo: Hacer un clculo aritmtico // Parmetro 1: Primer operando // Parmetro 2: Segundo operando // Parmetro 3: Operacin a realizar as: // 1 Sumar // 2 Restar // 3 Multiplicar // 4 Dividir Double oper1, oper2, oper3

Entrenamiento en PowerBuilder 6.5 Ing. Ismael Castaeda Fuentes

Pgina 15

IF arg_operando1 = "" OR arg_operando2 = "" THEN messagebox ("Error","Los operandos deben ser aritmticos",StopSign!, OK!) return "" END IF oper1 = Double(arg_operando1) oper2 = Double(arg_operando2) Choose Case arg_operador Case 1 oper3 = oper1 + oper2 Case 2 oper3 = oper1 - oper2 Case 3 oper3 = oper1 * oper2 Case 4 If oper2 = 0 Then Return "Divisin por cero" Else oper3 = oper1 / oper2 End If Case else Return "Operacin no vlida" End Choose Return String (oper3)

18. Cambiar los programas asociados con los botones de operaciones de la ventana de la calculadora para que utilicen la funcin anterior. 18.1. Para el botn de Resta (-) puede ser un programa como el siguiente (para el evento clic):
// clic para cb_resta st_resultado_n.text = f_operaciones ( sle_operando1.text, sle_operando2.text, 2 )

18.2. Proceder de manera similar para la suma, multiplicacin y divisin. 18.3. Probar su funcionamiento. 18.4. Comprobar el funcionamiento de la Calculadora para valores con punto decimal. En caso que no funcione, hacer las modificaciones necesarias. 19. Crear una base de datos que implemente lo mostrado en la siguiente figura:

Entrenamiento en PowerBuilder 6.5 Ing. Ismael Castaeda Fuentes

Pgina 16

19.1. Crear localmente una nueva base de datos. Dejar el archivo fsico en el directorio donde se estn dejando todos los archivos de este ejercicio: En barra de herramientas: g Database En ventana Select Tables: g Cancel En men: g File g Create Database... En ventana Create Local Database: indicar los datos all pedidos: Database Name: Camino y nombre del archivo en Windows donde se va a guardar el archivo fsico. Se sugiere: g Browse, Llegar al directorio deseado, y Dar el nombre al archivo. User ID: Identificacin del usuario. Valor por omisin: DBA Password: Clave. Valor por omisin: SQL.
Entrenamiento en PowerBuilder 6.5 Ing. Ismael Castaeda Fuentes

Pgina 17

Start Command: Nombre del comando para arrancar esta base de datos. Se recomienda dejar el nombre sugerido (dbeng50, para arrancar Sybase Anywhere 5.0). g OK 20. Es bueno observar lo siguiente: En barra de herramientas: g Configure ODBC En ventana Configure ODBC Installed Driver: g Sybase SQL Anywhere x.x, Mirar que en Data Sources for Selected Drivers, aparece el nombre de la base de datos que se est creando, y para confirmar los datos: gEdit... g Close En la barra de herramientas: g DB Profile En ventana Database Profiles, mirar que aparece la base de datos recin creada. Si desea ver las caractersticas: g Edit... g Close En men: g File g Connect, ver que en la lista aparece la base de datos recin creada.

En caso de algn problema, hay que arreglarlo o sino la base de datos queda inalcanzable. En casos extremos: borrar la base de datos recin creada, revisar la Configuracin ODBC, revisar los Profile, y ver las entradas que puedan estar causando conflicto (si es del caso borrarlas g remove). 21. Crear las tablas: g Create Table Definir las columnas y sus caractersticas: nombre, tipo de datos, aceptacin o no de nulos, valor por omisin. Colocar letreros significativos para encabezamientos de columnas, rtulos identificadores de campos y comentarios a nivel de tabla y columna. 22. Seleccionada una tabla: Definir llave primaria Crear ndices: g Create Index Crear llaves forneas: g Create foreign key Llenarla de datos: g Data Manipulation (grid, tabular o freeform) g Insert Row
Entrenamiento en PowerBuilder 6.5 Ing. Ismael Castaeda Fuentes

Pgina 18

Digitar los datos g Save Changes 23. Preparar el sitio donde se van a mostrar los datos de los empleados. Para ese fin, definir los DataWindows Object necesarios. Como primer paso definir un DataWindows que presente en forma tabular los siguientes datos: Nombre y Apellido del empleado y nombre del Departamento donde trabaja. La salida se debe presentar en orden alfabtico por Apellido del empleado. Se puede seguir un procedimiento similar al siguiente: 23.1. En barra de herramientas: g DataWindow 23.2. En ventana Select DataWindow: g New 23.3. En ventana New DataWindow: 23.3.1. En Fuente de datos: g SQL Select 23.3.2. En estilo de presentacin: g Tabular 23.3.3. g OK 23.4. En ventana Select Tables, seleccionar las tablas Empleado y Departamentos 23.5. g Open 23.6. En tabla Empleado: g Cdigo del empleado, g Nombre del empleado, g Apellido del empleado 23.7. En tabla Departamento: g Nombre del departamento 23.8. En carpeta Sort: Apellido del empleado (hacer drag and drop) 23.9. Pasar a diseo de la salida: En barra de herramientas: g Data Source (icono que dice SQL) 23.10. Colocar encabezados apropiados. Tener en cuenta de que a pesar de haber seleccionado el cdigo del empleado, no se desea en la salida!! 23.11. Ver resultado del diseo. 23.12. Hacer modificaciones al diseo. 23.13. Probar inserciones, borrados y modificaciones a la base de datos. 23.14. Grabar el trabajo adelantado: En barra de herramientas: g Save 23.15. En ventana Save DataWindow: 23.16. Colocar el nombre de la ventana (d_...) 23.17. Escribir un comentario significativo 23.18. g OK 23.19. Ver resultado del diseo.

Entrenamiento en PowerBuilder 6.5 Ing. Ismael Castaeda Fuentes

Pgina 19

23.20. Hacer modificaciones al diseo. 24. De manera similar elaborar un DataWindows donde se muestre el listado de personas, dado el cdigo del Departamento donde trabajan. 24.1. Seguir un procedimiento similar a la creacin del anterior DataWindows. Adicionalmente, en la ventana donde se seleccionan campos de las tablas (donde tambin aparecen las carpetas Sort, Where, Group, Having, Compute y Syntax), dar la informacin del argumento: 24.1.1. En men: g Design g Retrieval Arguments... 24.1.2. En ventana Specify Retrieval Arguments: escribir el nombre del argumento (por ejemplo departamento) y seleccionar el tipo de dato (por ejemplo Number) 24.1.3. g OK 24.2. En carpeta Where, especificar la condicin deseada, por ejemplo:
Column "empleado"."emp_depto_id" Operator = Value :departamento Logical

25. Elaborar un tercer DataWindows que muestre los empleados que tengan el Nombre y/o el Apellido digitado por el usuario. 25.1. Seguir un procedimiento similar a la elaboracin del DataWindows anterior. En este caso es necesario especificar dos argumentos (por ejemplo: nombre de tipo String y apellido de tipo String). 25.2. g OK 25.3. En carpeta Where: especificar la condicin deseada, por ejemplo:
Column "empleado"."empl_nombre" "empleado"."empl_apellido" Operator = = :nombre :apellido Value Or Logical

26. Elaborar un DataWindows que muestre toda la informacin contenida en la base de datos relacionada con un empleado. En este caso el argumento de bsqueda puede ser el cdigo del empleado y el estilo de presentacin puede ser Freeform. 27. Cambiar el Punto de Inicio del Aplicativo, para que active la ventana que muestra las opciones de bsqueda de personal y adicionalmente conecte la base de datos que se va a utilizar. Elaborar un programa similar al siguiente (evento abrir la aplicacin):
// open icf_1 // Punto inicial del aplicativo.

Entrenamiento en PowerBuilder 6.5 Ing. Ismael Castaeda Fuentes

Pgina 20

// -----------------------------------------------------------------------------------------------------------------// CONEXIN AL MOTOR DE BASE DE DATOS // Conexin a un motor de Base de Datos SQL Anywhere con ODBC sqlca.DBMS = "ODBC" sqlca.DbParm="ConnectString='DSN=Calculadora2;UID=dba;PWD=sql'" MessageBox ("Motor de Base de Datos conectado:",sqlca.dbparm) connect; // Prueba para ver si qued conectado if sqlca.sqlcode <> 0 then MessageBox ("No se pudo Conectar a la Base de Datos", & "Mensaje enviado por el sistema:~n~r'"+sqlca.sqlerrtext+"'") return end if // -----------------------------------------------------------------------------------------------------------------open (w_ventana_para_busqueda) //Nombre de la ventana que se desea activar.

28. Correr la aplicacin y comprobar que funciona el nuevo punto de entrada. 29. En la ventana donde se presentan las opciones de bsqueda, programar el botn de Buscar para que de acuerdo con la seleccin hecha (Todos, Por Nombre o Por Departamento), muestre el resultado de la bsqueda. 29.1. Seleccionar el evento clic del botn Buscar y elaborar un programa como el siguiente:
// clic para cb_buscar IF rb_otro.checked THEN // Seleccionado todos dw_datosempleados.visible=true dw_datosempleados.dataobject='d_lista_empleados' dw_datosempleados.SetTransObject(SQLCA) dw_datosempleados.retrieve () END IF IF rb_nombre.checked THEN // Seleccionado Por Nombre dw_datosempleados.visible=true dw_datosempleados.dataobject='d_empleados_dado_nombre' dw_datosempleados.SetTransObject(SQLCA) dw_datosempleados.retrieve (sle_nombre.text,sle_primer_apellido.text) END IF IF rb_departamento.checked THEN // Seleccionado Por Departamento dw_datosempleados.visible=true dw_datosempleados.dataobject='d_empleados_depto' dw_datosempleados.SetTransObject(SQLCA) // Elaborar el cdigo necesario para llegar al dato numrico xxx de la instruccin // dw_datosempleados.retrieve ( xxx) END IF

29.2. Correr la aplicacin y comprobar su correcto funcionamiento.


Entrenamiento en PowerBuilder 6.5 Ing. Ismael Castaeda Fuentes

Pgina 21

30. Programar el evento doble clic para el DataWindows Control de la ventana que permite bsqueda. Por ejemplo:
// doble clic para dw_datosempleados integer l_codigo, l_casos IF dw_datosempleados.dataobject='d_lista_empleados' OR & dw_datosempleados.dataobject='d_empleados_dado_nombre' OR & dw_datosempleados.dataobject='d_empleados_depto' THEN l_codigo=GetItemNumber(row,1) //Supone que en los DataWindows la primera Columna //corresponde al cdigo del trabajador!!!!!!!!!!!! dw_datosempleados.dataobject='d_detalle_empleado' dw_datosempleados.SetTransObject(SQLCA) l_casos=dw_datosempleados.retrieve (l_codigo) IF l_casos > 0 THEN dw_datosempleados.retrieve (l_codigo) ELSE MessageBox ("De la Base de Datos","El empleado no tiene tareas asignadas") w_icf_pordepto_nom.cb_buscar.postevent(Clicked!) END IF END IF

31. Crear una ventana, que sea el nuevo punto de entrada y exhiba en mens las posibilidades que presenta el aplicativo, ver las siguientes cinco figuras:

Entrenamiento en PowerBuilder 6.5 Ing. Ismael Castaeda Fuentes

Pgina 22

32. Para definir los mens, se puede seguir un procedimiento similar al siguiente: 32.1. En Barra de herramientas: g Menu 32.2. En ventana Select Menu: g New 32.3. Crear los mens y submens, junto con sus caractersticas. 32.4. En barra de herramientas: g Save 32.5. En ventana Save Menu: Dar Nombre y Comentarios. 33. Escribir los programas asociados con el evento clic para cada una de las opciones de los mens, por ejemplo: 33.1. Para: g Calculadora
// clic m_calculadora open ( w_icf_calculadora )

33.2. Para: g Terminar


// clic m_terminar

Entrenamiento en PowerBuilder 6.5 Ing. Ismael Castaeda Fuentes

Pgina 23

If MessageBox("Salir","Salir del aplicativo?",Question!,YesNo!)=1 then Close( ParentWindow ) // Cerrar la ventana donde se encuentra el menu End If //No toma accion en caso negativo

33.3. Para: g Buscar g Todos


// Clic m_todos open ( w_icf_pordepto_nom) w_icf_pordepto_nom.rb_otro.setfocus() w_icf_pordepto_nom.cb_buscar.postevent(Clicked!)

33.4. Para: g Buscar g Por Nombre


// Clic m_pornombre open ( w_icf_pordepto_nom) w_icf_pordepto_nom.rb_nombre.setfocus()

33.5. Para: g Buscar g Por Departamento


// Clic m_pordepartamento open ( w_icf_pordepto_nom) w_icf_pordepto_nom.rb_departamento.setfocus()

34. Modificar el punto de Inicio para arranque con la ventana recin diseada. 35. Agregar facilidades de men a la ventana de la calculadora, ver ejemplo presentado en las siguientes tres grficas:

Entrenamiento en PowerBuilder 6.5 Ing. Ismael Castaeda Fuentes

Pgina 24

36. Escribir los programas asociados con el evento clic para cada una de las opciones de los mens, por ejemplo: 36.1. Para: g Archivo g Cerrar Ventana
// clic m_cerrarventana Close( ParentWindow )

36.2. Para: g Archivo g Salir del Aplicativo


// clic m_salirdelaplicativo Close ( w_icf_inicial )

36.3. Para: g Editar g Borrar Todo


// clic m_calculadora.m_editar.m_borrartodo w_icf_calculadora.sle_operando1.text = "" w_icf_calculadora.sle_operando2.text = "" w_icf_calculadora.st_resultado_n.text = ""

36.4. Para: g Editar g Resultado a Memoria


// clic m_icfcalcula.m_editar.m_resultadoaclipboard // Objetivo: Llevar el resultado al clipboard
Entrenamiento en PowerBuilder 6.5 Ing. Ismael Castaeda Fuentes

Pgina 25

clipboard ( w_icf_calculadora.st_resultado_n.text )

36.5. Para: g Editar g Memoria a Operando 1


// clic m_icfcalcula.m_editar.m_memoriaaoperando1 // Copia el contenido del clipboard al Primer Operando w_icf_calculadora.sle_operando1.text = clipboard ( )

36.6. Para: g Ayuda g Temas


// clic m_icfcalcula.m_ayuda.m_temas ShowHelp ( "C:\Archivos de programa\Sybase\PB6\Help\pbhlp60.hlp", index! )

37. Elaborar un ejecutable de la aplicacin. 38. Salir de PowerBuilder. 39. Correr desde Windows el ejecutable que contiene el aplicativo. El ejercicio deben hacerlo de forma individual y presentarlo funcionando perfectamente, desde ejecutable y desde PowerBuilder. En grupo deben presentar un informe, indicando sus comentarios sobre este documento, errores encontrados, sugerencias para mejorarlo y utilidad al realizar el ejercicio.

Entrenamiento en PowerBuilder 6.5 Ing. Ismael Castaeda Fuentes

Pgina 26

También podría gustarte