Manual Power Builder

download Manual Power Builder

of 68

description

Manual Power Builder

Transcript of Manual Power Builder

Introduccin

Introduccin

PowerBuilder es una herramienta de desarrollo de aplicaciones para el ambiente Windows, como tal utiliza las caractersticas de este ambiente. Primero debemos entender que el ambiente Windows permite esta bajo en concepto "Lo que Ud. ve es lo que puede realizar", bajo este contexto la presentacin cobra mucha importancia.

La etapa de diseo es aquella en la cual el programador, escribe el cdigo fuente del programa ejecutable.

Programacin Orientada al Objeto

Este concepto es sencillo de entender si lo aclaramos con un ejemplo, una silla es un objeto; los elementos que la caracterizan son los atributos (color, altura, etc.). Todos estos atributos (caractersticas del objeto) pueden tomar valores dentro de un dominio definido por la caracterstica en si (color no puede tomar el valor 1,2 metros, la altura no puede ser amarillo, etc.)

Ahora veamos su relacin con los objetos en la programacin, un objeto en programacin es un elemento que posee caractersticas, pero ms an posee mtodos (funciones) que han sido definidas para interactuar en operaciones comunes con dicho objeto. Ej. buscar un tem en una lista.

Una instancia particular de un objeto se convierte en una variable, para todos los fines de la programacin, sus atributos se convierten en campos de esta.

Tipos de Objetos

Existen dos tipos de objetos:

a)VISUALES: Son aquellos que pueden ser vistos por el usuario en el monitor de su computador.

Ej. Botones, ventanas, etc.

b)NO VISUALES: Son aquellos que aunque no pueden ser vistos por el usuario, poseen todas las caractersticas de estos.

Ej. Errores, Objetos de Transaccin (SQL)

En una aplicacin Power los objetos No visuales son muy necesarios para que los objetos Visuales interactuen con otros elementos ajenos al Sistema computacional en si.

Atributos, Eventos, Mtodos (Funciones)

Como ya se menciono previamente un objeto esta constituido por Atributos; estos lo caracterizan. Existen atributos que pueden modificarse y otros no. Tambin existen atributos que son modificables tanto durante el diseo de la aplicacin en si, como durante la ejecucin, y otras que solo pueden ser modificadas durante el diseo.

Los mtodos, son funciones destinadas a manipular elementos que son definidos en conjunto con el objeto, esto implica que un objeto solo puede manipular elementos que estn contenidos en el( efecto "caja negra")ej. en un objeto lista, la funcin buscar solo lo hace en los tems del objeto lista.

Este principio se denomina Encapsulamiento , y permite una autonoma de cada objeto con su entorno.

Eventos, cada accin que se puede realizar sobre el objeto es un Evento; ej. Hacer un click sobre un objeto botn, presionar una tecla al escribir en un objeto caja de texto, etc. Cada una de estas acciones es independiente una de otras, pero no necesariamente son excluyentes. Ej. al presionar el botn Tambin es necesario indicar el principio de la Herencia, como en el ser humano un hijo hereda algunos rasgos de sus progenitores, en la programacin orientada al objeto, un objeto puede heredar los valores dados a un atributo, junto con todas las caractersticas dadas al objeto origen (cdigo, otros objetos contenidos dentro de este, etc.); pero con la libertad de deshacerse de estos o aadir nuevos sin alterar al objeto original.

Ambiente de Desarrollo

El ambiente de desarrollo de Powerbuilder permite trabajar con todos los elementos que son necesarios para la realizacinde un proyecto. Para ejecutar PowerBuilder vaya al botn Inicio de Windows, la opcin Programas el tem Powersoft 5.0 ydentro de este el elemento Powerbuilder 5.0 for Intel.

Caractersticas

El ambiente de diseo de aplicaciones de Power esta contenido en un MDI (Mltiples Ventanas Contenidas), lo que permiteque pueda contener en forma ordenada todas las tareas que uno puede realizar en forma continua en las reas de Desarrollo.

Areas de Desarrollo

Power posee muchas reas de trabajo para el desarrollo de los elementos que conforman una aplicacin, cada una genera un elemento que debe ser guardado en un archivo de librera (*.pbl) donde ser almacenado para su utilizacin. Se podrtener abierta mltiples reas de desarrollo, pudiendo cambiarse de una a otra a travs del men Windows, donde aparece conuna marca el rea donde esta actualmente y el elemento en el que se esta trabajando.

Adems, uno podr tener varios elementos de la misma rea abierto, para efectos de trabajo con ellos cada uno de estos es independiente. Es importante hacer notar, que algunas opciones del men se vern alteradas al estar en una u otra rea de desarrollo. Las reas de trabajo son enumeradas en la opcin PowerPanel del Men Archivo, y tambin se presentan en una Caja de Herramientas (como la que se ve a continuacin).

