Sei sulla pagina 1di 16

Power Builder Clase 2

Bienvenidos a la clase 2, en esta oportunidad vamos a crear unas tablas de una base de datos que ya fue instalada con power builder de nombre ADAPTIVE ANYWARE ver 7.0, no entraremos en detalle con ella, pero sin embargo haremos usos de ella durante todo el curso, ya que trabajaremos nuestros ejemplos por poseer data. Abramos el entorno de power builder, vamos a crear un men para poder tener opciones. Presionemos CTRL + N, que es igual a FILE NEW, luego en la solapa de PB OBJECT seleccionar MENU, debera aparecer una ventana similar a esta.

Analicemos alguno de las nuevas opciones que este presenta en la parte de arriba. Tenemos dos maneras de poder crear el men, una es dentro del rbol de men(untittle) hacer clic derecho, encontraremos la opcin INSERT MENU ITEM, o tambin lo podemos lograr en el men superior de entorno de PB en la opcin INSER SUBMENU ITEM. Un men de opciones en un orden jerrquico de opciones, empecemos creado uno con las siguientes opciones:

ARCHIVO GUARDAR IMPRIMIR CONFIGURAR IMPRESORA TERMINAR PROGRAMAS AGENDA PERSONAL Una ves creado el men, debera lucir as, recordar cuando al grabarlo anteponerle la letra m_mimenu, indicando que se trata de un men. En nuestro ejemplo se llama m_prueba.

Note que al hacer clic sobre los item del men, estos aparecen en la ventana de la derecha como una vista previa, ahora empecemos a hacer cambiar o adicionarle propiedades al men. Digitemos un script para la opcin CONFIGURACION DE IMPRESORA

Escribamos :printsetup() esta funcin har que llame a una ventana para seleccionar el impresor y hacerlo como actual o por defecto en la aplicacin.

Note que el script debe ser colocado en el evento CLICKED del men(opcin), esto lo logramos presionando doble clic sobre la opcin del men, est seguro que sea la opcin a la cual desea escribir, esto lo nota ya que los nombres de opcin son trasladados como nombre de la opcin. Ahora codifiquemos el script a la opcin TERMINAR, escribir Halt

Ok, hasta este momento ya tenemos un men, pero este todava no esta asociado a una ventana, esto lo podemos observar si grabamos el men con sus cambios y ejecutamos la aplicacin. Si ya ejecutaron la aplicacin, observaron que el men no hace nada, ni siquiera aparece, la explicacin es que no ha sido asociada a una ventana. Hagamos unos cuantos cambios a la aplicacin: Grabar el men Hacer doble clic a la ventana w_main. Hacer un clic sobre la ventana para que nos de las propiedades de ella En las propiedades CONTROL MENU poner un check y asociarle el nombre del men a desplegar.

Listo, corramos la aplicacin y hagamos uso de las opciones que ya tienen cdigo. Algo similar a esto

Ahora, pongamos otras propiedades a las opciones de men como Hot keys Iconos Tool Tips

Para poner hot keys, ubquese sobre una de las opciones, por ejemplo Agenda Personal, a ella la podremos invocar desde cualquier parte de la aplicacin presionando las teclas ALT + A, ver la parte de la derecha donde estn las propiedades, hacer clic sobre SHORTCUT ALT y luego seleccionar la letra A en la parte de arriba SHORTCUT KEY. Importante, esto se ve bonito para las subopciones, pero se ve feo para las opciones principales del men. Ahora colocaremos un icono a las opciones principales, se pueden colocar iconos ya preestablecidos o poner los nuestros. Repose el puntero sobre la opcin ARCHIVO, haga clic sobre la segunda solapa de las propiedades TOOLS y en TOOLBARITEMNAME seleccione un icono, haga este mismo paso para la opcin PROGRAMA. En TOOLBARITEMTEXT coloque un texto o pequea leyenda que explique al usuario que hace esta opcin, hgalo para ambos.

Para terminar, vaya a opcin PROGRAMA, haga clic sobre la opcin y haga clic a la solapa GENERAL escriba una pequea leyenda en MICROHELP, por ejemplo este es un programa contiene una agenda personal, esto es para que aparezca en la barra como una explicacin adicional del objeto en el cual se esta reposando con el puntero. La aplicacin debera estar as

