PowerBuilder tiene un ambiente de trabajo
llamado PowerScript, el cual sirve para escribir el código de
la aplicación. Estos comandos corresponden al
lenguaje de programación llamado PowerScript.
El lenguaje PowerScript es muy extenso y se suele recordar todas
las instrucciones necesarias para poder realizar programas más o
menos complejos. El archivo de ayuda no está organizado para iniciar un
aprendizaje, aunque más adelante su uso será de mucha utilidad. Este capítulo
servirá para saber qué función se ha de utilizar, y qué nombre tiene en el archivo
de ayuda.
El script es un conjunto de uno o más comandos del lenguaje
PowerScript que se ejecutan en respuesta a la ejecución del evento que lo invocó, es
decir, siempre está asociado a un determinado evento.
En los scripts se hace referencia a ventanas, controles, objetos,
menúes, variables y a sus atributos, los cuales pueden ser modificados.
Ejem:
|
FACILIDADES DEL PINTOR POWERSCRIPT
|
- Posee herramientas de edición por medio de comandos y menúes 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 posición en la que se encuentra el cursor.
|
PRONOMBRES USADOS POR EL POWER SCRIPT
|
Los Pronombres usados en el PowerScript son:
This
Super
Parent
ParentWindow
| |
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 menúes).
|
PowerScript provee 3 tipos de datos :
ESTANDAR :
Similares a muchos lenguajes de programación, el PowerScript
utiliza estos tipos de datos cuando declara variables o array, así tenemos
los siguientes ejemplos:
Tipo Descripción
Blob Usado para almacenar imágenes textos grandes..
Boolean True o False.
Char Sólo carácter.
_________________________________________________________________________
Date Fechas.
_________________________________________________________________________
Datetime La fecha y la hora en un solo tipo de dato.
Decimal Número decimal con signo de 18 dígitos.
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, menúes, controles.
Internamente el PB define estos tipos de objetos como un tipo de dato
Ejemplo :
Para definir una variable window: window mi_window
Para definir una variable menú: 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 exclamación (!).
Ejemplo :
El tipo de dato Alignament, puede ser asignado a uno de los tres siguientes valores :
Center!, left! y right!
PowerScript reconoce 4 tipos de variables:
Variables Globales : Cuando se quiere disponible en cualquier parte de la aplicación.
Variables de instancias(Instance): Cuando necesite tener variables que
son accesadas por más de un script dentro de un objeto, pero no necesita ser
global para toda la aplicación
Variables compartidas(Shared): Las variables compartidas son asociadas con
la definición del objeto, es decir, todas las instancias de ese objeto tienen a
esta variable común.
Variables locales: Cuando se necesite una variable temporal, éstas son
definidas en el script y sólo pueden usarse en dicho script.
PowerBuilder soporta los siguientes tipos de operadores:
|
open
opensheet
openWithParm
openSheetWithParm
close
| |
Abrir una ventana.
Abrir una ventana dentro de otra ventana del tipo mdi.
Abrir una ventana enviándole un parámetro.
Abrir una ventana dentro de otra del tipo mdi enviándole parámetro.
Cerrar una ventana. Close(parentWindow) y close (parent) son válidas.
|
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.
AcceptText
Provoca la validación del campo actual si el
usuario no pulsó tab.
DBCancel
Provoca la cancelación de un retrieve( ) en curso.
DeletedCount
Devuelve el número de filas que el usuario ha borrado.
DeleteRow
Borra una fila.
Describe
Devuelve información muy detallada sobre la estructura de la DataWindow.
Filter
Ejecuta el filtro actual (véase setFilter).
GetChild
Devuelve un apuntador a una DataWindow contenida dentro de otra.
GetColumn
Devuelve el número de columna actual.
F U N C I O N E S
D E D A T A W I N D O W S
|
|
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 número de fila actual.
GetSQLSelect
Devuelve la select de la datawindow.
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.
Print
Imprime una datawindow.
Retrieve
Ejecuta una select contra la base de datos y muestra los datos en la datawindow.
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 transacción.
Para que una datawindow funcione es imprescindible
ejecutar la siguiente instrucción:
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 más funciones pero éstas son las que permiten crear un programa más o
menos completo que modifique una base de datos.
|