Las Areas de Trabajo son las siguientes:

AreaDescripcin

AplicationPermite definir las caractersticas comunes que tendr la aplicacin, como son fuente de letra para las etiquetas, controles, etc. Tambin permite definir las Libreras que conforman la aplicacin, y las acciones que se deben realizar al iniciar/terminar la aplicacin, como son la ventana de inicio, etc. La aplicacin se torna en la cabeza de la aplicacin.

ProjectPermite crear un archivo ejecutable, y especificar los componentes que irn con esta aplicacin.

WindowPermite trabajar con las ventanas que conformaran la aplicacin. Las ventanas se convierten en contenedores de los objetos visuales, es decir, estn puestos encima de esta; para que el usuario pueda manipularlos.

User ObjectPermite definir nuevos tipos de objetos; a partir de los ya existentes o bien crendolos con una programacin C++. El primer tipo es el ms utilizado, ya que se puede formular cdigo estndar, y de esa manera disminuir el nmero de lneas de cdigo. Estos objetos aqu definidos pueden ser utilizados en cualquier ventana de la aplicacin.

MenuPermite declarar los menes. Esto significa que pueden existir diversos listados de menes que sean utilizados por una aplicacin. Junto con esto es posible definir las acciones a realizar cuando se selecciona cualquier tem del men hecho.

StructurePermite definir las estructuras de datos que sern utilizadas por la aplicacin. Se entiende por estructura de datos, un elemento que contiene subelementos en el, y que son dependientes de este. Se puede reflejar mucho mejor esto en la idea de registro.

FunctionPermite definir las funciones que sern utilizadas por la aplicacin, y podrn ser accedidas desde cualquier parte de la aplicacin. Ests funciones podrn o no retornar un valor, y pueden o no tener parmetros.

DatawindowPermite definir los datawindows, estas son consultas que estn unidas a una presentacin definida por uno. Donde se puede definir reglas de validacin para cada campo, y estilos de presentacin, Ud. puede definir argumentos, uniones, ordenamiento criterios de seleccin y agrupamiento.

QueryEs utilizado para definir y guardar una consulta Select en forma grfica, esto permite que pueda ser utilizada por objetos datawindows.

PipelineUn objeto Tubera es usada para administras el traspaso de datos durante la ejecucin de una aplicacin. Normalmente se hace esto para hacer traspasos masivos de datos desde una Base de Datos a otra.

Configure ODBCPermite definir un profile (definicin) de conexin, el que utilizara el controlador seleccionado; el que deber estar presente en la mquina.

DB ProfilePermite seleccionar un profile, previamente definido, con el que se conectara a la Base de Datos correspondiente. Para cada tipo de Base de Datos los parmetros con los que se sirve para conectarse podran variar, infrmese.

DatabasePermite trabajar con la Base de Datos conectada actualmente al seleccionar un profile del rea DB Profile. Aqu es posible Crear/Modificar Tablas, Claves Primarias/Forneas, Manipular datos.

LibraryUse est rea de trabajo para crear y mantener las libreras, y los objetos que contienen estas. Estos objetos pueden ser la Aplicacin, Ventanas, Menes, etc. Use el botn Properties , o bien la misma opcin del men al presionar el botn derecho del mouse; para modificar la descripcin dada a cada objeto. Tambien es posible copiar, mover objetos de una librera a otra, o bien eliminarlos expresamente.

RunPermite ejecutar la aplicacin desde su comienzo, si estuviera trabajando en un Area de Trabajo, se le pedira que guarde los cambios antes de iniciar la ejecucin de la aplicacin.

Run windowPermite ejecutar una ventana solamente, no es una previsualizacin de est; realmente se ejecutan el cdigo contenido en cada objeto. Es importante que la Base de Datos con la que uno este trabajando este conectada va el objeto no visual de transaccin para que no se produzcan errores.

ExitTermina la ejecucin del Ambiente Powerbuilder.

Todos estos botones estn presentes en la primera barra de herramientas, la que recibe el nombre de PowerPanel ("Barra de Herramientas Areas de Trabajo").

Cada Area de trabajo tiene su propia Barra de Herramientas, la que se llama PainterBar ("Barra de Herramientas del Area de Trabajo"), la que se presenta como una segunda barra de herramientas.

Aplicacin

Para Powerbuilder una aplicacin es un objeto, debe ser nico dentro de todas las libreras que conformaran la aplicacin en si. Para trabajar con la aplicacin presione el botn .

Mantencin Nueva Aplicacin:Para iniciar una nueva aplicacin seleccione la opcin New desde el tem File de la barra de men, o bien presionando el botn desde la segunda barra de herramientas. Aparecer una ventana donde Ud. deber seleccionar el lugar donde se depositara el archivo (*.PBL) y junto con esto el nombre de dicho archivo, estilo ventana "Guardar". Luego deber ingresar el nombre de la aplicacin en una ventana como la que sigue.