Grabemos todo, ejecutemos la aplicacin y anotemos las observaciones al respecto. Ok, lo que deberamos haber notado es que las propiedades de icono, tooltips y microhelp no funcionan?????????????????, la explicacin es sencilla, cerremos el men, y abramos la ventana, si obsevamos el tipo de ventana es del tipo MAIN, la cual no soporta estas caracterstica, entonces, cambiemos la ventana a MDIHELP y problema resuelto, grabemos y ejecutemos nuevamente la aplicacin. Adicionalmente, el men de iconos lo podemos colocar en varias partes(derecha, izquierda, arriba, abajo o flotando), por supuesto esto debe de hacerse en la ventana que contendr el men, as que vaya a la ventana y en la solapa de toolbar de las propiedades seleccione TOOLBARALIGMENT y vea los diferentes efectos. Como ltimo ejercicio de men Inserte, elimine, mueva, cambie de nombre a las opciones de men con el objetivo de familiarizarse con estos trucos.

Solo tenga el cuidado de dejar la aplicacin como estaba, ya seguiremos trabajando sobre ella.

CREANDO UNA NUEVA LIBRERA


Ahora crearemos una nueva librera, en una aplicacin es bueno separar las cosas u objetos y colocarlos en diferentes libreras, entonces, para crear una nueva librera, haremos uso del pintor de libreras.

Haga clic sobre el icono de librera o en TOOLS LIBRARY PAINTER, observaras que se coloc un icono en la parte izquierda, icono similar al de la librera con fuego, si te ubicas sobre el tiene un texto que dice CREATE LIBRARY, bueno haz clic sobre el, te aparecer una ventana de dialogo que te indica donde crear la librera, selecciona el directorio donde estas trabajando y donde haz estado almacenando y guardado la aplicacin. Una ves creada la librera te pedir un comentario, ingrsalo o no, no es importante, ahora, observa el system tree, ves que no aparece, la respuesta es que no lo hemos asociado a la aplicacin, entonces hagmoslo, cierra cualquier pintor que tengas abierto y solo deja visible el system tree. En el system tree, ubcate sobre target object, haz clic derecho y luego propiedades, te aparecer la lista de libreras que tiene asociada la aplicacin, nota que es aqu donde puedes asociar otras libreras de otras aplicaciones si las llegaras a necesitar, bueno selecciona BROWSE, para buscar la librera que acabamos de crear y asciala a la lista, APPLY y OK.

Si te fijas, el system tree, ahora tiene dos libreras, donde puedes a empezar a repartir o clasificar tus objetos, por ejemplo como ejercicio, mueve la ventana a la segunda librera, como hacer esto?, ok, sigue los pasos. Haz clic sobre la ventana, luego clic derecho y selecciona MOVER, selecciona la librera a donde quieres mover el objeto, listo, fcil he!

Muy bien, nuestro siguiente reto es modificar la ventana que ya tenemos w_main, esta nos servir para crear una ventana para podernos conectar a la base de datos ANYWARE DE SYBASE, bueno necesitaremos crear dos controles que nos permitan ingresar datos y dos botones, uno para conectarnos y otro para finalizar la aplicacin, eliminar todo control que tenga esta ventana y procedamos a crearla y dejarla como una ventana apropiada para un LOGIN. El nombre de usuario de dbo y la clave es sql ambas en minsculas, recuerde que la clave debe de protegerse o sea que debe de ser de tipo no visible(asteriscos), crear los dos campos con sigle line edit ellos tienen la propiedad password para tal motivo, recuerde tambin de deshabilitar el men a la ventana y cambiarla al tipo MAIN, poner un objeto del tipo PICTURE en la parte derecha de la ventana y lucir algo as:

Recuerda de escribir la palabra HALT en el script del botn TERMINAR, para que la aplicacin finalice y qutale los botnes MINBOX y MAXBOX, para que cierre nicamente con el botn TERMINAR. Nuestro prximo paso es conectarnos a la DB y tener acceso a las tablas que ella tiene, bueno, por momento existe una tabla de nombre EMPlOYEE(empleados) que tiene dos campos emp_fname y emp_lname que corresponden al primer nombre y apellido, nuestro objetivo por el momento es de conectarnos y aplicar un SELECT para poder acceder a los campos antes mencionados y mostrarlos en la ventana a travs de la funcin MESSAGEBOX().

PINTOR DE LA BASE DE DATOS


Haga clic sobre el icono del pintor de la BD o en TOOL de las opciones de men

