Está en la página 1de 4

Application Painter

Las opciones de menú que se nos ofrecen desde este painter incluyen crear una aplicación nueva,
abrir una ya existente, grabar, introducir código en los scripts, modificar las propiedades y salir.
Si creamos una aplicación nueva se nos preguntará primero si deseamos crear la pbl contenedora
o utilizar una ya creada anteriormente.
Es este painter el que debemos utilizar para crear el objeto aplicación, que es lo primero que
deberíamos crear al empezar un nuevo proyecto. Este objeto contendrá el código que debe
ejecutarse al arrancar y parar la aplicación.
Examinemos la opción de propiedades, Desde aquí podemos modificar los tipos de letra que por
defecto que vamos a utilizar en el resto de componentes de la aplicación, el icono que queremos
ver, etc. El apartado más importante para el que empieza a programar es el de libraries, el cual
contendrá los paths de las pbl que nuestra aplicación va a utilizar. En una aplicación recien
creada solo contendrá una librería, la que hemos utilizado para crear el objeto aplicación, las
demás (si las hubiese) las hemos de introducir manualmente. Esta lista de librerías se conoce
como "Library Path".

El apartado mostrado en el gráfico, no es demasiado relevante para una persona recien iniciada,
pero ya que estamos viendo el application painter con detalle, daremos alguna información al
respecto. Cada una de las entradas corresponde a uno de los objetos del sistema PowerBuilder, y
por defecto, tienen asignado el objeto que PB nos proporciona. Si queremos añadir más métodos
o propiedades al objeto transacción (SQLCA), primero creamos un user object que herede de
SQLCA, añadimos lo que nos interese, y finalmente asignamos el nombre del objeto que
hayamos creado en la entrada SQLCA. Suele ser útil cuando trabajamos con librerias de clases
desarrolladas con PB por nosotros o por terceras personas. Para una aplicación sencilla no
necesitamos tocar nada de esto.
En el application painter no tenemos demasiado que hacer, seleccionamos los tipos de letra por
defecto para los textos de los campos, las descripciones de las cabeceras en los formularios
tabulares, las descripciones de los campos en los formularios monoregistro (free form en la
terminología PowerBuilder), el icono de la aplicación y ya solo nos queda introducir el código en
los eventos del objeto.

Los eventos del objeto Aplicación.

PowerBuilder es un lenguaje orientado a eventos. Esto significa que los objetos con los que
tratamos tienen predefinidas unas "rutinas" vacias que serán llamados por el sistema de forma
automática cada vez que ocurra una acción concreta. Cada evento tiene asociada una acción o
suceso del sistema. Tambien podemos crear nuestros propios eventos que deberemos llamar
nosotros mismos, cuando ocurra la acción que nosotros hayamos decidido.Si elegimos la opción
de menú script, se nos abrirá una ventana parecida a la de la derecha de este texto. El código que
hay escrito es solo un ejemplo, la ventana se abrirá completamente vacía.
Fijemonos en la lista desplegable (tambien llamado 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. Demos un vistazo a los
más importantes:

Evento Ocurre cuando ...

close Se termina la ejecución.

idle La aplicación se ha dejado de utilizar durante demasiado tiempo (parametrizable).

open Al arrancar.

systemErro
Cuando ocurre un error de ejecución y PowerBuilder para la aplicación.
r
Si por ejemplo deseamos realizar alguna acción inmediatamente después de que la aplicación se
ponga en marcha, solo tenemos que escoger el evento open y escribir en el lenguaje PowerScript
las instrucciones que deseemos. En el ejemplo, el script escoge una definicion (DSN) de odbc
llamada contabilidad, y lo asocia al objeto transacción por defecto; realiza la conexión a la base
de datos, y despues abre una ventana llamada wi_main. Obsérvese que las instrucciones de
PowerScript no llevan punto y coma al final, solo connect lo lleva porque es una instrucción
relacionada con sql. En PowerBuilder podemos escribir directamente SQL dentro de un script sin
más preambulo, simplemente hemos de recordar que SQL utiliza punto y coma al final.

La primera aplicación
Vamos a crear una aplicación "Hola Mundo" con PowerBuilder. La secuencia de pasos sería la
siguiente:
1. Ejecutar PowerBuilder
2. Abrir el Aplication Painter
3. Seleccionar File | New
4. PB nos pregunta que Pbl deseamos escoger para grabar la nueva aplicación, si tecleamos
un nombre que no existe, crearemos una nueva Pbl.
5. El siguiente paso es darle un nombre al objeto aplicación, tambien podemos añadir un
comentario
6. PB nos pregunta si deseamos generar un "Aplication template", esto provocará que nos
genere una aplicación que cree un entorno mdi listo para funcionar, contestaremos que
no.
7. Escogemos la opcion de menu File | Close

8. Pulsamos el botón y veremos una vista de la pbl que acabamos de crear con el objeto
aplicación dentro.
9. Ahora vamos a introducir codigo en el evento open. Abrimos el Application Painter
10. Escogemos el boton de la barra de herramientas que corresponde al script
11. Seleccionamos en la drop down de la izquierda el evento open
12. Tecleamos la instrucción:
MessageBox("Hola mundo","Hola a todos")

13. Cerramos la ventana del script, pulsamos sobre el boton del diskette para grabar
14. Pulsamos el botón de Run (uno cuyo icono es un señor corriendo)
Ya está, ya hemos realizado el primer programa en PowerBuilder. Una observación 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 PB también
podemos realizar procesos no interactivos que hagan su trabajo en background.
Creo que esto es todo lo que hay que saber para crear el primer objeto aplicación en
PowerBuilder. En proximos capítulos, cuando sepamos lo suficiente, crearemos un programa que
se conecte a la base de datos y abra una ventana marco MDI principal y una ventana tipo "sheet".

También podría gustarte