Sei sulla pagina 1di 59

Manual de Power Builder

PowerBuilder 7.0
Definicin. PowerBuilder es un entorno grfico de programacin que est compuesto de
diferentes herramientas que permiten el desarrollo rpido de aplicaciones. Con estas
herramientas se pueden desarrollar aplicaciones Cliente / Servidor a travs de ODBC (Open
DataBase Connectivity) o Drivers Nativos para la Base de Datos.
Una apliacin Cliente / Servidor pone en comunicacin una estacin de trabajo con un
Servidor de Base de Datos Central. Este modelo consiste en utilizar una Base de Datos que
reside en una mquina separada denominada Servidor. El Software de gestin de Base de
Datos se ubica en las estaciones de trabajo remotas (Clientes). Las aplicaciones que se
ejecutan en las estaciones cliente, acceden a los datos que se encuentran en el servidor.

Estacion
Estacion
(Cliente
(Cliente

Servidor
Servidor
(Base
(BasededeDatos)
Datos)

Crear una nueva Librera (Proyecto)


1. Pulse sobre el icono New

del PowerBar1

2. En la ventana de dialogo New, seleccionar la ficha Start Wizards y dentro de esta


seleccionar Application, luego pulsar el botn OK

Ing. Victor Davila

viendaro@gmail.com

Manual de Power Builder


3. Seguidamente se activar una ventana en donde se tendr que ingresar el nombre de la
Librera y Aplicacin con que se desea crear.
Luego pulsar el botn Finish.

Nombre de la Aplicacin
Nombre de la Librera

4. Al terminar se activar la una pantalla en donde se comenzar a trabajar y crear nuestro


proyecto.
Crear una nueva ventana (Formulario)
1.

Pulse sobre el icono New

del PowerBar1.

2.

En la ventana de dilogo New, seleccionar la ficha Objects y dentro de esta


seleccionar Window, luego pulsar el botn OK.

3.

Luego se activar la siguiente venta de diseo.

Ing. Victor Davila

viendaro@gmail.com

Manual de Power Builder

Ventana creada.

Ventana de
Propiedades

Ventana donde se crear el cdigo

4.

Para grabar la ventana, pulse sobre el icono de Diskette

luego ingrese el

nombre de la ventana con que desea grabar y seleccione OK.

Ing. Victor Davila

viendaro@gmail.com

Manual de Power Builder


USO DE CONTROLES
Los controles son objetos que se ubican dentro de una ventana. Loas controles muestran
datos, aceptan datos o validan datos. Los controles responden a una accin del usuario como
por ejemplo un clic de ratn.
Los controles como cualquier otro objeto tiene sus propios atributos y eventos, alguno
controles son objetos Estndar Windows, otros son particulares de PowerBuilder .
Para activar e insertar un control, realizar un clic en la flecha

Cuadro de Texto Esttico. Se utiliza para mostrar ttulos y

mensajes, este control muestra un texto que el usuario solo podr seleccionar mas no
modificar.
Propieades.
Aligment. Especifica el alineamiento del texto en el control. Los valores que puede
seleccionar son: Left!, Center! Y Right!.
BackColor. Especifica un valor numrico correspondiente al color de fondo.
Text. Especifica el texto que se desea mostrar en el control.
Editar Lnea Simple. Es una caja de texto, que el usuario

puede utilizar para ingresar una lnea de texto o en todo caso para visualizar el contenido
de un campo de una tabla de datos.
Propiedades.
Name. Especifica el nombre que se le desea dar a este control.
BackColor. Especifica un valor numrico correspondiente al color de fondo.
Border. Especifica si el control tiene un borde. Los valores son: True (Tiene borde) o
False (No tiene borde)
BorderStyle. Especifica el estilo del borde del control, los valores son: StyleBox!
(Cuadro), StyleLowerred! (Cuadro 3d), StyleRaised! (3d con Sombra) Y StyleShadowBox
(Cuadro con sombra).
DisplayOnly. Especifica si el texto del control es solo de lectura y no permite realizar
cambios por parte del usuario. Los valores son: True (El usuario no podr realizar
cambios) y False (El usuario podr realizar cambios).
Enabled. Especifica si el control est habilitado (Activado).Los valores son: True (El
control est habilitado) y False (El control est dehabilitado).

Ing. Victor Davila

viendaro@gmail.com

Manual de Power Builder


Limit. Especifica el mximo numero de caracteres (0 a 32,767) que se pueden ingresar en
el control (0 es sin lmite)
Text. Especifica el texto que contiene el control
Password. Permite ocultar con una mascara los caracteres digitados.
TextCase. Especifica el formato de ingreso de datos en el cuadro de texto. Los valores
pueden ser: AnyCase! (Cualquier formato), Lower! (Letras minsculas) y Upper! (Letras
maysculas)
. Muestra

una imagen de mapa de bits.

Propieades.
Name. Especifica el nombre que se le desea dar a este control.
Border. Especifica si el control tiene un borde. Los valores son: True (Si tiene borde) o
False (no tiene borde)
PictureName. Especifica el nombre del archivo que contenga el grfico.
Ejemplo:
Desarrollar una aplicacin que permita el ingreso del nombre de usuario y su
respectiva clave de acceso.
1. Crear una nueva aplicacin dando un clic en el icono New

del PowerBar1.

2. En la ventana de dilogo New, seleccionar la ficha Objects y dentro de esta


seleccionar Window, luego pulsar el botn OK.
3. Ubicar en la ventana los siguientes controles y cambiar las propiedades respectivas.
Tres Controles StaticText.
Dos Controles SingleLineEdit
Un Control Picture.
Cambiar las propiedades siguientes.
Control

Propiedad

Valor

Window

Title

Seguridad de Sistema

P_1

Name
PictureName
Text
Font
Text
Text
Name
Text

P_llave
(buscar una imagen)
Ingrese su Nombre y Contrasea
12, Bold
&Usuario
&Contrasea
Sle_Usuario

St_1
St_2
St_3
Sle_1

Ing. Victor Davila

viendaro@gmail.com

Manual de Power Builder


Sle_2

Name
Text
Limit
Password

Sle_Clave

5
(Activado)

Al final el diseo tendr que ser el siguiente.

Para ejecutar la ventana ingresar a File de la barra de men y seleccione Run


Preview, en la ventana de dialogo Run/Preview, seleccione el nombre de la
ventana que desea ejecutar y seleccione el botn OK.

Si desea salir de la ventana realice un clic sobre el icono


USO DEL LENGUAJE
Una Aplicacin PowerBuilder es una aplicacin dirigida por eventos. El usuario controla la
aplicacin que se ejecuta provocando eventos. Por ejemplo: Cada accin que realiza el
usuario como abrir una aplicacin provoca un evento. El lenguaje utilizado para escribir
procedimientos se denomina PowerScript, que es un lenguaje simple y fcil de aprender.
Uso de Comentarios. Si desea poner comentarios en el codigo de una aplicacin utilizar
cualquiera de los dos siguientes smbolos.
/* Indica el inicio de un comentario y */ indica el final de un comentario.
// Indica comentario al final de una lnea.

Ing. Victor Davila

viendaro@gmail.com

Manual de Power Builder


Tipos de Datos. Los identificadores en PowerScript, identifican objetos tales como variables,
etiquetas, funciones, ventanas, controles y mens. Un identificador debe comenzar con una
letra y utilizar como mximo cuarenta caracteres, tambin debe tenerse en cuenta lo siguiente.

No debe contener espacios en blanco.

Puede incluir algunos caracteres no alfabticos como:


Subrayado _
Signo de Dlar $
Signo de Nmero #
Signo de tanto por ciento %

Los identificadores no diferencian las maysculas ni minsculas, el identificador Lib_nombre


es igual a lib_nombre.
Tipos de Datos Estandar. Cierto tipo de datos son intrnsicos al lenguaje PowerScript, pero
la mayora son tipos de datos que son reconocidos en otros lenguajes de programacin.
La siguiente tabla muestra los tipos de datos estndar.
Tipo de Dato.

Descripcin.

Blob (Binary Large Object) Datos sin formato, Por ejemplo una imagen o un prrafo.
Boolean

True o False

Char o Character

Un nico carcter.

Date

Fecha

DateTime

Combinacin de una fecha y una hora.

Decimal

Nmeros decimales con signo hasta una longitud de 18


dgitos, el punto decimal no se cuenta como dgito.

Double

Nmeros en como flotante, tiene hasta 15 dgitos de


precisin y su rango va desde 2.2253-308 a 1.7976-308

Integer, Int

Son enteros con signo de 16 bits.

Long

Son enteros con signo de 32 bits, el rango va desde


2,147,483,648 a +2,147,483,647

Real

Nmeros en coma flotante con una precisin de hasta 6


dgitos. Rango desde 1.1754-38 a 3.4028+38

String

Contiene desde 0 hasta 60000 caracteres ASCII

Time

Hora-

Declaracin de Variables. Para declarar una variable se requiere solamente de dos partes: El
tipo de dato y El nombre de la variable.

Ing. Victor Davila

viendaro@gmail.com

Manual de Power Builder

Inicializacin de Variables
Literales. Se puede dar el valor inicial a la variable al declararla, por ejemplo:
Int GranTotal=3, SubTotal=0
String Metodo=A34
Date Hoy=1998-11-15
Cada uno de los valores utilizados en la expresin anterior para inicializar una
variable literal.
Matrices. Un Array es una coleccin de elementos indexados de tipos de datos simples.
Un Array puede tener uno o mas dimensiones, es una serie de valores con un nico
nombre. Se especifica su tamao al declararla. Por ejemplo.
Int A[5]={1,2,3,4,5}
A los valores contenidos en la matriz se accede por medio del ndice.
Matrices Multi-dimensionales. Las matrices pueden tener mltiples dimensiones.
.

Es utilizado para ejecutar una accin cuando el usuario

de un clic sobre el.


Propieades.
Text. Especifica el texto que se desea mostrar en este botn.
Name. Especifica el nombre que se le desea dar a este control.
Cancel. Especifica si el control es el botn Cancelar (El botn Cancelar dispara el evento
Clicked, si el usuario pulsa la tecla ESC). Los valores son: True (El botn es el botn
Cancelar) y False (El botn no es el botn cancelar)
Ejemplo.
Desarrollar una aplicacin que permita mostrar el nombre del usuario y su respectiva
clave de acceso. La clave de acceso tendr una longitud de 5 caracteres, se debe mostrar
asteriscos (*) cuando el usuario ingrese la clave de acceso.
Abra una nueva ventana e inserte los siguientes controles.
Tres Controles StaticText.
Dos Controles SingleLineEdit
Un Control Picture.
Dos Botones de comando

Ing. Victor Davila

viendaro@gmail.com

Manual de Power Builder


Cambiar las propiedades siguientes.
Control

Propiedad

Valor

Window

Title

Seguridad de Sistema

P_1

Name
PictureName

P_llave
(buscar una imagen)

St_1

Text
Font

Ingrese su Nombre y Contrasea


12, Bold

St_2

Text

&Usuario

St_3

Text

&Contrasea

Sle_1

Name
Text

Sle_Usuario

Sle_2

Name
Text
Limit
Password

Sle_Clave

5
(Activado)

Cb_1

Name
Text

cb_Aceptar
Aceptar

Cb_2

Name
Text

cb_Cancelar
Cancelar

Al final el diseo tendr que ser el siguiente.

Codigo de la ventana
Cb_Aceptar / Clicked
MessageBox("Sistema de Seguridad","Gracias por su visita")
Close(w_ventana_01)
Cb_Cancelar / Clicked
Close(w_ventana_01)

Ing. Victor Davila

viendaro@gmail.com

Manual de Power Builder

Ejemplo
Crear una apliacin que calcule el los descuentos de ley de un trabajador y el sueldo
neto.
El diseo tendr que quedar de la siguiente manera.

Los Controles
sle_Haber, sle_Cts,
sle_Afp, sle_Totd y
sle_Neto tendrn que
estar desactivados.

Codigo del formulario


Cb_calcular / Clicked
Real Haber,Cts,Essalud,Afp,Totd,Neto
Haber=Real(sle_haber.Text)
Essalud=Haber * 0.03
Cts=haber * 0.06
Afp=haber * 0.06
Totd=Essalud + Cts + Afp
sle_Afp.text=String(Afp)
sle_Cts.text=String(Cts)
sle_Essalud.text=String(Essalud)
sle_Totd.Text=String(totd)
sle_neto.Text=String(Neto)
Cb_Otro / Clicked
sle_haber.Text="0"
sle_Afp.text="0"
sle_Cts.text="0"
sle_Essalud.text="0"
sle_Totd.Text="0"
sle_neto.Text="0"

Ing. Victor Davila

viendaro@gmail.com

Manual de Power Builder


Controladores de flujo de programa
Las siguientes sentencias influyen en el flujo de control de un procedimiento que se est
ejecutando. Estos son las sentencias que pueden controlar el orden de ejecucin de las
sentencias de un procedimiento.
IF THEN ELSE.
Una estructura de control utilizada en el Script, que ejecuta una accin si la condicin lgica
es verdadera.
Sintaxis 1
If condicin Then
Bloque de instrucciones
Else
Bloque de instrucciones
Endif
En est sintaxis, primero se evala la condicin lgica, y si el resultado de la
condicin es verdadera, se ejecutarn las instrucciones que se encuentren entre If y
Else, y si el resultado es falso, se ejecutarn las instrucciones que se encuentren entre
Else y Endif.
Sintaxis 2
If condicin Then
Bloque de instrucciones
Endif
En est sintaxis, primero se evala la condicin lgica, y si el resultado de la
condicin es verdadera, se ejecutarn las instrucciones que se encuentren entre If y
Endif.
CHOOSE CASE.
La estructura de control Cose Case, utiliza el valor de una expresin o de una variable para
decidir entre una serie de opciones. El valor de la expresin determina que opcin seleccionar.
Sintaxis:
CHOOSE CASE Expresin.
CASE opcin1
Bloque de Instrucciones.
CASE opcin2
Bloque de Instrucciones.
Ing. Victor Davila

viendaro@gmail.com

10

Manual de Power Builder


CASE opcinn
Bloque de Instrucciones.
CASE ELSE
Bloque de Instrucciones.
END CHOSE.
DO LOOP.
Ejecuta un bloque de instrucciones hasta que se produzca una condicin de finalizacin.
Sitaxis:
1.

Hacer Mientras la condicin sea verdadera.


DO WHILE condicin
Instrucciones.
LOOP

2.

Hacer hasta que la condicin llegue a ser verdadera.


DO UNTIL condicion
Instrucciones.
LOOP

3.

Repetir mientras la condicin sea verdadera.


DO
Instrucciones.
LOOP WHILE condicin

4.

Repetir hasta que la condicin llegue a ser verdadera.


DO
Instrucciones.
LOOP UNTIL condicion.

FOR NEXT.
La sentencia FOR NEXT ejecuta un bloque de sentencias en un determinado numero de
veces, los argumentos que se especifican en la sentencia determina el numero de veces que se
ejecuta el bloque
Sintaxis:
FOR nom_var=Inicial TO final STEP (Incremento)
Bloque de Instrucciones
NEXT.

Ing. Victor Davila

viendaro@gmail.com

11

Manual de Power Builder


Permite crear un grupo de opciones en donde solo se podr

seleccionar una opcin del grupo.


Propiedades
Checked. Retorna un valor lgico el cual especifica si el control se encuentra
seleccionado o no. Si el valor devuelto es:
Trae: significa que est seleccionado.
False: significa que no est seleccionado.
Enabled. Especifica un valor lgico, el cual indica si el control est activado o
desactivado.
Trae: Control Activado
False: Control Desactivado
Ejemplo
Desarrolle una aplicacin que permita calcular el haber bsico de un trabajador de acuerdo
a la categora seleccionada y calcular los descuentos respectivos.
Inserte los siguientes controles.
Control

Propiedad

Valor

sle_1

Name
Text
Name
Text
Name
Text
Name
Text
Name
Text
Name
Text
Name
Text
Name
Caption
Name
Caption
Name
Caption
Name
Caption
Name
Caption
Name
Caption

sle_empleado
en blanco
sle_haber
en blanco
sle_cts
en blanco
sle_afp
en blanco
sle_essalud
en blanco
sle_totald
en blanco
sle_neto
en blanco
rb_generente
Gerente 2500
rb_administradoe
Administrador 2000
rb_secretaria
Secretaria 1500
cb_aceptar
Aceptar
cb_otro
Otro
cb_cerrar
Cerrar

sle_2
sle_3
sle_4
sle_5
sle_3
sle_3
rb_1
rb_2
rb_3
Cb_1
Cb_1
Cb_1

Ing. Victor Davila

viendaro@gmail.com

12

Manual de Power Builder


El diseo del formulario tendr que quedar de la siguiente manera:

Controles desactivados

Cdigo de la aplicacin
Cb_aceptar / Clicked

cb_otro / Clicked

Real haber,cts,afp,essalud,totd,neto
If rb_gerente.checked=true then
haber=2500
end if
If rb_administrador.checked=true then
haber=2000
end if
If rb_secretaria.checked=true then
haber=1500
end if
cts=haber * 0.03
afp=haber * 0.06
essalud=haber * 0.06
totd=cts+afp+essalud
neto=haber - totd
sle_haber.text=string(haber)
sle_afp.text=string(afp)
sle_cts.text=string(cts)
sle_essalud.text=string(essalud)
sle_totald.text=string(totd)
sle_neto.text=string(neto)

sle_empleado.text=""
sle_haber.text="0"
sle_cts.text="0"
sle_afp.text="0"
sle_essalud.text="0"
sle_totald.text="0"
sle_neto.text="0"

Grabe la ventana con w_opciones y luego ejecute .

Ing. Victor Davila

viendaro@gmail.com

13

Manual de Power Builder


(Casilla de verificacin).

Permite crear un grupo de opciones las

cuales podrn ser activadas o desactivadas.


Propiedades
Checked. Retorna un valor lgico el cual especifica si el control se encuentra
seleccionado o no. Si el valor devuelto es:
Trae: significa que est seleccionado.
False: significa que no est seleccionado.
Enabled. Especifica un valor lgico, el cual indica si el control est activado o
desactivado.
Trae: Control Activado
False: Control Desactivado
Ejemplo
Desarrolle una aplicacin que permita calcular el haber bsico de un trabajador de acuerdo
a la categora seleccionada y calcular los descuentos respectivos (solo de los que se
especifique).
Nota : Para dar los nombres de los controles fjese el cdigo de la aplicacin y de acuerdo
a eso ponga los nombres respectivos.
Los nombres de los controles son los mismos que el ejemplo anterior y de los que se
agregaron son:
Control
Propiedad
Valor
cbx_1

name
cbx_cts
caption
CTS 3%
cbx_1
name
cbx_afp
caption
AFP 6%
cbx_1
name
cbx_essalud
caption
ESSALUD 3%
El diseo del formulario tendr que quedar de la siguiente manera

Ing. Victor Davila

viendaro@gmail.com

14

Manual de Power Builder

Cdigo del formulario


cb_aceptar / clicked

Cb_otro / Clicked

Real haber,cts,afp,essalud,totd,neto
If rb_gerente.checked=true then haber=2500
If rb_administrador.checked=true then haber=2000
If rb_secretaria.checked=true then haber=1500
if cbx_cts.checked=true then
cts=haber * 0.03
else
cts=0
end if
if cbx_afp.checked=true then
afp=haber * 0.03
else
afp=0
end if
if cbx_essalud.checked=true then
essalud=haber * 0.03
else
essalud=0
end if
totd=cts+afp+essalud
neto=haber - totd
sle_haber.text=string(haber)
sle_afp.text=string(afp)
sle_cts.text=string(cts)
sle_essalud.text=string(essalud)
sle_totald.text=string(totd)
sle_neto.text=string(neto)

sle_empleado.text=""
sle_haber.text="0"
sle_cts.text="0"
sle_afp.text="0"
sle_essalud.text="0"
sle_totald.text="0"
sle_neto.text="0"
cbx_cts.checked=false
cbx_afp.checked=false
cbx_essalud.checked=false

Cumple la misma funcin que el control SingleLineEdit, con la

diferencia de que a este control se le puede definir mascaras de entrada y salida de datos.
Propiedades.

Ing. Victor Davila

viendaro@gmail.com

15

Manual de Power Builder


DisplaOnly. Especifica si el contenido del control podr ser modificado por el usuario.
Mask. Permite especificar la mascara que se desea usar para el control.
Numeros

: #

String

: @

Date

Time

Character
d
dd
ddd
dddd
m
mm
mmm
mmmm
yy
yyyy
:

Meaning
Day number with no leading zero
Day number with leading zero if appropriate
Day name abbreviation
Day name
Month number with no leading zero
Month number with leading zero if appropriate
Month name abbreviation
Month name
Two-digit year
Four-digit year

Example
9
09
Mon
Monday
6
06
Jun
June
97
1997

Character

Meaning

h
hh
m
mm

Hour with no leading zero (for example, 1)


Hour with leading zero if appropriate (for example, 01)
Minute with no leading zero (must follow h or hh)
Minute with leading zero if appropriate (must follow h
or hh)
Second with no leading zero (must follow m or mm)
Second with leading zero (must follow m or mm)
Microseconds with no leading zeros. You can enter one
to six f's; each f represents a fraction of a second (must
follow s or ss)
Two-character, upper-case abbreviation (AM or PM as
appropriate)
Two-character, lower-case abbreviation (am or pm as
appropriate)
One-character, upper-case abbreviation (A or P as
appropriate)
One-character, lower-case abbreviation (a or p as
appropriate)

s
ss
ffffff
AM/PM
am/pm
A/P
a/p

MaskDataType. Especifica el tipo de dato para el control, los valores pueden ser:
DateMask!, DateTimeMask!, DecimalMask!, NumericMask!, StringMask!, TimeMask!
Min. Especifica el valor mnimo que se podr ingresar en el control.
Max. Especifica el valor mximo que se podr ingresar en el control.
Spin. Especifica si se desea mostrar un scroll de tipo spinner en el control.
Ejemplo
Ing. Victor Davila

viendaro@gmail.com

16

Manual de Power Builder


Realice una aplicacin en donde se ingrese los datos de los alumnos mas las notas
respectivas del curso. Al momento de ingresar las notas, solo deber de aceptar nmeros.
Adems deber calcular el promedio y la condicin.
El diseo deber de quedar de la siguiente manera.

Controles EditMaskControl

em_nota1 y em_nota2
Propiedad (ficha mask)
Mask = ##
MaskDataType: numerickask!
Spin = Activado
Min = 0
Max = 20
Incremente = 1

Cdigo del Formulario.


Cb_calcular / clicker
Real Nota1,Nota2,Promedio
Nota1=real(em_nota1.text)
Nota2=real(em_nota2.text)
promedio=(nota1+nota2)/2
if promedio>=11 then
sle_condicion.text="Aprobado"
else
sle_condicion.text="Desaprobado"
end if
em_promedio.text=string(promedio)

cb_otro / Clicked
sle_alumno.text=""
sle_curso.text=""
em_nota1.text="0"
em_nota2.text="0"
em_promedio.text="0"

Grabe la ventana con w_editmask


Ejecute la ventana, ingrese los datos respectivos y pulse calcular.

Ing. Victor Davila

viendaro@gmail.com

17

Manual de Power Builder

Se utilizan con la finalidad de

insertar un cuadro de lista o una lista desplegable, en donde el usuario podr seleccionar
uno o mas elementos de la lista.
Funciones
Additem. Permite aadir un nuevo elemento dentro de un cuadro de lista o una lista
desplegable.
DeleteItem. Permite eliminar el elemento indicado de un cuadro de lista o una lista
desplegable
Reset. Borra todo los elementos de una lista o una lista desplegable.
SelectedIndex. Retorna el nmero del elemento seleccionado de una lista.
SelectedItem. Retorna el texto del elemento seleccionado.
SelectItem. Retorna el elemento del nmero de elemento indicado.
Text. Retorna el texto del elemento seleccionado.
Ejemplo : Desarrolle una aplicacin en donde se agreguen nuevos elementos a una lista.
El diseo del formulario tendr que quedar de la siguiente manera.
Control
Sle_1
Lb_1

Ing. Victor Davila

Propiedad
Name
Text
Name

Valor
sle_nuevo
en blanco

viendaro@gmail.com

18

Manual de Power Builder


Cdigo del formulario.
cb_agregar / Clicked.
lb_elementos.additem(sle_nuevo.text)
sle_nuevo.text=""
cb_eliminar / clicked
lb_elementos.DeleteItem(lb_elementos.SelectedIndex())
cb_borrar / clicked
lb_elementos.reset()

Ejemplo
Desarrolle una aplicacin en donde se registren nuevos productos, se ingresen la cantidad
y el precio, se calcule el subtotal y el total a pagar y esos se agreguen a unas listas.
El diseo del formulario tendr que quedar de la siguiente manera.
Control

Propiedad

valor

sle_1
ddlb_1
sle_2
em_1
em_2
lb_1
lb_2
lb_3
lb_4
sle_3
sle_4
sle_5
sle_6

name
name
name
name
name
name
name
name
name
name
name
name
name

sle_nuevop
ddlb_productos
sle_productos
em_cantidad
em_precio
lb_productos
lb_cantidades
lb_precios
lb_subtotales
sle_totalc
sle_totalp
sle_totals
sle_totalpagar

LA PROPIEDAD SORTED DE LOS LISTBOX, TENDRN QUE ESTAR


DESACTIVADOS, PARA QUE LOS ELEMENTOS NO SE ORDENEN AL
MOMENTO DE AGREFGAR

Ing. Victor Davila

viendaro@gmail.com

19

Manual de Power Builder

Nota : Los textos de color oscuro


tendrn que estar desactivados

Codigo del formulario


cb_agregar / clicked
ddlb_productos.additem(sle_nuevop.text)
sle_nuevop.text=""
cb_aceptar / clicked
sle_productos.text=ddlb_productos.text
cb_agregar2 / clicked
Real Cantidad,Precio,SubTotal,Total
Cantidad=Real(em_cantidad.text)
Precio=Real(em_precio.text)
SubTotal=Cantidad * Precio
Total=Real(sle_totalpagar.Text)
Total=Total + SubTotal
lb_productos.AddItem(sle_productos.Text)
lb_cantidades.AddItem(em_cantidad.Text)
lb_precios.AddItem(em_precio.Text)
lb_subtotales.AddItem(String(SubTotal))
sle_totalpagar.Text=String(Total)
sle_totalc.text=String(real(sle_totalc.text)+Cantidad)
sle_totalp.text=String(real(sle_totalp.text)+Precio)
sle_totals.text=String(real(sle_totals.text)+SubTotal)
cb_eliminar / Clicked
Integer Indice
Real Cantidad,Precio,SubTotal,Total
Indice=lb_productos.SelectedIndex()
Cantidad=Real(lb_cantidades.text(Indice))
Precio=Real(lb_precios.text(Indice))

Ing. Victor Davila

viendaro@gmail.com

20

Manual de Power Builder


SubTotal=Real(lb_subtotales.text(Indice))
sle_totalc.text=String(real(sle_totalc.text) - Cantidad)
sle_totalp.text=String(real(sle_totalp.text) - Precio)
sle_totals.text=String(real(sle_totals.text) - SubTotal)
sle_totalpagar.Text=sle_totals.text
lb_productos.DeleteItem(Indice)
lb_cantidades.DeleteItem(Indice)
lb_precios.DeleteItem(Indice)
lb_subtotales.DeleteItem(Indice)
cb_limpiar / Clicked
lb_productos.Reset()
lb_cantidades.Reset()
lb_precios.Reset()
lb_subtotales.Reset()
ddlb_productos.Reset()
sle_productos.Text=""
em_cantidad.Text="0"
em_precio.Text="0"
sle_totalc.Text="0"
sle_totalp.Text="0"
sle_totals.Text="0"
sle_totalpagar.Text="0"
Como trabajo prctico desarrolle la siguiente aplicacin.
Agregar. Permite agregar nuevos empleados a la lista
Aceptar. Muestra el empleado seleccionado de la lista en Empleado Seleccionado.
Otro. Limpia todo los controles.
Nota: Cada vez que se seleccione una categora deber de calcular el haber bsico, los
descuentos y el sueldo neto.
Cada vez que se active uno de los check (Descuentos), deber de volver a calcular todo.

Ing. Victor Davila

viendaro@gmail.com

21

Manual de Power Builder


Este otro ejemplo es similar al anterior, con la diferencia de que tendr que ir agregando
en las listas e ir sumando los totales en la parte inferior.

Ing. Victor Davila

viendaro@gmail.com

22

Manual de Power Builder


FUNCIONES DENTRO DE POWERBUILDER
PowerBuilder posee una gran variedad de funciones que permiten al programador desarrollar
sus aplicaciones de una manera fcil.
1.

Funciones de Cadena

Asc. Obtiene el cdigo ASCCII correspondiente al primer carcter de una cadena.


Ejemplo : Asc ("A")

Char. Retorna el carcter correspondiente al cdigo ASCII.


Ejemplo : Char (42)

Fill. Retorna una cadena con una longitud determinada del carcter especificado.
Ejemplo : Fill ("*",20)

Left. Retorna un nmero especificado de caracteres comenzando por la izquierda.


Ejemplo : Left ("Henry Salcedo",4)

LeftTrim. Retorna la misma cadena de caracteres sin los espacios en blanco del
lado izquierdo de la cadena
Ejemplo : LeftTrim (" Henry Salcedo")

Len. Retorna la longitud de la cadena.


Ejemplo :
Longs_nombre
s_nombre=Len(sle_Nombres.text)

Lower. Retorna una copia de una cadena convertida a minsculas.


Ejemplo : Lower("HENRY SALCEDO")

Mid. Retorna una cadena que contiene un nmero especificado de caracteres,


comenzando de una posicin indicada.
Ejemplo : Mid("HENRY SALCEDO",5,5)

Pos. Retorna la posicin donde se encuentra una cadena dentro de otra cadena
Ejemplo : Pos("HENRY SALCEDO","SA")

Reverse. Cambia el orden de los caracteres de una cadena.


Ejemplo : Reverse ("HENRY SALCEDO")

Right. Retorna un nmero especificado de caracteres, comenzando del lado


derecho..
Ejemplo : Right ("HENRY SALCEDO",3)

RightTrim. Retorna la misma cadena de caracteres sin los espacios en blanco del
lado derecho de la cadena

Ing. Victor Davila

viendaro@gmail.com

23

Manual de Power Builder


Ejemplo : RightTrim ("Henry Salcedo ")

Space. Retorna una cadena de longitud determinada, conteniendo espacios en


blanco.
Ejemplo : Name = Space (10)

Trim. Retorna la misma cadena de caracteres sin los espacios en blanco del lado
izquierdo y derecho de la cadena
Ejemplo : Trim (" Henry Salcedo ")

Upper. Retorna la misma cadena de caracteres convertidas a letras maysculas.


Ejemplo : Upper (" Henry Salcedo")

2.

Funciones de Fecha

Day. Retorna el da del mes de una fecha indicada.


Ejemplo : Day (1994-01-31)

DayName. Retorna el nombre del da de la semana


Ejemplo :
string dayn
Date fecha
fecha=Date(em_1.text)
dayn=dayName(Fecha)

DayNumber. Retorna un nmero que representa el da de la semana.


Ejemplo :
Integer dayn
Date fecha
fecha=Date(em_1.text)
dayn=dayNumber(Fecha)

DaysAfter. Retorna el nmero de das de una fecha despus de la actual.


Ejemplo :
Integer dayn
Date fecha
fecha=Date(em_1.text)
dayn=daysAfter(2001-02-19,Fecha)

Hour. Retorna un entero que corresponde al nmero de horas de una fecha dada.
Ejemplo :
Integer Hora

Ing. Victor Davila

viendaro@gmail.com

24

Manual de Power Builder


Hora=Hour(Now())
MessageBox("Hora",Hora)

Minute. Retorna un entero que corresponde a los minutos de una hora dada.
Ejemplo :
Integer Hora
Hora=Minute(Now())

Now. Retorna la hora del sistema.


Ejemplo :
Time Hora
Hora=Now()

Second. Retorna el numero de segundos de una hora dada.


Ejemplo :
integer Hora
Hora=Second(Now())

Today. Retorna la fecha actual del sistema


Ejemplo :
Date Fecha
Fecha=Today()

Year. Retorna el ao de una fecha dada


Ejemplo :
Integer Ao
Ao=Year(Today())

3.

FUNCIONES NUMERICAS

Abs. Obtiene el valor absoluto de un numero


Ejemplo:
i=4
num = Abs(i)
num = Abs (4)
num = Abs (+4)
num = Abs (-4)
Abs (-4.2)
Esta sentencia retorna 4.2.

Ing. Victor Davila

viendaro@gmail.com

25

Manual de Power Builder

Ceiling. Obtiene el menor nmero entero que es menor o igual al nmero


especificado.
Ejemplo:
Dec = 4.8
Num = Ceiling (dec)
Decimal num
Num = ceiling (-4.2)
Num = ceiling (-4.8)
Esta sentencia retorna -4.

Cos. Obtiene el coseno del ngulo debe estar en readianes.


Ejemplo: Cos (0)
Cos(1)
Esta sentencia retorna -1.
Cos(pi(1))
Esta sentencia retorna -1.

Int. Obtiene el menor nmero entero que es menor o igual al nmero especificado.
Ejemplo: Int(3.2)
Int(3.8)
Int(-3.2)
Int(-3.8)
La siguiente sentencia retorna -4.0.

Max. Retorna el mayor de dos nmeros.


Ejemplo: Max (4,7)
Max (-4,-7)
Esta expresin retorna -4.

Min. Retorna el menor de dos nmeros.


Ejemplo: Min (4,7)
Min (-4,-7)
Esta expresin retorna -7.

Mod. Obtiene el modulo de dos nmeros (el resultado obtenido de la divisin del
primer expresin con el segundo).

Ing. Victor Davila

viendaro@gmail.com

26

Manual de Power Builder


Ejemplo:
Integer Residuo
Residuo=Mod(20,6)

Pi. Obtiene el valor de Pi


Ejemplo: Pi( ) => 3.14159265358979323

Round. Obtiene un nmero redondeado a un nmero decimal elegido


Ejemplo:
Round (9.625,2) => 9.63
Round (9.6,3) => 9.600

Sign. Obtiene un nmero (-1, 0, o 1) indicando el signo de una expresin


Ejemplo:
Sign (0) => Retorna 0 por que 0 no tiene signo
Sign (9) => Retorna 1
Sign (-9) => Retorna -1

Sqrt. Obtiene la raz cuadrada de un nmero dado.


Ejemplo:
Sqrt (4) => Retorna 2
Sign (3) => Retorna 1.7320

Truncate. Obtiene un nmero truncado a una determinada expresin decimal.


Ejemplo:
Truncate (9.22,1) => Retorna 9.2
Truncate (9.9,0) => Retorna 9

4.

Funciones de Conversin
Dec. Convierte el contenido de una cadena a un nmero decimal.
Ejemplo :
Real Numero
Numero=Dec("14.25")
Double. Convierte el contenido de una cadena a un nmero doble
Ejemplo :
Real Numero
Numero=Double("14.25")
Integer. Convierte el contenido de una cadena a un nmero entero
Ejemplo :

Ing. Victor Davila

viendaro@gmail.com

27

Manual de Power Builder


Integer Numero
Numero=Integer("14")

Real. Convierte el contenido de una cadena a un nmero real


Ejemplo :
Real Numero
Numero=real("14.25")
String. Convierte un nmero a un cadena de caracteres.
Ejemplo :
String Cadena
Cadena=String(14.25)
Date. Convierte una cadena a una fecha
Ejemplo :
Date Fecha
Fecha=Date(10-05-2001)
Ejemplo de una aplicacin

Desarrolle una aplicacin que permita el ingreso de los datos personales de los
alumnos. Se debe de ingresar los nombres, apellido paterno, apellido materno, direccin,
especialidad, semestre, turno, sexo y fecha de registro.
El cdigo deber de ser autogenerado de la siguiente manera: Tomar el primer carcter
del apellido paterno mas un nmero consecutivo que tendr que ir generndose.
El diseo del formulario deber de ser de la siguiente manera.

Ing. Victor Davila

viendaro@gmail.com

28

Manual de Power Builder

Control Edit Mask


Tipo Fecha
Propiedad Item de:
CmbSexo:
Masculino
Femenino
Especialidad:
Computacin e Informtica
Secretariado Ejecutivo
Enfermera Tcnica
Semestre : del 1 al 6
Turno:
Maana
Tarde
Noche

Grabe la ventana con el nombre de : w_funciones


CDIGO DEL FORMULARIO.
Window / open
Limpiar_Controles();
em_fecha.text=String(today())
cb_aceptar / Clicked
Integer Nregs
String Codigo
Nregs=Lb_Alumnos.TotalItems()+1
Codigo=Left(sle_apepat.text,1)+Left(sle_apemat.text,1)+Trim(string(Nregs))
Codigo=Right("000"+trim(Codigo),3)
Lb_Alumnos.AddItem(Sle_Apepat.text + " " + sle_apemat.text + ",
sle_nombres.text)
lb_codigos.AddItem(Codigo)
sle_codigo.Text=Cdigo

"

cb_nuevo / Clicked
Realcelo ud.

Ejecute su ventana, ingrese los datos respectivos

Ing. Victor Davila

viendaro@gmail.com

29

Manual de Power Builder

Pulse el botn Aceptar para generar el cdigo y agregar a la lista los datos.

El cdigo ha sido generado con la primera letra del apellido paterno + la primera
letra del apellido materno + un nmero correlativo.

Ing. Victor Davila

viendaro@gmail.com

30

Manual de Power Builder


FUNCIONES DEFINIDAS POR EL USUARIO
El lenguaje PowerScript tiene una gran variedad de funciones. Pero si en el proceso de
desarrollo se necesita codificar u proceso que se repita mas de una vez entonces es necesario
crear una funcin definida por el usuario.
Una funcin definida por el usuario es una coleccin de sentencias que realizan algn
proceso. Para construirla se realiza en el Function Painter, una vez construida se graba la
funcin para su posterior uso.
Tipos de Funcin.
Funciones Globales. Las cuales no estn asociadas a ningn objeto de la aplicacin y son
accesibles desde cualquier punto de la aplicacin.
Funciones de nivel objeto. Estas funciones estn definidas por un tipo particular de ventana,
men o objeto de usuario
Nota : Las nombres de las funciones pueden tener hasta una longitud de 40 caracteres
Crear una funcin que permita limpiar los controles del ejemplo anterior.

Abra la ventana anterior (w_funciones)

Abra el la ventana de script de la ventana

Abra la lista de controles de la ventana de cdigos y seleccione (Functions)

Seguidamente se activar la siguiente ventana en donde se tendr que ingresar el


nombre de la funcin que se desea crear y especificar si se desea que la funcin retorne
un valor.

Ing. Victor Davila

viendaro@gmail.com

31

Manual de Power Builder

Alcance de la funcin

Indica si la funcin
retornar valores

Nombre de la funcin a
crear
Ventana en donde se escribir el cdigo de la funcin

Luego de crear la funcin escriba el cdigo siguiente.


sle_nombres.Text=""
sle_apepat.Text=""
sle_apemat.Text=""
sle_direccion.Text=""
ddlb_sexo.SelectItem(0)
ddlb_especialidad.SelectItem(0)
ddlb_semestre.SelectItem(0)
ddlb_turno.SelectItem(0)

Grabe la funcin grabando la ventana y cierre la ventana de la funcin.

Agregue la siguiente lnea de cdigo a los siguientes eventos de controles.


Window / open
Limpiar_Controles();
em_fecha.text=String(today())
Cb_Aceptar / Clicked
Integer Nregs
String Codigo
Nregs=Lb_Alumnos.TotalItems()+1
Codigo=Left(sle_apepat.text,1)+Left(sle_apemat.text,1)+Trim(string(Nregs))
Codigo=Right("000"+trim(Codigo),3)
Lb_Alumnos.AddItem(Sle_Apepat.text + " " + sle_apemat.text + ",
sle_nombres.text)
lb_codigos.AddItem(Codigo)
sle_codigo.Text=Codigo
Limpiar_Controles();

"

Cb_nuevo / Clicked
Limpiar_Controles();

Ejecute la ventana llene los datos respectivos y pulse el botn Cancelar, deber de
limpiar los controles.

Como trabajo prctico cree una funcin que permita


Desactivar los controles: (f_desactivar)
sle_codigo, em_fecha, sle_nombres, sle_apepat, sle_apemat, sle_direccion, ddlb_sexo,
ddlb_especialidad, ddlb_semestre, ddlb_turno y cb_aceptar

Ing. Victor Davila

viendaro@gmail.com

32

Manual de Power Builder


Activar los controles: (f_activar)
sle_codigo, em_fecha, sle_nombres, sle_apepat, sle_apemat, sle_direccion, ddlb_sexo,
ddlb_especialidad, ddlb_semestre, ddlb_turno y cb_aceptar

Los controles tendrn que estar activados al momento de ejecutar la ventana, y cuando
se pulse el botn nuevo tendrn que activarse con los controles en blanco.

Cuando se pulse aceptar los controles tendrn que desactivarse nuevamente.

Ing. Victor Davila

viendaro@gmail.com

33

Manual de Power Builder


Otro Ejemplo
Realice una aplicacin que permita calcular el sueldo neto de un trabajador y ademas los
descuentos respectivos.
Los descuentos y el sueldo neto se tendrn que ir calculando cada vez que se cambie la
categora o algn descuento (para calcular los descuentos y sueldo neto crear una funcin)
El diseo del formulario es el siguiente:
Para dar nombre a los controles como prctica tendr que fijarse el cdigo de la aplicacin
y de acuerdo a eso poner los nombres respectivos.

Cdigo de la aplicacin.
Crear una funcin con el nombre de Calcular
Para crear la funcin, seleccione la opcin Insert de la barra de men, y dentro de esta
seleccione Function.

Aqu se escribe el
cdigo de la funcin

Ing. Victor Davila

Seleccione (None)

Nombre de la funcin

viendaro@gmail.com

34

Manual de Power Builder


El cdigo de la funcin es el siguiente:
REAL haber,cts,afp,essalud,totald,neto
haber=REAL(sle_haber.Text)
IF cbx_cts.CHECKED=TRUE then
cts=haber*0.03
ELSE
cts=0
end if
if cbx_afp.checked=true then
afp=haber*0.06
else
afp=0
end if
if cbx_essalud.checked=true then
essalud=haber*0.06
else
essalud=0
end if
totald=cts+afp+essalud
neto=haber - totald
em_cts.Text=String(cts)
em_afp.Text=String(afp)
em_essalud.Text=String(essalud)
em_totald.Text=String(totald)
em_neto.Text=String(neto)
return

Cb_agregar / Clicked
ddlb_empleados.Additem(sle_nuevoe.Text)
sle_nuevoe.Text=""
cb_aceptar / Clicked
sle_empleado.Text=ddlb_empleados.Text
rb_gerente / Clicked
sle_haber.text="2500"
Calcular();
rb_administrador / Clicked
sle_haber.text="2000"
Calcular();
rb_secretaria / Clicked
sle_haber.text="1000"
Calcular();
cb_otro / clicked
sle_empleado.Text=""
sle_haber.Text="0"
em_cts.Text="0"
em_afp.Text="0"
em_essalud.Text="0"
em_totald.Text="0"
em_neto.Text="0"
cbx_cts.checked=False
cbx_afp.checked=False
cbx_essalud.checked=False

cbx_cts cbx_afp cbx_essalud / Clicked (en los tres poner el mismo cdigo)
Calcular();
Ejecute la aplicacin e ingrese los datos para poder calcular.

Ing. Victor Davila

viendaro@gmail.com

35

Manual de Power Builder


Este control contiene una serie de pginas donde cada pgina podr

contener a su vez controles


Propiedades.
Aligment. Especifica la alineacin del texto en la etiqueta de cada pgina: Los valores son
: Left!, Center!, Right!.
BackColor. Especifica un valor numrico correspondiente al color del fondo.
Enabled. Activa o Desactiva el control.
Perpendicular Text. Especifica si el titulo de cada pgina se alinear en forma vertical.
SelectedTab. Especifica cual de las paginas se encuentra seleccionada.
Para insertar mas pginas dentro de este control, ubique el puntero del mouse en la parte
superior de este control, realice un click con el botn contrario y seleccione la opcin
InsertTabPage.

Para eliminar una pgina, realice un click contrario sobre la pgina que desee eliminar y
seleccione la opcin Delete. (no se olvide que tendr que realizar click contrario dentro de
la pgina)

Ing. Victor Davila

viendaro@gmail.com

36

Manual de Power Builder


Ejemplo:
Desarrollar una aplicacin que permita ingresar los datos de los trabajadores. Usar un
control Tab con dos pginas.

En la primera pgina se debe ingresar los datos generales del trabajador.

En la segunda pgina se debe seleccionar la condicin del trabajador (Contratado o


Nombrado). Si es Contratado, su haber bsico ser 1500 y si es nombrado 2000.
Si es Nombrado realizar los descuentos de ley, de lo contrario es descuento ser 0.
Nota: Para cambiar el nombre de la pgina dentro de un tab, realice un clic contrario
dentro de la pgina que quiere cambiar el nombre, luego en la ventana de propiedades
seleccione la propiedad name y ponga el nombre que desee.
El diseo del formulario tendr que quedar de esta manera: (grabe con w_tabpage).
Diseo de la primera pgina
Control

Propiedad Valor

Tab_1

Name

tabpage_1 Name
Caption
tabpage_2 Name
Caption

Tab_Trabajador
Tabpg_datos
Datos del Trabajador
Tabpg_sueldo
Sueldo del trabajador

Dentro de Tabpg_datos va:


Sle_1

Name

sle_codigo

Sle_2

Name

sle_nombres

Sle_3

Name

sle_apellidos

Sle_4

Name

sle_direccion

Sle_5

Name

sle_dni

em_1

Name

em_fecha

cb_1

Name

cb_aceptar

Caption

Aceptar

Diseo de la segunda pgina

Dentro de tab_pg_sueldo va:


rb_1

Name

rb_contratado

Caption

Contratado

Name

rb_nombrado

Caption

Nombrado

Sle_6

Name

sle_haber

Sle_7

Name

sle_afp

Sle_8

Name

sle_cts

Sle_9

Name

sle_essalud

Sle_10

Name

sle_totald

Sle_11

Name

sle_neto

cb_2

Name

cb_otro

Caption

Otro

Name

cb_cerrar

Caption

Cerrar

rb_2

cb_1

Ing. Victor Davila

viendaro@gmail.com

37

Manual de Power Builder


Crear una funcin con el nombre : Calcular
Cdigo de la funcin.
Real haber,afp,cts,essalud,neto,totd
haber=real(tab_trabajador.tabpg_sueldo.sle_haber.text)
cts=haber*0.03
afp=haber*0.06
essalud=haber*0.06
totd=cts+afp+essalud
neto=haber - totd
tab_trabajador.tabpg_sueldo.sle_afp.text=string(afp)
tab_trabajador.tabpg_sueldo.sle_cts.text=string(cts)
tab_trabajador.tabpg_sueldo.sle_essalud.text=string(essalud)
tab_trabajador.tabpg_sueldo.sle_totald.text=string(totd)
tab_trabajador.tabpg_sueldo.sle_neto.text=string(neto)
Cdigo del formulario
w_tabpage / Open
Tab_Trabajador.Tabpg_sueldo.Enabled=False
Tab_Trabajador.tabpg_datos.Sle_codigo.Setfocus()
cb_aceptar / Clicked
tab_trabajador.tabpg_datos.enabled=False
tab_trabajador.tabpg_sueldo.enabled=true
tab_trabajador.SelectedTab=2
rb_contratado / Clicked
ztab_trabajador.tabpg_sueldo.sle_haber.text="1500"
Calcular();
rb_nombrado / Clicked
tab_trabajador.tabpg_sueldo.sle_haber.text="2000"
Calcular();
Ejecute el formulario, ingrese los datos del trabajador, luego pulse el botn Aceptar
para pasar a la siguiente pgina y seleccione la condicin del trabajador

Ing. Victor Davila

viendaro@gmail.com

38

Manual de Power Builder


DISEO DE MENUS
MENUS. Para aadir un men, primero es preciso crearlo y despus asociarlo a la ventana en
que va a aparecer. Esta asociacin se realiza desde el Window Painter.
Ejemplo
Disear un men con las siguientes caractersticas.
Alumnos
Registro de nuevos alumnos Alt + R
Matricula de alumnos
Alt + M
Consulta por seccin
Alt + C
Cursos
Registro de nuevos cursos
Actualizacin
Alt + A
Profesores
Registro de nuevos profesores
Alt + P
Actualizacin de datos
Salir
Salir de la Aplicacin
Solucin

Seleccione el icono New

del PowerBar1.

Dentro de la ventana New seleccionar la ficha Objects y dentro esta seleccionar el


objeto Menu

Seguidamente se activar la siguiente ventana.

WYSIWYG Menu View


(Presentacin preliminar del men)

Tree Menu View


(Estructura del men)

Propiedades

Ventana de Cdigo

Ing. Victor Davila

viendaro@gmail.com

39

Manual de Power Builder

Seleccione untitled0 del TREE VIEW, realice un click con el botn contrario y
seleccione la opcin Insert Sibmenu Item

Luego ingrese el ttulo para la primera opcin (en este caso escriba &Alumnos)

Seleccione la opcin &Alumnos y realice un click con el botn contrario, en la ventana


que se despliega seleccione la opcin Insert Submenu Item .

Escriba el ttulo para el nuevo submen (Escriba: &Registro de nuevos


alumnos).

Para activar el acceso con Alt + R a la opcin Registro de nuevos alumnos , en la


ventana de propiedades busque la opcin Shortcut Key y dentro de esta seleccione la
letra R, y active el check de Shortcut Alt

Ing. Victor Davila

viendaro@gmail.com

40

Manual de Power Builder

Para crear el siguiente elemento de Alumnos. Seleccione &Alumnos del Tree View,
realice un click con el botn contrario, en la ventana que se despliega seleccione la
opcin Insert Submenu Item.

Escriba el ttulo para el nuevo item. (&Matricula de alumnos).

Para activar el acceso con Alt + M a la opcin Matricula de alumnos , en la ventana de


propiedades busque la opcin Shortcut Key y dentro de esta seleccione la letra M, y
active el check de Shortcut Alt

Para crear la opcin Consulta por seccin, siga el mismo procedimiento que utiliz
para crear : Matricula de alumnos.

Para crear la opcin &Cursos, seleccione untitled0 de la ventana de TREE VIEW.

Realice un click con el botn contrario y seleccione la opcin Insert Submenu Item.

Escriba el ttulo para la nueva opcin (en este caso : &Cursos)

Ing. Victor Davila

viendaro@gmail.com

41

Manual de Power Builder

Para crear los sub menus de Cursos, siga los mismos procedimientos realizados para los
sub mens anteriores.
Al final el diseo del men tendr que quedar de la siguiente manera.

Grabe el men con el nombre : m_principal.


ENLAZAR UN MEN A UNA VENTANA

Abra una nueva ventana (Window).

En la ventana de propiedades seleccione la opcin MenuName, Realice un click sobre

el botn

En la ventana que se activa seleccione el men que desea asociar a la ventana (En este
caso seleccione m_principal).

Grabe la ventana con el nombre w_principal y cierre, ejecute la ventana.


ESCRIBIR EL CODIGO DE UN MENU

Abra el men que se ha creado anteriormente (m_principal).

Seleccione la opcin dentro del men al cual desea asociar el cdigo.

Realice un click con el botn secundario y seleccione la opcin Script.

Ing. Victor Davila

viendaro@gmail.com

42

Manual de Power Builder

En la venta de cdigo escriba la ventana o accin que desee que realice el


men. (en este caso escriba Open (Nombre_Ventana)

El cdigo de la opcin cerrar es: Close(w_principal)

De la misma manera escriba los cdigos de las dems opciones de men.

Grabe el men y cierre. Ejecute la ventana w_principal.


CREAR UNA BARRA DE HERRAMIENTAS

Para crear una barra de herramientas, es necesario que la ventana en donde se va a insertar la
barra de herramientas sea del tipo MDI (Multiple Document Interface)
Para nuestro ejemplo utilizaremos el men que se ha creado anteriormente.

Abra el objeto men que se ha creado anteriormente (m_principal)

Seleccione el elemento de men al cual desea asociar un icono de la barra de


herramientas (en este caso seleccione Registro de nuevos alumnos).

En la ventan de propiedades seleccione active la ficha Toolbar, y en la

opcin

ToolbarItemText (Texto del elemento de la barra de herramientas), escriba el texto que

Ing. Victor Davila

viendaro@gmail.com

43

Manual de Power Builder


se desea mostrar al momento de ubicar el mouse sobre dicho icono ( en este caso escriba
: Registro de nuevos alumnos)

En la opcin ToolbarItemName, seleccione el icono que desea mostrar en la barra de


barra de herramientas.

En la opcin ToolbarItemDownName (es opcional), seleccione el icono que desea


mostrar cuando se pulsa sobre este en la barra de herramientas.

El diseo tendr que quedar de la siguiente manera.

Barra de Herramientas que se


ha creado

Nota: No es necesario crear el cdigo para la barra de herramientas, esto se debe a que
se los iconos de la barra de herramientas, se encentran enlazados a las opciones de
men.
Para crear los otros iconos de la barra de herramientas, siga los mismos procedimientos
anteriores.
Para cambiar el tipo de ventana a mdi, realice lo siguiente:
Abra la ventana que desea modificar.

Ing. Victor Davila

viendaro@gmail.com

44

Manual de Power Builder


En la ventana de propiedades, busque la opcin Window Type, y seleccione la
opcin Mdi!
Ejecute la ventana para ver el resultado.

Si desea que todas la ventanas que se abran desde la barra de men, se activen dentro de
la ventana principal, tendr que cambiar la propiedad WindowType, de las otras
ventanas a Child!.
Este es un ejemplo de una ventana tipo child!.
La ventana que se activa, solo podr moverse dentro de la ventana principal.

Ing. Victor Davila

viendaro@gmail.com

45

Manual de Power Builder


CREAR UNA NUEVA BASE DE DATOS UTILIZANDO EL DISEADOR DE BASE
DE DATOS DEL POWER BUILDER 7.0
1. Una vez, que se encuentre dentro del power builder, seleccionar el icono de DataBase
2. Dentro de la ventana de base de datos, seleccionar la carpeta de Uitilities y expandir.

3. Seleccionar la opcin Create ASA Database y realizar doble clic, se activar la siguiente
pantalla.

4. Seleccione el botn Browse, busque la carpeta en donde desea grabar su base de datos,
indique el nombre de la misma, y realice un clic sobre el botn Guardar.

Ing. Victor Davila

viendaro@gmail.com

46

Manual de Power Builder


5. Dentro de la ventana Create Adaptive Server Anywhere DataBase, Seleccione el botn
Ok
6. Una, vez que se haya creado, se observar que dentro de la base de datos ODBC, se
agrego la nueva conexin que se ha creado.

7. Si se desea cambiar el nombre de la conexin, realice doble clic sobre la conexin.


8. En la ventana que se activa, seleccione Profile Name, e ingrese el nuevo nombre de la
conexin. Ejemplo (Conexin_Alumnos) y seleccione el botn Ok

La conexin, se mostrar con el


nuevo nombre creado.
Luego expanda la nueva
conexin.

Ing. Victor Davila

viendaro@gmail.com

47

Manual de Power Builder


9. Si se desea crear tablas de datos, dentro de la conexin creada, seleccione la carpeta
Tables y realizar un clic con el botn derecho.

10. En la ventana de diseo de tablas, ingresar el nombre del campo, tipo de dato y ancho del
mismo

11. Para grabar la nueva tabla de datos, seleccione el icono de guarda, en la ventana que se
activa, ingrese el nombre de la tabla y seleccione el botn Ok.

12. Expanda la carpeta Tables y ver que la nueva tabla se ha agregado a la lista de tablas.

13. Para crear un ndice (Llave Principal) dentro de la tabla creada, seleccione la tabla, realice
un clic con el botn derecho, seleccione New, y luego Primary Key.

Ing. Victor Davila

viendaro@gmail.com

48

Manual de Power Builder

14. En la ventana de Primary Key (Conexin_Alumnos), Active el check del campo, del cual
desea crear el ndice principal y luego grabe la tabla de datos.

15. Dentro de la ventana Object Layout, se mostrar la tabla de datos, con su clave creada, tal
como se muestra a continuacin.

Ing. Victor Davila

viendaro@gmail.com

49

Manual de Power Builder

Cree la tabla Datos_Alumnos, de la misma manera, el diseo es el siguiente:

La llave principal ser Codigo_Alumno.


Al terminar de crear se deber de mostrar las dos tablas creadas, cada una con sus
respectivas llaves creadas, tal como se muestra a continuacin

Claves Forneas (Foreign Key)


Las Clave fornea es una combinacin de una o mas columnas de una tabla que sirven para
identificar a una o mas columnas de otra tabla, una clave fornea, relaciona informacin de

Ing. Victor Davila

viendaro@gmail.com

50

Manual de Power Builder


dos tablas. Una tabla puede contener varias claves forneas, ya que su informacin puede
estar relacionada con mas de una tabla.
Crear una clave fornea para la tabla Datos_Alumnos.
1. Seleccione la tabla Datos_Alumnos, dentro de la carpeta Tables, dar un clic con el botn
derecho, en el men que se activa, seleccionar New, seguido de Foreign Key.
2. En la ficha general de Foreign Key, ingresar el nombre de la clave (Foreign Key, puede
ser

el

mismo

nombre

del

campo)

seleccionar

el

campo

Forneo

(Codigo_Especialidad) y el la ficha Primary Key, seleccionar la tabla (Table), de donde


viene

el

campo

forneo

(Especialidades)

activar

el

campo

principal

(Codigo_Especialidad)

3. Despus de haber creado la clave fornea, grabar la tabla.


4. En la venta de Layout, se mostrar las dos tablas con su respectiva llave, tal como se
muestra a continuacin.

Ing. Victor Davila

viendaro@gmail.com

51

Manual de Power Builder


CREAR UNA CONSULTA DE DATOS
Crear una consulta que muestre los datos de la tabla Especialidades.
1.

Seleccione el icono New del PowerBar1

2.

Dentro de la ventana New, seleccionar la ficha Database, opcin Query y pulsar el


botn Ok.

3.

Seleccionar la tabla de donde se desea crear la consulta de datos (Especialidades) y


pulsar el botn Open.

4.

Seleccionar los campos que se incluirn en la Consulta.

Tabla seleccionada
para la consulta

Ing. Victor Davila

Campos Seleccionados en
la consulta

viendaro@gmail.com

52

Manual de Power Builder


5.

Para realizar una presentacin preliminar, realice un clic sobre el icono


de la vista, seleccione el siguiente icono

6.

, para salir

Grabe la consulta, seleccionando el siguiente icono

Consulta con Parmetros o Argumentos. Son consultas que retornan datos de acuerdo a un
parmetro o argumento ingresado.
Crear una consulta que muestre los datos de tabla especialidades, de acuerdo al cdigo
de especialidad ingresado.
1. Repetir los 5 procedimientos anteriores.
2. Estando dentro de la venta de diseo de consultas, seleccione Design
de la barra de men, seguido de la opcin Retrieval Arguments...
3. En la ventana que se activa (Especyfi Retrieval Arguments...), ingresar el nombre de la
variable (Cod_Esp) a crear, especifique el tipo de dato para el mismo (String), luego
seleccione el botn OK

4.

Seleccione

la

columna

(Column)

que

se

relacione

con

el

Argumento.

(Codigo_Especialdad), luego el operador (=) y el valor (Value) , en este caso como valor
ira el argumento que se ha creado, para lo cual realice un clic con el botn derecho sobre
este casillero, seleccione la opcin Arguments.., en la ventana que se activa seleccionar el

Ing. Victor Davila

viendaro@gmail.com

53

Manual de Power Builder


argumento creado (en este caso Cod_Esp), luego pulse el botn Paste. Deber de quedar
de la siguiente manera,

5.

Al realizar una presentacin preliminar

, se activar una ventana en donde tendr

que ingresar el valor para el argumento que se ha creado. Ingresar el valor y pulsar el
botn OK

Tal como se muestra en el ejemplo,


se mostrarn los datos, de acuerdo a
valor ingresado (Argumento)

6.

Para salir de la consulta, seleccione el siguiente icono

7.

Grabe la consulta, seleccionando el siguiente icono

Ing. Victor Davila

.
.

viendaro@gmail.com

54

Manual de Power Builder


Crear una consulta relacionando dos tablas de datos. Cuando una tabla de datos contiene
campos de otras tablas (Llaves forneas), como es el caso de la tabla Datos_Alumnos, es
recomendable relacionarla con la tabla principal (Especialidades) tal como se vio en
clases anteriores.
Si se desea crear una consulta de la tabla Datos_Alumnos, y que muestre el nombre de la
especialidad en el campo Codigo_Especialidad, las dos tablas tendrn que estar
relacionadas.
1.

Seleccione el icono New del PowerBar1

2.

Dentro de la ventana New, seleccionar la ficha Database, opcin Query y pulsar el


botn Ok.

3.

Seleccionar las tablas de donde se desea crear la consulta de datos (Dastos_Alumnos


y Especialidades) y pulsar el botn Open.

4.

Seleccionar todo los campos de la tabla Datos_Alumnos a excepcin del campo


Codigo_Especialidad, y de la tabla Especialidades, seleccionar el

campo

Nombre_Especialidad.

Ing. Victor Davila

viendaro@gmail.com

55

Manual de Power Builder

Indica que estas dos tablas


estn relacionadas por los
campos que indican las lneas

5.

Al realizar una presentacin preliminar

, se mostrara que cada alumno aparece con

el nombre de la especialidad a donde pertenece, y no el codigo_especialidad que se


encuentra en la tabla Datos_Alumnos, esto se debe a la relacin que existe entre las dos
tablas.
Datos

Datos

Datos

6.

Para salir de la consulta, seleccione el siguiente icono

7.

Grabe la consulta, seleccionando el siguiente icono

Ing. Victor Davila

Datos

.
.

viendaro@gmail.com

56

Manual de Power Builder


Practica Calificada.
Agregar a su base de datos las siguientes Tablas.

Relacione las tablas de tal forma que queden como se


muestra a continuacin

Indice
Normal
(Index)

Ing. Victor Davila

viendaro@gmail.com

57

Manual de Power Builder


1. Crear una consulta de datos, que muestre los siguientes datos.
Codigo del alumno, Nombres, Apellidos, Nombre de la especialidad, Seccin, Semestre,
Turno y Ao Acadmico, de acuerdo al cdigo del alumno ingresado.
Ejemplo: Si se ingresa el cdigo del alumno 0001, solo mostrar los datos del alumno
ingresado.
Datos Alumnos Datos Alumnos

Datos Alumnos

Datos
Alumnos

Datos Alumnos Datos Alumnos Datos Alumnos

2. Crear una consulta de datos, que muestre los siguientes datos.


Codigo del alumno, Nombres, Apellidos, Nombre de la especialidad, Seccin, Semestre,
Turno y Ao Acadmico, de acuerdo al nombre de especialidad ingresado.
Ejemplo: Si se ingresa el nombre de la especialidad Computacin e Informtica, solo
mostrar los alumnos de esa especialidad.
Datos Alumnos

Ing. Victor Davila

Datos Alumnos

Datos Alumnos

viendaro@gmail.com

58