Lo que vemos es una serie de formas para conectarnos a diferentes BD, segn los drivers que tengamos instalados en la PC, pondremos mayor atencin en el universal ODBC(Open Data Base Connection), expandamos el rbol del ODBC y busquemos EAS Demo DB V4, el cual es el nombre de la fuente de datos, driver que fue instalado cuando se instalo PB. Hacer clic derecho sobre y seleccionar CONNECT, esto es importante, ya que estaremos trayendo registros de la DB y necesitamos esta conexin. Exploremos un poco, veamos las columnas, las llaves, claves etc, notar que desde este punto se pueden agregar, eliminar, consultar registros, incluso crear tablas, ndices, llaves etc. Por ejemplo, veamos el contenido de la tabla employee dentro de un grid, haga los siguientes pasos, ubique la tabla employee, haga clic derecho EDIT DATA GRID, ok trate de no modificar nada, ahora vamos a copiar el PROFILE de esta DB, que es la manera de conectarse a ella va una aplicacin. Contraiga el rbol y ubquese sobre la BD o EAS Demo DB V4, haga clic derecho y seleccione propiedades, luego aparecer una ventana de dialogo que contiene las caractersticas de conexin a la BD, vaya

a la solapa PREVIEW y presione el botn COPY, cierre el pintor de la DB. Muy bien, haga doble clic sobre la ventana, obsrvela en modo LAYOUT, haga doble clic sobre al botn de conectar y pegue el script en el evento clicked

Empezaremos diciendo que PB utiliza SQLCA(Sql Communication Area) para conectarse a la DB como una variable para hacer transacciones o comunicarse con las DB. Observe el connectionstring que indica la base de datos, el usuario y la clave, lo cual nosotros lo vamos a sustituir por los valores que el usuario digite cuando corramos la aplicacin. Sustituyamos las constantes fijas dbo y sql por los posibles valores que sern digitados por el usuario. A este script le aumentaremos el siguiente cdigo connect; if sqlca.sqlcode <> 0 then

messagebox("Error en Conexin a Base de Datos",sqlca.sqlerrtext) halt end if

Aqu tenemos una evaluacin a una variable que nos indica si fue satisfactoria la conexin a la DB, sqlca.sqlcode nos proporciona esa informacin, diferente de cero la conexin est hecha, de lo contrario no existe tal conexin. Note la estructura de la sentencia IF que requiere de un THEN y un END IF. Para que halla conexin se necesita la palabra connect; toda sentencia que conlleve a la BD lleva un punto y coma. Aprovecho para introducir la manera de poner uno o varios comentarios, si observas las // indican que esa lnea es un comentario, existen 3 botones relacionados a comentarios, estos estn arriba del tipo de letra, los tres estn juntos, el primero es para seleccionar todo, el segundo es para poner // y el tercero es para quitar //, son muy tiles cuando quieres documentar muchas lneas.

Muy bien, si ya haz hecho los cambios deberamos aumentar al script los siguientes pasos y lucir as

Primeramente se declararon dos variables del tipo STRING, se aumento una transaccin con SELECT, en PB usted puede rpidamente hacer un SELECT a una tabla de una DB y para poder almacenar la data que este nos trae se hace a travs de variables, la regla es que por cada campo en el SELECT tiene que haber una variable, note los dos puntos antes de la variable y el punto y coma al final de la sentencia SELECT. Luego estas son mostradas a travs de la funcin MESSAGEBOX. Nuestro siguiente paso es crear una tabla de nombre agenda, este tendr 3 campos: No_telefono Nombres Apellidos varchar(8)(PK) varchar(20) varchar(20)

Abramos el pintor de DB y ubiqumonos sobre tablas, hacer clic derecho y seleccionar NEW TABLE, empezar a crear los campos segn

lo descrito anteriormente, note que el campo no_telefono ser la llave principal. Para grabar la nueva tabla, se encuentra habilitada la opcin o icono de grabar, hacer clic al icono y ponerle de nombre agenda, dejar por defecto en owner name dbo.

Luego crear la llave primaria, ubicarse sobre la tabla agenda y expandir hasta ubicarse sobre primary key, hacer clic derecho y crear la llave, ponerle el cheque a la columna no_telefono, grabarlo, listo, debera lucir as

Cerrar el pintor de la DB, estamos listos a crear una ventana para poder crear, modificar y eliminar registros.

Potrebbero piacerti anche