En la caja de texto Comment, podr ingresar algn comentario explicativo. Luego presione el botn Ok.

Su aplicacin aparecer as

Abrir una Existente

Para abrir una aplicacin existente seleccione la opcin Open desde el tem File de la barra de men, o bien presione el botn desde la segunda barra de herramientas. Busque el archivo (*.pbl) que contenga el objeto aplicacin.

Guardar Cambios

Para guardar los cambios al modificar seleccione la opcin Save desde el tem File de la barra de men, o bien presione el botn desde la segunda barra de herramientas.

Propiedades

Presione el botn o vaya al men Entry opcin Properties.

Los atributos de la aplicacin tienen relacin con caractersticas globales de la aplicacin como son fuente predeterminadas de las letras para las cajas de texto, etiquetas, etc. Tambin se puede definir el icono que tendr la aplicacin cuando se haga el archivo ejecutable de est.

TpicoDescripcin

GeneralPermite obtener informacin del objeto aplication.

.. FontPermite definir caractersticas de presentacin visual de elementos.

IconPermite definir el icono de la aplicacin.

VariablePermite conocer las variables globales por defecto y su tipo.

LibrariesPermite declarar las libreras que conforman la aplicacin.

EventosLos eventos ms utilizados para un objeto aplication son:

EventoDescripcin

OpenLas acciones cuando inicie la ejecucin de la aplicacin.

CloseLas acciones cuando termine la ejecucin de la aplicacin.

Ventanas

Las Ventanas son como contenedores, es posible poner en ellos una diversidad de objetos. Estos objetos se denominan en forma genrica Controles.

Para trabajar en el diseo de una ventana presione el botn , de la barra de Areas de Trabajo. Inmediatamente aparecer una ventana donde podr seleccionar una de las ya existentes y presionar Ok para seguir trabajando en ella, o puede presionar el botn New para comenzar a disear una nueva ventana.

En la parte superior aparece el nombre del objeto ventana.

El rectngulo que esta inmerso en la ventana corresponde al objeto ventana en diseo.

Nueva Ventana

Despus de presionar el botn New aparecer una ventana vaca. Ud. puede redimensionar desde los bordes de la misma. Al cerrar la ventana de Diseo, se le preguntara por el nombre que le dar a la nueva ventana.

Propiedades ventana

Las propiedades de la ventana estn organizados en forma de tpicos. Aqu no se mencionaran todos los tpicos, ya que algunos se repiten para todos los Controles (ver Controles)

TpicoDescripcin

GeneralCasilla Title, indica el texto de titulo de la ventana. La casilla Menu Name, indica el nombre del objeto Menu para la ventana. Window Type, indica el tipo de ventana:

Child, ventana que permanece inserta dentro de una ventana MDI.

Main, ventana normal, con posibilidad de men.

MDI Frame, ventana que posee rea interna para contener otras ventanas.

MDI Frame with , igual que la anterior, pero con barra de estado inferior.

Response, necesita cerrar esta ventana para continuar ejecucin.

PositionPermite indicar la posicin de la ventana dentro de la pantalla, como ser presentada. Utilice el esquema inferior para mover la ventana.

IconIdentifica al Icono que aparecer en la parte izquierda de la cabecera de la ventana.

ScrollPermite definir si la ventana tendr barras de desplazamiento, y la unidad a utilizarse por ellas.

ToolBarPermite definir si se utilizara la caja de herramienta definida para el menu, su presentacin y posicin.

Controles

Son los objetos visuales que pueden ser puestos en la ventana. En la barra de herramientas secundaria, el botn que esta en el segundo grupo, muestra el listado de todos los objetos elementales que es posible de utilizar. Adicionalmente se pueden disear objetos con caractersticas adicionales para ser utilizadas tambin.

Los controles bsicos son:

ControlIconDescripcin

CommanButtonBoton, puede visualizar un texto en el. Presenta la capacidad visual de sobresalir y achatarse al presionar el mouse sobre el.

PictureButtonBotn con n. Tiene todas las caractersticas del control anterior, pero adicionalmente permite mostrar una n dentro del mismo botn.

CheckBox

RadioButton

Permite hacer una seleccin (marcarlo) entre varias alternativas. En el primero cada alternativa es independiente. En el segundo solo una alternativa, del conjunto, puede seleccionarse

StaticTextCaja de texto, como etiqueta. Solo para mostrar informacin, no hay posibilidad que pueda escribirse directamente en el.

PictureCaja de dibujo, permite visualizar una n. Esta puede ser definida en tiempo de diseo, o puede ser modificada en tiempo de ejecucin.

SingleLineEditCaja de edicin de texto, es posible que el usuario en tiempo de ejecucin escriba un texto dentro de la misma caja.

EditMaskCaja de texto, a la que se le puede restringir el conjunto de caracteres a ingresar. Permite un formato de presentacin.

