EL LENGUAJE POWERSCRIPT

        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.

        ¿QUE ES EL SCRIPT?

        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).

        TIPOS DE DATOS

        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!

        TIPOS DE VARIABLES

        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.


        OPERADORES

        PowerBuilder soporta los siguientes tipos de operadores:

        FUNCIONES MAS UTILIZADAS

         
        FUNCIONES PARA VENTANAS:

        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.


        BUFFERS DEL DATAWINDOWS

        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.

        FUNCIONES DEL DATAWINDOW

        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.