- Workspaces y targets
El significado de workspace es espacio de trabajo y el significado de target es destino. En PowerBuilder, se trabaja con uno o más targets en un workspace. Se pueden agregar tantos targets como se necesite, abrir y editar objetos en múltiples targets, y construir y distribuir varios targets a la vez. Un target de PowerBuilder puede ser de dos tipos:
1.-Power script target.
Una aplicación ejecutable cliente/servidor o una aplicación ejecutable multicapa o un componente de servidor. Esto es lo que más usaremos en las siguientes sesiones.
2.- Web target
Una aplicación Web que puede contener todos los elementos que se necesite para construir un sitio web -archivos HTML, scripts, imágenes, componentes que se descargan – o una aplicación JavaServer Pages (JSP).un Web target además contiene configuraciones para construir opciones, realizar conexiones a base de datos y distribución. La capacidad de crear Web Targets esta disponible únicamente en la versión empresarial de Power Builder (Enterprise Edition)
- Objetos.
Una aplicación es una colección de objetos. Power Builder provee de diversos tipos de objetos, inclusive objetos gráficos tales como ventanas, menús, botones y los objetos no visuales tales como los datastore, exception y objetos de transacción. En un Web Target, el objeto con el que se trabaje incluye páginas HTML, imágenes y hojas de estilo.
- Objetos datawindow.
Las aplicaciones que se construyen giran alrededor de la organización de los datos. Con Power Builder se puede definir objetos DataWindow para recuperar, mostrar y para las operaciones de actualización de datos.
- Librerias de powerbuilder.
Todos los objetos o controles que se crean en Power Builder se guardan en una o más librerías asociadas con la aplicación (que están formadas por uno o más de dichos objetos y controles que estarán agrupados en archivos de extensión PBL) cuando se ejecutan las aplicaciones, Power Builder recupera los objetos de las librerías Pintores y editores.
Algunas herramientas que se usen para editar o crear objetos y controles se les llama Pintores. Por ejemplo, se puede crear una ventana en el pintor ventana. Dentro del pintor de ventanas se puede definir las propiedades de las mismas, agregar controles tales como botones y etiquetas, crear miniprogramas (scripts) usando Power Script para la ventana y para los controles que la misma contenga con el fin de instrumentar la funcionalidad que se desee obtener.
PowerBuilder proporciona pintores para ventanas (windows), menús, DataWindow objetos, objetos visuales y no visuales definidos por el usuario, funciones, estructuras, base de datos, data pipelines, y la aplicación en sí. Para cada uno de estos tipos de objetos, habrá también un editor de código en el que se puede modificar el código directamente. ara webs, existen editores especializados para HTML y archivos JSP, frames sets, y hojas de estilo.
Esta ventana principal tiene 5 zonas esenciales para poder iniciar a diseñar nuestra aplicación
1. System Tree (Arbol de Sistema). Muestra todos los objetos visibles o no visibles que vamos creando para nuestra aplicación.
2. Ventana de diseño de controles. Donde pegaremos todos los controles que requiera nuestra aplicación, el primer objeto que vemos allí es el window.
3. La ventana de codificación (Script). En esta ventana se codifica todos los objetos según el evento que deseamos que se desencadene o suceda.
4. La ventana de Propiedades. En esta ventana encontramos todas las características o atributos referentes al control seleccionado.
5. Ventana de Salida (Output). En esta ventana nos mostrará la salida de los sucesos ocurridos durante la compilación de la aplicación.
- Power script
Es el lenguaje que se usa para desarrollar aplicaciones usando Power Builder, es decir está conformado por una serie de procedimientos, funciones, objetos (estos a su vez son no visibles pero poseen funciones y procedimientos propios denominados métodos o servicios y datos con características propias los que se denominan propiedades o atributos), controles (que son visuales y son similares a los objetos en el sentido que se poseen también sus propios métodos y propiedades particulares). Power Script soporta todas las características de la orientación a objetos (encapsulamiento, herencia y polimorfismo) SQL incrustado y excepciones (a partir de las versión 8).
- Eventos y scripts
Las aplicaciones en PowerScript son orientadas a eventos o manejados por eventos: los usuarios controlan el flujo de la misma por las acciones o interacciones que ellos hacen. Cuando un usuario hace click en un botón, elige un elemento de un menú, o ingresa datos dentro de un cuadro de texto, un evento es desencadenado (es decir que se controla su ocurrencia mediante el manejador de windows así es posible para Power Builder verificar si existe un mini – programa (script) que especifique el procesamiento que debe llevarse a cabo cada vez que el evento es desencadenado.
Por ejemplo, los botones tienen el evento click. Se puede escribir un mini-programa para el evento click del botón que realice unas tareas específicas cada vez que el usuario de click en el botón. Similarmente, para cuando se edita los datos que muestran los controles existe el evento Modified, el cual es desencadenado cada vez que el usuario cambia un valor en el control. Puede escribirse mini-programas (scripts) usando Power Script, el lenguaje Power Builder, en una vista de Script en el pintor para el objeto en que se está trabajando.
Los mini programas consisten en funciones de Power Script, expresiones y sentencias que son las que se ejecutan -el procesamiento- en respuesta a un evento. El mini programa para un evento click de un botón puede recuperar y mostrar información de una base de datos; el mini programa script para un control edit en el evento modified puede evaluar los datos y ejecutar procesamiento basado en dichos datos. Los scripts pueden desencadenar eventos, por ejemplo, el script para un evento click de un botón puede abrir otra ventana, lo que a su vez desencadena el evento Open en dicha ventana.
- Funciones
Power Script proporciona un muy variado grupo de funciones pre construidas que se usan para actuar sobre los objetos y controles de una aplicación. Hay funciones para abrir una ventana, cerrar la misma, habilitar un botón, recuperar datos, actualizar una base de datos así por el estilo. Se puede además definir funciones propias para que procesen de manera particular una aplicación.
- Propiedades.
Todos los objetos y controles en un target tienen propiedades, muchos de los cuales puede configurarse conforme desarrolle la aplicación. Por ejemplo, puede indicar una etiqueta para un botón indicándola en la propiedad TEXT del mismo. Pueda establecerla en el pintor de ventanas o dinámicamente mediante un mini-programa dentro de un evento.
- Extensiones de power builder.
Puede extender la funcionalidad de un objeto añadiéndole nuevas propiedades (variables de instancia) y nuevas funciones y eventos
ropiedades de una aplicación
Las propiedades de una aplicación son las características globales de la aplicación como por ejemplo las fuentes predeterminadas de las letras para las cajas de texto, etiquetas, etc. También se puede definir el icono que tendrá la aplicación cuando se haga el archivo ejecutable de está.
Propiedades predefinidas en power builder
Evento | Descripción |
AppName | De sólo lectura, es el nombre del objeto aplicación que se indica al momento de grabar, luego de crearlo. |
DisplayName | De sólo lectura, es el nombre de la aplicación que es mostrada por otras aplicaciones al utilizar la aplicación. |
DWMessage Title | Es un título para las cajas de mensaje que se apreciará en la barra de título de las mismas. |
Son aquellas como fuente de los textos(Text Font), fuente de las columnas (Column font), Fuente de etiquetas (Label font), fuente de las cabeceras (Header Font), Icono (Icon) y tipos de variables (Variable Types).
Fuente de los textos (Text Font) permite cambiar el tipo de fuente de windows en cuanto a tipo de letra, estilo de la letra (Font styles) como Regular (Normal), Italic (Itálicas)m Bold (negritas) y Bold Italic (en negrita e Italic), tamaño (Size), color de la letra (Text Color), y color de fondo de letra (Background).
Eventos de una aplicación.
Los eventos son todos aquellos sucesos que le ocurren a la aplicación y a los que se puede asignar un script para que se realicen alguna acción cada vez que ocurra el suceso.
Eventos predefinidos en power builder.
Evento | Descripción |
Close | Ocurre cada vez que se termina la ejecución de una aplicación. |
ConnectionBegin | Obsoleto (usado para conexiones distribuidas con Power Builder) |
ConnectionEnd | Obsoleto (usado para conexiones distribuidas con Power Builder) |
Idle | Cuando la función Idle ha sido llamada en un script de una aplicación y el número de segundos que han transcurrido sin que el teclado o el ratón hayan sido usados. |
Open | Ocurre cada vez que se ejecuta una aplicación. |
SystemError | Cuando un error crítico ocurre en tiempo de ejecución (como tratar de abrir una aplicación no existente). Si no se pone un script para éste evento Power Builder muestra un mensaje con el número de error y mensaje de error que ha ocurrido. Puede usarse para personalizar los errores. |
Tipos de datos
Los tipos de datos que están definidos para PowerBuilder son los siguientes, se denominan “Tipos de Datos Estándar”.
Tipo de Dato | Descripción |
Blob | Objeto binario largo. Usado para almacenar una gran cantidad de datos, pero cuyo largo no esta claro.(ej. Imágenes, archivos de texto, documentos) |
Boolean | Contiene solo Verdadero o Falso. (TRUE o FALSE) |
Char | Almacena un único carácter ASCII. |
Date | Date Incluye una fecha, en formato americano (yy[yy],mm, dd) Año (1000- 3000), mes (01- 12) y días. (01- 31) |
DateTime | Contiene la Fecha y la Hora en un único tipo de dato, usado solo para lectura o escritura de valores ‘DateTime’ definidos en una Base de Datos. Para convertir un valor ‘DataTime’ en un tipo de dato que pueda ser usado en PowerBuilder (date, time), use: · Date(DateTime), para convertir un valor ‘DateTime’ en un valor Date. · Time(DateTime), para convertir un valor ‘DateTime’ en un valor Time. · DateTime(Date, Time), para convertir un ‘Date’ y un ‘Time’ en un valor DateTime |
Dec | Soporta números decimales con sobre 18 dígitos. Ej. 123456,000001 |
Double | Números con punto flotante, con 15 dígitos de precisión y un rango desde 2.2E308 a 1.7E+308. |
Int | Un entero de 16 bits, con rango de -32768 a +32767. |
Long | Un entero largo de 32 bits, con rango de -2,147,483,648 a +2,147,483,647. |
Real | Un numero con punto flotante, con 6 dígitos de precisión y un rango desde 1.17 E -38 a 3.4 E +38. |
Real | Real Cualquier carácter ASCII con un largo variable. (0 a 60,000) |
Time | Hora en formato 24 horas, incluye la hora (00-23), minutos (00- 59) segundos (00- 59) y fracción de segundos (sobre 6 dígitos). Con un rango desde 00:00:00 a 23:59:59.999999 |
FUNCIONES INCORPORADAS EN POWER BUILDER
FUNCIONES CADENA
Nombre | Descripción |
Asc(String) | Convierte el primer carácter de una cadena en un valor numérico ASCII |
Left ( string, n ) | Extrae un conjunto de caracteres a partir del lado izquierdo. |
LeftTrim(string) | Elimina los espacios en blanco del lado izquierdo de una cadena. |
Len(string) | Retorna la cantidad de caracteres de una cadena. |
Lower ( string ) | Convierte en minúsculas una cadena. |
Mid ( string, start {, length } ) | Permite extraer un numero de caracteres según la posición y la cantidad indicada. |
Pos ( string1, string2 {, start } ) | Retorna la posición en donde se encuentra una coincidencia de la cadena2, en la cadena 1. |
Replace ( string1, start, n, string2 ) | Reemplaza una porción de un cadena con otra. |
Reverse ( string ) | Ordena de manera inversa una cadena. |
Right ( string, n ) | Extrae un conjunto de caracteres de una cadena a partir del lado derecho. |
RightTrim ( string ) | Elimina los espacios en blanco del lado derecho de una cadena. |
Trim ( string ) | Elimina los espacios en blanco del lado derecho e izquierdo de una cadena. |
Upper ( string ) | Convierte en mayúsculas una cadena. |
FUNCIONES NUMERICAS
Nombre | Descripción |
Abs ( n ) | Obtiene el valor absoluto de un número. |
Cos ( n ) | Retorna el coseno de un valor numérico. |
Int ( n ) | Determina la parte entera de un valor numérico. |
Fact ( n ) | Obtiene el factorial de un número. |
Log ( n ) | Retorna el logaritmo de un número. |
Max ( x, y ) | Retorna el valor máximo de 2 números. |
Min ( x, y ) | Retorna el valor mínimo de 2 números |
Mod ( x, y ) | Retorna el residuo de una operación de división. |
Rand ( n ) | Permite generar números aleatorios desde 1 hasta un numero indicado. |
Round ( x, n ) | Permite realizar el redondeo de un numero, en el cual se indica el numero de decimales. |
Sin ( n ) | Retorna el seno de un valor numérico. |
Sqrt ( n ) | Retorna la raiz cuadrada de un numero. |
FUNCIONES FECHA Y HORA
Nombre | Descripción |
Day ( date ) | Retorna el día de una fecha. |
DayName ( date ) | Retorna el nombre del día de la semana de una fecha. |
DayNumber ( date ) | Retorna el día, que representa el día de la semana de una fecha. |
DaysAfter ( date1, date2 ) | Retorna el numero de días transcurridos entre 2 fechas. |
Hour ( time ) | Retorna la hora de un dato tipo Hora. |
Minute ( time ) | Retorna los minutos de un dato tipo Hora. |
Month ( date ) | Retorna el mes de un dato de tipo fecha. |
Now ( ) | Retorna la hora del sistema. |
Second ( time ) | Retorna los segundos de un dato tipo Hora. |
SecondsAfter ( time1, time2 ) | Retorna la cantidad de segundos entre 2 datos de tipo hora. |
Today ( ) | Retorna la fecha del sistema. |
Year ( date ) | Retorna el año de un dato de tipo fecha. |
Controles en Power Builder
En el desarrollo de software se ha intentado introducir elementos propios de la ingeniería a fin de aprovechar el esfuerzo que supone la construcción de sistemas informáticos. Una de las áreas en las que mas se ha avanzado en este sentido es la que intenta convertir el proceso de construcción de programas es un proceso de conjunción de elementos ya existentes. En la construcción de un automóvil se realizan labores creativas, como por ejemplo, el diseño de la carrocería, pero también una labor de ensamblaje de elementos: el motor, las ruedas y los distintos componentes, normalmente ya existentes antes de la creación del nuevo modelo. Lo único que se hace es unir estos elementos.
Los controles de ventanas de Power Builder son objetos visuales preconstruidos que se ubican en cualquier zona de las ventanas y permiten armar una interfaz de usuario completa combinándolos a criterio del diseñador de sistemas.
En el painterBar de Window existe el botón que permite elegir a dichos controles y es éste:
Muestra el listado de todos los controles que es posible de utilizar . Adicionalmente se pueden diseñar objetos con características adicionales para ser utilizadas también.
Para añadir un control a la ventana, seleccione el control, del listado. Haga click sobre el lugar en la ventana donde desea añadirlo. Para seleccionar un control de la ventana, de click en él, o mantenga presionada la tecla control para seleccionar varios objetos. Puede moverlos arrastrando el mouse.
Control | Icono | Prefijo | Descripción |
CommandButton | cb_ | Para implementar botones, con los que se inician procesos o por el contrario para terminarlos, cancelarlos o cerrar ventanas. | |
PictureButton | pb_ | Botón con imágenes. Tiene casi todas las características del control anterior, pero adicionalmente permite mostrar una figura dentro de él. | |
CheckBox | cbx_ | Permite hacer una selección (marcarlo) entre varias alternativas. Cada alternativa es independiente. | |
RadioButton | rb_ | Permite hacer una selección (marcarlo) entre varias alternativas. Sólo una alternativa, del conjunto puede seleccionarse. | |
StaticText | st_ | Caja de texto, como etiqueta. Solo para mostrar información, no hay posibilidad que pueda escribirse directamente en ella. | |
StaticHyperLink | shl_ | Muestra información y además permite definir una URL para cargar la página web que se le indique. | |
Picture | p_ | Caja de dibujo. Permite visualizar una figura. Esta puede ser definida en tiempo de diseño, puede ser modificada en tiempo de ejecución. | |
PictureHyperLink | phl_ | Muestra gráficos y además permite definir una URL para cargar la página web que se le indique. | |
GroupBox | gb_ | Se usa para agrupar cualquier grupo de controles, por ejemplo es muy útil para agrupar los controles RadioButton y CheckBox. | |
Line | l_ | Permite dibujar una línea. | |
Oval | ov_ | Permite dibujar un óvalo. | |
Rectangle | r_ | Permite dibujar un rectángulo. | |
RoundRectangle | rr_ | Permite dibujar un rectángulo con bordes redondeados. | |
SingleLineEdit | sle_ | Caja de edición de texto, es posible que el usuario en tiempo de ejecución escriba un texto y se vean sólo asteriscos, se usa para el ingreso de claves de acceso (passwords). | |
EditMask | em_ | Caja de texto, a la que se le puede restringir el conjunto de caracteres a ingresar. Permite un formato de presentación. | |
MultiLineEdit | mle_ | Se usa para ingresar varias líneas en una entrada de datos. | |
RichTextEdit | rte_ | Se usa para mostrar texto enriquecido, es decir texto coloreado, en negritas, itálicas, subrayado, etc. | |
HScrollBar | hsb_ | Barra de desplazamiento horizontal. | |
VscrollBar | vsb_ | Barra de desplazamiento vertical. | |
HtrackBar | htb_ | Barra de pistas horizontal. | |
VtrackBar | vtb_ | Barra de pistas vertical. | |
HprogressBar | hpb_ | Barra de progreso horizontal. | |
VprogressBar | vsb_ | Barra de progreso vertical. | |
DropDownListBox | ddlb_ | Caja de lista desplegable. Muestra un solo ítem, el seleccionado, de la lista que se despliega al presionar el botón adjunto. | |
DropDownPictureListBox | ddplb_ | Similar al anterior pero soporta figuras por cada elemento que muestra. | |
PictureListBox | plb_ | Es una caja de lista con elementos gráficos y de texto. | |
ListBox | lb_ | Caja de lista. Muestra todos los ítems a la vez, pudiendo seleccionarse inclusive, más de uno. | |
ListView | lv_ | Se usa para crear una vista de objetos. | |
TreeViev | tv_ | Se usa para crear una vista de tipo árbol, con una raíz común y varios nodos y elementos colgados de dichos nodos. | |
Tab | tab_ | Es un separador de páginas que son contenedoras de objetos visuales de Power Builder. | |
DataWindow | dw_ | Datawindow Control, el que se vincula con un objeto Datawindow diseñado. | |
Graph | g_ | Se usa para crear gráficos estadísticos. | |
Ole | ole_ | Se usa para incorporar objetos de windows de otras aplicaciones distintas al Power Builder. | |
USerObjetc | uo_ | Se usa para incorporar objetos de usuario creados previamente por alguien usando objetos visuales y objetos no visuales de Power Builder preconstruido. |