DropDownListBoxCaja de lista desplegable. Muestra un solo tem, el seleccionado, de la lista que se despliega al presiona el botn adjunto.

ListBoxCaja de lista. Muestra todos los tems a la vez, pudiendo seleccionarse inclusive, ms de uno.

DatawindowDatawindow Control, el que se vincula con un objeto Datawindow diseado.

Para aadir un control a la ventana, seleccione el control, del listado. Presione el mouse sobre el lugar en la ventana donde desea aadirlo. Para seleccionar un control de la ventana, presione el mouse sobre el, o mantenga presionado la tecla Control para seleccionar mltiples objetos. Puede moverlo, manteniendo presionado el mouse al mover este.

Propiedades Controles

Las propiedades de los controles pueden ser modificados, tanto en tiempo de diseo, como en tiempo de ejecucin; va cdigo.

Para ver las propiedades de un control, presione el mouse dos veces.

Las propiedades de todo control estn ordenadas por tpicos, estos pueden variar levemente entre controles. Los ms comunes son:

TpicoDescripcin

GeneralName, indica el nombre del objeto. La casilla Text, indica el texto a ser mostrado. Tag, permite guardar cualquier dato. Visible, indica si el objeto puede verse. Enabled, indica si objeto esta activamente disponible.

Para los Botones: Default indica que si se presiona el Enter en cualquier parte de la ventana, se activa dicho botn. Cancel indica que si se presiona la tecla Escape, se activa dicho botn.

Para las cajas de Edicin, Etiqueta y Lista Desplegable: Alignment, indica la alineacin del texto. Case el tipo de presentacin. Border indica el tipo de borde. Limit, el nmero de caracteres a dejar ingresar.

Para la Lista Desplegable: Allow Edit, indica que se puede escribir un tem adems de seleccionarlo. Sort, indica que el listado ser ordenado alfabticamente.

Para la Lista: Multi Select, indica posibilidad de seleccin mltiple.

FontPermite definir el tipo de letra, tamao y caractersticas de presentacin del texto visible. Text Color, indica el color del Texto. Background, indica el color de fondo.

PositionIndica las coordenadas X e Y, tambin se indica el largo (Width) y el alto del objeto (Height)

IconIndica el tipo de Icono, que ser utilizado por el cursor cuando este pase por encima del objeto en tiempo de ejecucin.

Items Para los objetos lista, permite ingresar el texto de cada tem.

Mask Para la mascara, permite definir la mascara de entrada de datos. Seleccione Type para ver en Masks, los posibles caracteres a utilizar. Cualquier otro carcter se considera un litera.

Eventos Controles

Los eventos ms comunes, los que no necesariamente estn presentes en todo control son:

EventoDescripcin

ClickedCuando el usuario presione el mouse sobre el rea que conforma el objeto visual.

GetFocusCuando el objeto obtiene la atencin, se mouse el cursor sobre el.

LoseFocusCuando el objeto pierde la atencin.

DoubleClickedCuando el usuario presiona dos veces el mouse sobre el rea que conforma el objeto visual.

SelectionChangedCuando se cambio de tem seleccionado.

RButtonDownCuando se presiona el botn derecho del mouse sobre el rea que conforma el objeto visual.

ModifiedCuando el control pierde la atencin, se presiona Enter o Tab, o el texto es modificado.

PowerScript

Todo lenguaje de programacin contiene sentencias propias que le permiten manipular la informacin, permite separar cursos de accin dependiendo de ciertos valores, o bien sencillamente presentarla al usuario. Todo esto debe ser realizado por el programa en forma autnoma y aveces sin participacin externa, por ende se debe ser previsor al momento de disear y programar una aplicacin. El siguiente capitulo presenta las sentencias que son requeridas para la manipulacin de la informacin por parte del programa en si.

Tipos de datos

Los tipos de datos que estn definidos para PowerBuilder son los siguientes, se denominan "Tipos de Datos Estndar".

Tipo de DatoDescripcin

BlobObjeto binario largo. Usado para almacenar una gran cantidad de datos, pero cuyo largo no esta claro.(ej. Imgenes, archivos de texto, documentos)

BooleanContiene solo Verdadero o Falso. (TRUE o FALSE)

Char Almacena un nico carcter ASCII.

DateIncluye una fecha, en formato americano (yy[yy],mm, dd) Ao (1000- 3000), mes (01- 12) y das. (01- 31)

DateTimeContiene 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

DecSoporta nmeros decimales con sobre 18 dgitos. Ej. 123456,000001

DoubleNmeros con punto flotante, con 15 dgitos de precisin y un rango desde 2.2E308 a 1.7E+308.

IntUn entero de 16 bits, con rango de -32768 a +32767.

LongUn entero largo de 32 bits, con rango de -2,147,483,648 a +2,147,483,647.

RealUn numero con punto flotante, con 6 dgitos de precisin y un rango desde 1.17 E -38 a 3.4 E +38.

StringCualquier carcter ASCII con un largo variable. (0 a 60,000)

TimeHora en formato 24 horas, incluye la hora (00-23), minutos (00- 59) segundos (00- 59) y fraccin de segundos (sobre 6 dgitos). Con un rango desde 00:00:00 a 23:59:59.999999

Definicin de Variables/Constante

Una variable se define anteponindole el tipo de dato que sera permitido para esa variable.

Ej. Se desea declarar una variable de tipo entera y de nombre 'monto_cuota'

integer monto_cuotastring nombreUd. puede declarar varias variables del mismo tipo, separando cada una de estas con una coma (,)

Ej.

integer monto_cuota, total_cuota= 0

Nota:

Como Ud. podr notar a la variable se le asigno un valor inicial. Esto se puede realizar con cualquier variable, teniendo cuidado de asignar un valor que corresponda con el tipo de dato.

Para declarar una variable como una constante, el valor asignado inicialmente no podr ser modificado durante el programa, se antepone la palabra clave CONSTANT.

Ej.

constant real LR_PI = 3.14159265

Ambito

Existen 4 tipos de mbito, alcance dentro de los mdulos del programa, en donde podr ser utilizada una variable. Estos cuatro mbitos sern mencionados a continuacin.

Los tres primeros son definidos fuera de cualquier modulo ejecutable, y se declaran en el Area de trabajo de las Ventanas, en el men Declare.

Todos estos tienen la misma ventana de ingreso de variables, solo cambiando el mbito (rango) de uso de la variable dentro del programa.

Global

Es aquella variable/constante que podr ser utilizada en toda la aplicacin, es decir; podr hacerse referencia a ella desde cualquier modulo del programa.

Para declarar una variable global. Estando en cualquier modulo de cdigo, seleccione el men 'Declare' opcin 'Declare Global'; aparecer la ventana de declaracin de variables, donde Ud. podr definir la(s) variable(s) como se explico anteriormente.

Tambin Ud. puede declarar un 'cursor' (vea el tpico SQL Incrustado) que podr ser referenciado desde cualquier parte de la aplicacin. Para ello solo presione el dibujo que dice 'Cursor' y siga las mismas indicaciones que se dan en la Seccin 'Cursores' del tpico 'SQL Incrustado'.

Globales solo al Objeto (Instance)

Las variables que sean declaradas como Globales solo al Objeto, podrn ser utilizadas en cualquier cdigo fuente, pero solo del objeto donde se declaro (ventana, men, objetos del usuario), es decir, donde se defina la(s) variable(s). Tambin podrn ser utilizadas por todos los objetos que estn inmersos en el (ej. botn en una ventana)

Para declarar una variable global al Objeto. Estando en cualquier modulo de cdigo o en la definicin de la ventana, seleccione el men 'Declare' opcin 'Declare Instance. Aparecer la ventana de declaracin de variables, ventana donde Ud. podr definir la(s) variable(s) como se explico anteriormente.

Tambin Ud. puede declarar un 'cursor' (vea el tpico SQL Incrustado) que podr ser referenciado desde cualquier parte de la ventana especifica. Presione el dibujo que dice 'Cursor' y siga las mismas indicaciones que se dan en la Seccin 'Cursores' del tpico 'SQL Incrustado'.

Recordantes (Shared)

Las variables declaradas de este tipo igual que las del tipo anterior (Instance) solo pueden ser reconocidas dentro del objeto especifico donde se declaro (ventana, men, objeto del usuario) , pero estas ltimas tienen la particularidad de conservar el valor almacenado en esta al momento de cerrar y abrir nuevamente el objeto en cuestin.

Para declarar una variable global al Objeto de tipo Shared. Estando en cualquier modulo de cdigo o en la definicin de la ventana, seleccione el men 'Declare' opcin 'Declare Shared. Aparecer la ventana de declaracin de variables, ventana donde Ud. podr definir la(s) variable(s) como se explico anteriormente.

Tambin Ud. puede declarar un 'cursor' (vea el tpico SQL Incrustado) que podr ser referenciado desde cualquier parte de la ventana especifica. Presione el dibujo que dice 'Cursor' y siga las mismas indicaciones que se dan en la Seccin 'Cursores' del tpico 'SQL Incrustado'.

Locales (al Modulo)

Estas variables son declaradas en el mismo cdigo del modulo en cuestin, y solo tienen vida en este, no pueden ser compartida por otros mdulos del mismo objeto inclusive.

Utilizacin

Una variable puede ser utilizada para asignarle un valor, comprobar su valor, asignarle su valor a otra variable Ej. Asignarle un valor.

monto_cuota=13

nombre= 'Ricardo'

Comprobar su valor

If monto_cuota=13 Then ...

If nombre 'Ricardo' Then ...

Asignarle su valor a otra variable

total_cuota= monto_cuota

Una variable tambin puede aparecer tanto en la parte 'asignante ' (quien recibe el valor) como en la 'asignadora' (quien genera el valor a asignar)

Ej.

monto_cuota=monto_cuota+12

Operadores Matemticos, relacinales y lgicos

Los operadores matemticos son los siguientes:

Suma+

Resta-

Multiplicacin*

Divisin/

Adems existen los agrupadores de expresiones matemticas:

'(', indica comienzo de la Agrupacin.

')', Indica fin de la agrupacin

Ej.

monto_cuota = (23 * monto_cuota)* 13

Los operadores relacinales son los siguientes:

O inclusivoOR

y inclusivoAND

NegacinNOT

Igualdad=

Desigualdad

Menor=

Ej.

If monto_cuota=12 AND NOT objeto.enabled Then ...

Adicionalmente existen 2 valores constantes.

VerdaderoTrue

FalsoFalse

Flujos de Control

Los flujos de control permiten que las acciones ha ser realizadas puedan ser bifurcadas a otra dependiendo de alguna expresin condicional. Existen 2 tipos de flujos de control

Condicional

Iterativo

Condicional

Se refiere a que el flujo de control es bifurcado desde una sentencia, o conjunto de estas, a otra, o conjunto de estas. Existen 2 clase de Flujos de control condicionales

IF..THEN..ELSE

La sentencia 'If' permite bifurcar la ejecucin del cdigo entre 2 caminos posibles dependiendo de la veracidad o no de una expresin condicional

El tamao, en lneas de cdigo, de los segmentos, 'verdadero' o 'falso' no tienen un limite.

Ej. If monto_cuota=13 Then nombre= 'Ramiro'

Else nombre= 'Francisco'

End If

Tambin es posible anidar varios 'If..Then..Else' consecutivamente.

Ej.

If monto_cuota=13 Then

nombre= 'Ramiro'

ElseIf monto_cuota=15 Then

nombre= 'Roberto'

Else

nombre= 'Francisco'

End If

CHOOSE

Permite bifurcar la ejecucin del cdigo entre mltiples caminos posibles; dependiendo de la veracidad o no de una expresin condicional, principalmente una variable.

El tamao, en lneas de cdigo, de los segmentos 1..'n' no tienen un limite.

Ej.

Choose case monto_cuota

Case Is< 13: nombre='Ramiro'

Case 16 To 48:nombre= 'Roberto'

Else

nombre='Francisco'

End Choose

Cada Case puede tener los siguientes valores:

Un valor

Una lista de valores separados por coma. (ej. 2, 4, 6, 8)

Una clusula TO, desde hasta. (ej. 1 TO 30)

Una clusula IS seguida por un operador relacional y un valor a comparar. (ej. IS>5)

Cualquier combinacin de lo anterior, implcitamente indica un OR. (ej.1, 3, 5, 7, 9, 27 TO 33, IS >42)

Iterativo

Se refiere a la repeticin de una(s) sentencia(s) que son definidas dentro de un bloque clarificado por una sentencia iterativa. Existen 2 clases de Flujos de control Iterativos.

FOR..NEXT..STEP

La sentencia for permite repetir una(s) sentencia(s) un nmero definido anterior al comienzo de la ejecucin de estas sentencias.

El tamao, en lneas de cdigo, del segmento 1, no tienen un limite.

Ej.

for i= 1 to 23

j= i + ( j * 1.2 )

next

La variable i se denomina "contador", el valor final de iteraciones no debe ser superior al rango definido para el tipo de dato del contador. Si el valor de i es superior al valor final de iteracin, las sentencias no se ejecutan.

Ej.

For n = 5 to 25 step 5

a = a+10

Next

En este ejemplo la sentencia se ejecutara cuando n>=5 y n 15 // A sea mayor que 15.

Beep(A)

A = (A + 1) * B

LOOP

integer A = 1, B = 1 //Emite un pito por los parlantes mientras la variable

DO WHILE A 3 THEN CONTINUE

MessageBox("Hola", "B es = " + String(B) )

LOOP

Utilizacin de Herramientas

Powerbuilder posee un conjunto de herramientas destinadas a facilitar la creacin de cdigo fuente para un programa. Todas esta herramientas pueden ser utilizadas en cualquier modulo, donde se pueda escribir sentencias ejecutables.

Las Herramientas son:

Listado de Funciones

Sentencias SQL-Incrustado

Listado de Sentencias(If, For, Do, etc.)

Compilacin

Buscador

Adems existen palabras reservadas destinadas a hacer referencia a objetos pertinentes, estas son:

Descripcin

ThisIndica el objeto en el cual se esta codificando. Ej. this. Text = "hola"

ParentIndica el objeto que contiene uno particular donde se esta codificando Close( parent )

Listado de Funciones

Para accionar el listado de funciones presione el botn , a continuacin aparecer una ventana donde Ud. podr seleccionar la funcin especifica. Existen 3 agrupaciones (Funciones de PowerBuilder, Funciones de la Aplicacin creadas por el Usuario y Funciones externas de DLLs conectados a la Aplicacin).

Las funciones estn ordenadas en forma ascendente, si desea buscar una funcin, escriba las primeras letras de esta, estando el foco en el listado de funciones.

Cuando seleccione la funcin, presione Ok y esta se pegara en la ventana de edicin del Script en la ubicacin del cursor actualmente.

Sentencias SQL-IncrustadoPara accionar las Sentencias SQl-Incrustado presione el botn , a continuacin aparecer una ventana donde podr seleccionar el tipo de Sentencia SQL y cual especficamente( haciendo doble clic sobre la misma), o seleccionndola y presionando el botn Ok.

Esta sentencia se pegara en el Script del modulo en el lugar donde este el cursor.

Listado de Sentencias(If, For, Do, etc.)Para accionar el Listado de sentencias presione el botn , aparecer una ventana donde Ud. podr seleccionar la sentencia especifica, solo una a la vez.

La sentencia se pegara en el Script del modulo, en el lugar donde este el cursor.

CompilacinLa compilacin es el proceso durante el cual el modulo es revisado para encontrar errores sintaxis o lxicos. Para accionar este proceso presione el botn , en la parte inferior de la ventana del Script aparecer un listado de los errores encontrados, si los hubiera.

BuscadorEl buscador permite obtener la informacin de los objetos que conforman la aplicacin, informacin como; las funciones del usuario, las ventanas, datawindows existentes y todo objeto (atributos, funciones, etc.) que este presente en las ventanas.

Para accionarlo presione el botn , aparecer una ventana como la anterior que tiene todos los tpicos por los cuales buscar un objeto.

Estn organizados en forma jerarquizada y con subtpicos. A la mano izquierda estn los objetos del grupo especificado, y a la derecha los tpicos por los cuales buscar. Seleccione un objeto, el tpico y el elemento especifico; luego presione el botn Paste y la sentencia especificada se pegara en donde este el cursor dentro de la ventana del Script

Otras HerramientasComentarios

Los comentarios, si es una lnea se antepone a la mano izquierda dos slash (//); eso significa que todo lo que este a la mano izquierda de estos dos signos ser considerado como comentario.

Para poner comentarios; seleccione las lneas y presione el botn Para quitar los comentarios; seleccione las lneas y presione el botn.

Herramientas de Edicin

Podr hacer uso de las opciones de edicin utilizando lo botones "Copiar" (, "Cortar" (, "Pegar" (); las que estn presentes tambin en el men Edit, o bien utilizando las teclas de accin directas.

Listados en Mdulos

Todo modulo ejecutable tiene una barra, ms o menos, parecida a la siguiente.

En la Barra del titulo de la ventana aparece "Script", que quiere decir "Cdigo". Al lado esta el nombre del modulo "Vaca", si fuese un objeto esta precedido por el nombre del Evento "Open" y luego el tipo de dato que puede ser devuelto por el modulo ejecutable.

Debajo de la Barra de Titulo, aparecen un conjunto de listas desplegables, si se selecciona un elemento que este contenida en una de ellas; este elemento (nombre) se pega en el cdigo, donde este el cursor.

Si fuese un objeto, donde se esta escribiendo cdigo, la primera lista es para seleccionar el evento donde se escribir.

El listado "Paste Argument", permite pegar el nombre de un argumento del modulo en cuestin. El listado "Paste Object", permite pegar el nombre de los dems objetos contenidos en la ventana o men, donde este el modulo en cuestin. El listado "Paste Global", muestra todas las variables/constantes declaradas como Global, y permite pegar cualquiera de ellas. El listado "Paste Instance", muestra todas las variables/constantes declaradas como Instance, y permite pegar cualquiera de ellas.

Funciones

Las funciones en Powerbuilder pueden o no devolver un valor, este valor se conoce como "Valor de Retorno" de la funcin. Las funciones se declaran como elementos independientes y reconocibles en una librera, y puede ser utilizados desde cualquier parte de la aplicacin.

Para trabajar con las funciones seleccione el icono de la barra de herramientas PowerBar. Aparecer la ventana de seleccin de funcin; seleccione la funcin ya creada para seguir trabajando en ella, y luego presione el botn Ok, o bien presione el botn New si desea crear una nueva funcin.

Declaracin de Funciones

Al aparecer la ventana de seleccin de funcin, presione el botn New, aparecer una ventana como la que sigue:

Name, indica el nombre de la nueva funcin.

Returns, indica el Valor de retorno, si la funcin no devolviera un valor de retorno, seleccione none.

Arguments, indica los argumentos (parmetros) de la funcin

Parmetros

Una funcin puede o no tener parmetros, un parmetro es un valor o variable que es pasado a la funcin para que la utilice en ella.

Al definir una funcin se declaran los parmetros que podr tener. El mismo nmero de parmetros y el mismo tipo de dato para cada uno de ellos debe ser puesto al utilizar la funcin.

Declarar los Parmetros

Escriba el nombre del parmetro (nombre por el cual se har referencia en el interior de la funcin) en la columna Name.

Seleccione o escriba el nombre del tipo de dato, en la casilla de la columna Type.

Seleccione el tipo de paso, en la casilla de la columna Pass By.

Notara que cada parmetro tiene una posicin definida en la columna Positor, esta misma posicin debe estar al hacer la llamada a la funcin.

Pasada de Parmetros

Al declarar cada parmetro se debe indica como se pasara el parmetro a la funcin, existen 3 tipos de pasada; las que son:

TipoDescripcin

ValueEl valor del parmetro pasado se copia al parmetro declarado, es decir, todo cambio que se haga al parmetro dentro de la funcin no alterara el valor del parmetro pasado.

ReferenceEl parmetro declarado esta relacionado con el parmetro pasado, es decir, todo cambio que se haga al parmetro dentro de la funcin, al terminar esta, quedara registrado en el parmetro pasado.

ReadOnlyIndica que el parmetro es de solo lectura (constante), no se podr utilizar dentro del funcin como una variable.

Si la funcin requiere ms parmetros presione el botn Add, este nuevo parmetro se anexara al final de los ya existentes. Si desea colocar un nuevo parmetro entre otros, presione el botn Insert. Para eliminar un parmetro haga un clic sobre el y presione el botn Delete.

Valor de retorno

Elija el tipo de dato que ser retornado al utilizar la funcin. Los tipos de datos pueden ser los definidos en el listado o bien escriba un tipo de dato que Ud. haya definido en la aplicacin. Si el valor de retorno fuese asignado a una variable al llamarse a la funcin, tenga presente que dicha variable debe ser del mismo tipo del seleccionado en el campo Return.

Cdigo Funcin

Dentro del cdigo los parmetros son meras variables, y podrn ser utilizadas como tales (si no existen restricciones en su definicin).

Se termina la ejecucin de la funcin con la declaracin Return. Si se devolviera un valor esta deber ir despus de return entre parentesis.

Se podrn utilizar las funciones primitivas, declaracin de variables locales, flujos de control, etc.

Si desea modificar algo de la declaracin de la funcin presione el botn .

Estructuras

Las estructuras de datos es una manera de organizar la informacin que esta contenida en un elemento para que sea ms fcil su administracin. Estas se pueden comparar con registros de datos donde, cada elemento particular de este es un campo. Los campos son elementos diferenciables uno de otro; como si fueran simples variables, pero; estando unidos por la definicin de la estructura.

Ej.

Estructura: Persona

CamposTipo

nombreString

edadinteger

sexochar

En las estructuras de datos no es posible definir reglas de validacin tcitas, o restricciones de entradas. Como por ejemplo "Sexo='M' o Sexo='F'", estas deben ser definidas en el cdigo fuente.

Los tipos de datos para cada campo pueden ser primitivos de Powerbuilder, objetos de Power o bien objetos definidos por el usuario.

Para trabajar con las estructuras presione el boton , al hacerlo; aparecer la conocida ventana de seleccin. Ud. podr elegir una estructura ya definida previamente, para continuar trabajando con ella, o bien podr crear una nueva estructura presionando el botn 'New'.

Definir Estructura

Despus de presionar el botn 'New' aparecer la ventana de 'definicin de Estructuras'.

Defina los campos que conformaran la estructura. En este caso el orden no es primordial.

Escriba el nombre del campo, en la columna Variable Name, el que deber ser nico en toda la estructura.

Seleccione o escriba el tipo de dato, en la columna Type.

Al salir de esta ventana se le pedir que escriba el nombre de esta estructura, si es nueva; este nombre debe ser nico para toda la aplicacin.

Si necesita aadir un campo entre otros ya existentes, presione el botn y contine con la definicin del campo. Si requiere borrar un campo, presione el botn ; teniendo cuidado que el cursor con la fecha este ubicado en la casilla que corresponda al campo que desea borrar.

Trabajar con Estructuras

Las estructuras que uno haya definido en el Area de trabajo de las Estructuras, pueden ser utilizadas en toda la aplicacin; como si se tratara de un tipo de datos. Para poder hacer uso de la estructura, es imprescindible que primero se declare una variable, y el tipo de esta variable sea la estructura definida. Tambin podr utilizarse como tipo de dato de parmetro de una funcin, o bien de otra estructura.

Ej.

persona yo

yo.nombre= "Ricardo"

yo.apellido="Pavez"

yo.edad= 27

if yo.edad