You are on page 1of 58

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 O BC !Open ataBase Connectivit"# o rivers $ativos para la Base de atos. %na apliacin Cliente / Servidor pone en comunicacin una estacin de tra&a'o con un Servidor de Base de atos Central. (ste modelo consiste en utili)ar una Base de atos que reside en una mquina separada denominada Servidor. (l Software de gestin de Base de atos se u&ica en las estaciones de tra&a'o remotas !Clientes#. *as aplicaciones que se e'ecutan en las estaciones cliente+ acceden a los datos que se encuentran en el servidor.

ervidor (Ba#e de Dato#)

)#tacion (Cliente

Crear una nueva Librera (Proyecto)


,. -.

Pulse so&re el icono New

del PowerBar1 tart !i"ard# " dentro de esta

(n la ventana de dialogo New+ seleccionar la ficha seleccionar $%%lication& luego pulsar el &otn '(

.anual de Power Builder /. Seguidamente se activar una ventana en donde se tendr que ingresar el nom&re de la *i&rer0a " 1plicacin con que se desea crear. *uego pulsar el &otn *ini#+.

$om&re de la 1plicacin $om&re de la *i&rer0a

2. 1l terminar se activar la una pantalla en donde se comen)ar a tra&a'ar " crear nuestro pro"ecto. Crear una nueva ventana (*or,ulario)
,. -.

Pulse so&re el icono New

del PowerBar1.

(n la ventana de dilogo $ew+ seleccionar la ficha 'b-ect# " dentro de esta seleccionar !indow& luego pulsar el &otn '(.

/. *uego se activar la siguiente venta de dise3o.

.n/. 0ictor Davila

viendaro4gmail.com

.anual de Power Builder

6entana creada.

6entana de Propiedades

6entana donde se crear el cdigo

2.

Para gra&ar la ventana+ pulse so&re el icono de la ventana con que desea gra&ar " seleccione '(.

is5ette

luego ingrese el nom&re de

.n/. 0ictor Davila

viendaro4gmail.com

.anual de Power Builder 1 ' D) C'N23'L) *os controles son o&'etos que se u&ican dentro de una ventana. *oas controles muestran datos+ aceptan datos o validan datos. *os controles responden a una accin del usuario como por e'emplo un clic de ratn. *os controles como cualquier otro o&'eto tiene sus propios atri&utos " eventos+ alguno controles son o&'etos (stndar 7indows+ otros son particulares de PowerBuilder . Para activar e insertar un control+ reali)ar un clic en la flecha
.

Cuadro de 8e9to (sttico. Se utili)a para mostrar t0tulos " mensa'es+ este control muestra un te9to que el usuario solo podr seleccionar mas no modificar. Pro%ieade#. $li/,ent. (specifica el alineamiento del te9to en el control. *os valores que puede seleccionar son: *eft;+ Center; < =ight;. Bac4Color. (specifica un valor numrico correspondiente al color de fondo. 2e5t. (specifica el te9to que se desea mostrar en el control.

(ditar *0nea Simple. (s una ca'a de te9to+ que el usuario puede utili)ar para ingresar una l0nea de te9to o en todo caso para visuali)ar el contenido de un campo de una ta&la de datos. Pro%iedade#. Na,e. (specifica el nom&re que se le desea dar a este control. Bac4Color. (specifica un valor numrico correspondiente al color de fondo. Border. (specifica si el control tiene un &orde. *os valores son: 8rue !8iene &orde# o >alse !$o tiene &orde# Border tyle. (specifica el estilo del &orde del control+ los valores son: St"leBo9; !Cuadro#+ St"le*owerred; !Cuadro /d#+ St"le=aised; !/d con Som&ra# < St"leShadowBo9 !Cuadro con som&ra#. Di#%lay'nly. (specifica si el te9to del control es solo de lectura " no permite reali)ar cam&ios por parte del usuario. *os valores son: 8rue !(l usuario no podr reali)ar cam&ios# " >alse !(l usuario podr reali)ar cam&ios#. )nabled. (specifica si el control est ha&ilitado !1ctivado#.*os valores son: 8rue !(l control est ha&ilitado# " >alse !(l control est deha&ilitado#.

.n/. 0ictor Davila

viendaro4gmail.com

.anual de Power Builder Li,it. (specifica el m9imo numero de caracteres !? a /-+@A@# que se pueden ingresar en el control !? es sin l0mite# 2e5t. (specifica el te9to que contiene el control Pa##word. Permite ocultar con una mascara los caracteres digitados. 2e5tCa#e. (specifica el formato de ingreso de datos en el cuadro de te9to. *os valores pueden ser: 1n"Case; !Cualquier formato#+ *ower; !*etras minBsculas# " %pper; !*etras ma"Bsculas#

. .uestra

una imagen de mapa de &its.

Pro%ieade#. Na,e. (specifica el nom&re que se le desea dar a este control. Border. (specifica si el control tiene un &orde. *os valores son: 8rue !Si tiene &orde# o >alse !no tiene &orde# PictureNa,e. (specifica el nom&re del archivo que contenga el grfico. )-e,%lo6 De#arrollar una a%licacin 7ue %er,ita el in/re#o del no,bre de u#uario y #u re#%ectiva clave de acce#o.
,. -.

Crear una nueva aplicacin dando un clic en el icono New seleccionar !indow& luego pulsar el &otn '(.

del PowerBar1.

(n la ventana de dilogo New+ seleccionar la ficha 'b-ect# " dentro de esta

/. %&icar en la ventana los siguientes controles " cam&iar las propiedades respectivas. 8res Controles Static8e9t. os Controles Single*ine(dit

%n Control Picture. Ca,biar la# %ro%iedade# #i/uiente#. Control 7indow PC, StC, StCStC/ SleC, Pro%iedad 8itle $ame Picture$ame 8e9t >ont 8e9t 8e9t $ame 8e9t 0alor Seguridad de Sistema PCllave !&uscar una imagen# Dngrese su $om&re " Contrase3a ,-+ Bold E%suario EContrase3a SleC%suario FG

.n/. 0ictor Davila

viendaro4gmail.com

.anual de Power Builder SleC$ame 8e9t *imit Password SleCClave FG H !1ctivado#

1l final el dise3o tendr que ser el siguiente.

Para e'ecutar la ventana ingresar a *ile de la &arra de menB " seleccione 3un Preview& en la ventana de dialogo 3un8Preview& seleccione el nom&re de la ventana que desea e'ecutar " seleccione el &otn '(.

Si desea salir de la ventana realice un clic so&re el icono 1 ' D)L L)N91$:)

%na 1plicacin PowerBuilder es una aplicacin dirigida por eventos. (l usuario controla la aplicacin que se e'ecuta provocando eventos. Por e'emplo: Cada accin que reali)a el usuario como a&rir una aplicacin provoca un evento. (l lengua'e utili)ado para escri&ir procedimientos se denomina PowerScript+ que es un lengua'e simple " fcil de aprender. 1#o de Co,entario#. Si desea poner comentarios en el codigo de una aplicacin utili)ar cualquiera de los dos siguientes s0m&olos. 8; Dndica el inicio de un comentario " ;8 indica el final de un comentario. // Dndica comentario al final de una l0nea.

.n/. 0ictor Davila

viendaro4gmail.com

.anual de Power Builder 2i%o# de Dato#. *os identificadores en PowerScript+ identifican o&'etos tales como varia&les+ etiquetas+ funciones+ ventanas+ controles " menBs. %n identificador de&e comen)ar con una letra " utili)ar como m9imo cuarenta caracteres+ tam&in de&e tenerse en cuenta lo siguiente. $o de&e contener espacios en &lanco. Puede incluir algunos caracteres no alfa&ticos como: Su&ra"ado C Signo de lar I Signo de $Bmero J Signo de tanto por ciento K *os identificadores no diferencian las ma"Bsculas ni minBsculas+ el identificador *i&Cnom&re es igual a li&Cnom&re. 2i%o# de Dato# )#tandar. Cierto tipo de datos son intr0nsicos al lengua'e PowerScript+ pero la ma"or0a son tipos de datos que son reconocidos en otros lengua'es de programacin. *a siguiente ta&la muestra los tipos de datos estndar. 2i%o de Dato. Blo& !Binar" *arge O&'ect# Boolean Char o Character ate ate8ime ecimal ou&le Dnteger+ Dnt *ong =eal String 8ime De#cri%cin. atos sin formato+ Por e'emplo una imagen o un prrafo. 8rue o >alse %n Bnico carcter. >echa Com&inacin de una fecha " una hora. $Bmeros decimales con signo hasta una longitud de ,L d0gitos+ el punto decimal no se cuenta como d0gito. $Bmeros en como flotante+ tiene hasta ,H d0gitos de precisin " su rango va desde -.--H/M/?L a ,.@N@AM/?L Son enteros con signo de ,A &its. Son enteros con signo de /- &its+ el rango va desde O -+,2@+2L/+A2L a P-+,2@+2L/+A2@ $Bmeros en coma flotante con una precisin de hasta A d0gitos. =ango desde ,.,@H2M/L a /.2?-LP/L Contiene desde ? hasta A???? caracteres 1SCDD QoraM

Declaracin de 0ariable#. Para declarar una varia&le se requiere solamente de dos partes: (l tipo de dato " (l nom&re de la varia&le.

.n/. 0ictor Davila

viendaro4gmail.com

.anual de Power Builder

Dniciali)acin de 6aria&les Literale#. Se puede dar el valor inicial a la varia&le al declararla+ por e'emplo: Dnt Rran8otalS/+ Su&8otalS? String .etodoSG1/2G ate Qo"S,NNLM,,M,H Cada uno de los valores utili)ados en la e9presin anterior para iniciali)ar una varia&le literal. <atrice#. %n 1rra" es una coleccin de elementos inde9ados de tipos de datos simples. %n 1rra" puede tener uno o mas dimensiones+ es una serie de valores con un Bnico nom&re. Se especifica su tama3o al declararla. Por e'emplo. Dnt 1THUSV,+-+/+2+HW 1 los valores contenidos en la matri) se accede por medio del 0ndice. <atrice# <ulti=di,en#ionale#. *as matrices pueden tener mBltiples dimensiones.

(s utili)ado para e'ecutar una accin cuando el usuario de

un clic so&re el. Pro%ieade#. 2e5t. (specifica el te9to que se desea mostrar en este &otn. Na,e. (specifica el nom&re que se le desea dar a este control. Cancel. (specifica si el control es el &otn Cancelar !(l &otn Cancelar dispara el evento Clic5ed+ si el usuario pulsa la tecla (SC#. *os valores son: 8rue !(l &otn es el &otn Cancelar# " >alse !(l &otn no es el &otn cancelar# )-e,%lo. esarrollar una aplicacin que permita mostrar el nom&re del usuario " su respectiva clave de acceso. *a clave de acceso tendr una longitud de H caracteres+ se de&e mostrar asteriscos !X# cuando el usuario ingrese la clave de acceso. 1&ra una nueva ventana e inserte los siguientes controles. 8res Controles Static8e9t. os Controles Single*ine(dit

%n Control Picture. os Botones de comando

.n/. 0ictor Davila

viendaro4gmail.com

.anual de Power Builder Ca,biar la# %ro%iedade# #i/uiente#. Control 7indow PC, StC, StCStC/ SleC, SleCPro%iedad 8itle $ame Picture$ame 8e9t >ont 8e9t 8e9t $ame 8e9t $ame 8e9t *imit Password $ame 8e9t $ame 8e9t 0alor Seguridad de Sistema PCllave !&uscar una imagen# Dngrese su $om&re " Contrase3a ,-+ Bold E%suario EContrase3a SleC%suario FG SleCClave FG H !1ctivado# c&C1ceptar 1ceptar c&CCancelar Cancelar

C&C, C&C-

1l final el dise3o tendr que ser el siguiente.

Codi/o de la ventana Cb>$ce%tar 8 Clic4ed .essageBo9!YSistema de SeguridadY+YRracias por su visitaY# Close!wCventanaC?,# Cb>Cancelar 8 Clic4ed Close!wCventanaC?,#

.n/. 0ictor Davila

viendaro4gmail.com

.anual de Power Builder

)-e,%lo Crear una apliacin que calcule el los descuentos de le" de un tra&a'ador " el sueldo neto. (l dise3o tendr que quedar de la siguiente manera.

Lo# Controle# sleCQa&er+ sleCCts+ sleC1fp+ sleC8otd " sleC$eto tendrn que estar desactivados.

Codi/o del for,ulario Cb>calcular 8 Clic4ed =eal Qa&er+Cts+(ssalud+1fp+8otd+$eto Qa&erS=eal!sleCha&er.8e9t# (ssaludSQa&er X ?.?/ CtsSha&er X ?.?A 1fpSha&er X ?.?A 8otdS(ssalud P Cts P 1fp sleC1fp.te9tSString!1fp# sleCCts.te9tSString!Cts# sleC(ssalud.te9tSString!(ssalud# sleC8otd.8e9tSString!totd# sleCneto.8e9tSString!$eto# Cb>'tro 8 Clic4ed sleCha&er.8e9tSY?Y sleC1fp.te9tSY?Y sleCCts.te9tSY?Y sleC(ssalud.te9tSY?Y sleC8otd.8e9tSY?Y sleCneto.8e9tSY?Y

.n/. 0ictor Davila

viendaro4gmail.com

,?

.anual de Power Builder Controladore# de flu-o de %ro/ra,a *as siguientes sentencias influ"en en el flu'o de control de un procedimiento que se est e'ecutando. (stos son las sentencias que pueden controlar el orden de e'ecucin de las sentencias de un procedimiento. .* ? 2@)N )L ). %na estructura de control utili)ada en el Script+ que e'ecuta una accin si la condicin lgica es verdadera. inta5i# 1 .f condicin 2+en Bloque de instrucciones )l#e Bloque de instrucciones )ndif (n est sinta9is+ primero se evalBa la condicin lgica+ " si el resultado de la condicin es verdadera+ se e'ecutarn las instrucciones que se encuentren entre Df " (lse+ " si el resultado es falso+ se e'ecutarn las instrucciones que se encuentren entre (lse " (ndif. inta5i# A .f condicin 2+en Bloque de instrucciones )ndif (n est sinta9is+ primero se evalBa la condicin lgica+ " si el resultado de la condicin es verdadera+ se e'ecutarn las instrucciones que se encuentren entre Df " (ndif. C@'' ) C$ ). *a estructura de control Cose Case+ utili)a el valor de una e9presin o de una varia&le para decidir entre una serie de opciones. (l valor de la e9presin determina que opcin seleccionar. inta5i#6 C@'' ) C$ ) (9presin. C$ ) opcin, Bloque de Dnstrucciones. C$ ) opcinBloque de Dnstrucciones.
.n/. 0ictor Davila viendaro4gmail.com ,,

.anual de Power Builder C$ ) opcinn Bloque de Dnstrucciones. C$ ) )L ) Bloque de Dnstrucciones. )ND C@' ). D' ? L''P. ('ecuta un &loque de instrucciones hasta que se produ)ca una condicin de finali)acin. ita5i#6 1. Qacer .ientras la condicin sea verdadera. O 7QD*( condicin Dnstrucciones. *OOP A. Qacer hasta que la condicin llegue a ser verdadera. O %$8D* condicion Dnstrucciones. *OOP B. =epetir mientras la condicin sea verdadera. O Dnstrucciones. *OOP 7QD*( condicin C. =epetir hasta que la condicin llegue a ser verdadera. O Dnstrucciones. *OOP %$8D* condicion. *'3 ? N)D2. *a sentencia >O= Z $([8 e'ecuta un &loque de sentencias en un determinado numero de veces+ los argumentos que se especifican en la sentencia determina el numero de veces que se e'ecuta el &loque inta5i#6 >O= nomCvarSDnicial 8O final S8(P !Dncremento# Bloque de Dnstrucciones $([8.

.n/. 0ictor Davila

viendaro4gmail.com

,-

.anual de Power Builder

Permite crear un grupo de opciones en donde solo se podr seleccionar una opcin del grupo. Pro%iedade# C+ec4ed. =etorna un valor lgico el cual especifica si el control se encuentra seleccionado o no. Si el valor devuelto es: 2rae6 significa que est seleccionado. *al#e6 significa que no est seleccionado. )nabled. (specifica un valor lgico+ el cual indica si el control est activado o desactivado. 2rae6 Control 1ctivado *al#e6 Control esactivado )-e,%lo esarrolle una aplicacin que permita calcular el ha&er &sico de un tra&a'ador de acuerdo a la categor0a seleccionada " calcular los descuentos respectivos. Dnserte los siguientes controles. Control sleC, sleCsleC/ sleC2 sleCH sleC/ sleC/ r&C, r&Cr&C/ C&C, C&C, C&C, $ame 8e9t $ame 8e9t $ame 8e9t $ame 8e9t $ame 8e9t $ame 8e9t $ame 8e9t $ame Caption $ame Caption $ame Caption $ame Caption $ame Caption $ame Caption Pro%iedad 0alor sleCempleado en &lanco sleCha&er en &lanco sleCcts en &lanco sleCafp en &lanco sleCessalud en &lanco sleCtotald en &lanco sleCneto en &lanco r&Cgenerente Rerente -H?? r&Cadministradoe 1dministrador -??? r&Csecretaria Secretaria ,H?? c&Caceptar 1ceptar c&Cotro Otro c&Ccerrar Cerrar
viendaro4gmail.com ,/

.n/. 0ictor Davila

.anual de Power Builder (l dise3o del formulario tendr que quedar de la siguiente manera:

Controles desactivados

Cdi/o de la a%licacin Cb>ace%tar 8 Clic4ed =eal ha&er+cts+afp+essalud+totd+neto Df r&Cgerente.chec5edStrue then ha&erS-H?? end if Df r&Cadministrador.chec5edStrue then ha&erS-??? end if Df r&Csecretaria.chec5edStrue then ha&erS,H?? end if ctsSha&er X ?.?/ afpSha&er X ?.?A essaludSha&er X ?.?A totdSctsPafpPessalud netoSha&er M totd sleCha&er.te9tSstring!ha&er# sleCafp.te9tSstring!afp# sleCcts.te9tSstring!cts# sleCessalud.te9tSstring!essalud# sleCtotald.te9tSstring!totd# sleCneto.te9tSstring!neto# Rra&e la ventana con w>o%cione# " luego e'ecute . cb>otro 8 Clic4ed sleCempleado.te9tSYY sleCha&er.te9tSY?Y sleCcts.te9tSY?Y sleCafp.te9tSY?Y sleCessalud.te9tSY?Y sleCtotald.te9tSY?Y sleCneto.te9tSY?Y

.n/. 0ictor Davila

viendaro4gmail.com

,2

.anual de Power Builder

!Casilla de verificacin#. cuales podrn ser activadas o desactivadas. Pro%iedade#

Permite crear un grupo de opciones las

C+ec4ed. =etorna un valor lgico el cual especifica si el control se encuentra seleccionado o no. Si el valor devuelto es: 2rae6 significa que est seleccionado. *al#e6 significa que no est seleccionado. )nabled. (specifica un valor lgico+ el cual indica si el control est activado o desactivado. 2rae6 Control 1ctivado *al#e6 Control esactivado )-e,%lo esarrolle una aplicacin que permita calcular el ha&er &sico de un tra&a'ador de acuerdo a la categor0a seleccionada " calcular los descuentos respectivos !solo de los que se especifique#. Nota 6 Para dar los nom&res de los controles f0'ese el cdigo de la aplicacin " de acuerdo a eso ponga los nom&res respectivos. *os nom&res de los controles son los mismos que el e'emplo anterior " de los que se agregaron son: Control Pro%iedad 0alor c&9C, c&9Ccts caption C8S /K c&9C, name c&9Cafp caption 1>P AK c&9C, name c&9Cessalud caption (SS1*% /K (l dise3o del formulario tendr que quedar de la siguiente manera name

.n/. 0ictor Davila

viendaro4gmail.com

,H

.anual de Power Builder Cdi/o del for,ulario cb>ace%tar 8 clic4ed =eal ha&er+cts+afp+essalud+totd+neto Df r&Cgerente.chec5edStrue then ha&erS-H?? Df r&Cadministrador.chec5edStrue then ha&erS-??? Df r&Csecretaria.chec5edStrue then ha&erS,H?? if c&9Ccts.chec5edStrue then ctsSha&er X ?.?/ else ctsS? end if if c&9Cafp.chec5edStrue then afpSha&er X ?.?/ else afpS? end if if c&9Cessalud.chec5edStrue then essaludSha&er X ?.?/ else essaludS? end if totdSctsPafpPessalud netoSha&er M totd sleCha&er.te9tSstring!ha&er# sleCafp.te9tSstring!afp# sleCcts.te9tSstring!cts# sleCessalud.te9tSstring!essalud# sleCtotald.te9tSstring!totd# sleCneto.te9tSstring!neto#

Cb>otro 8 Clic4ed sleCempleado.te9tSYY sleCha&er.te9tSY?Y sleCcts.te9tSY?Y sleCafp.te9tSY?Y sleCessalud.te9tSY?Y sleCtotald.te9tSY?Y sleCneto.te9tSY?Y c&9Ccts.chec5edSfalse c&9Cafp.chec5edSfalse c&9Cessalud.chec5edSfalse

Cumple la misma funcin que el control in/leLine)dit& con la diferencia de que a este control se le puede definir mascaras de entrada " salida de datos. Pro%iedade#. Di#%la'nly. (specifica si el contenido del control podr ser modificado por el usuario. <a#4. Permite especificar la mascara que se desea usar para el control. $umeros String ate : J : 4 : Character d dd ddd dddd m .eaning a" num&er with no leading )ero a" num&er with leading )ero if appropriate a" name a&&reviation a" name .onth num&er with no leading )ero (9ample N ?N .on .onda" A

.n/. 0ictor Davila

viendaro4gmail.com

,A

.anual de Power Builder mm mmm mmmm "" """" : h hh m mm s ss ffffff 1./P. am/pm 1/P a/p .onth num&er with leading )ero if appropriate .onth name a&&reviation .onth name 8woMdigit "ear >ourMdigit "ear .eaning Qour with no leading )ero !for e9ample+ ,# Qour with leading )ero if appropriate !for e9ample+ ?,# .inute with no leading )ero !must follow h or hh# .inute with leading )ero if appropriate !must follow h or hh# Second with no leading )ero !must follow m or mm# Second with leading )ero !must follow m or mm# .icroseconds with no leading )eros. <ou can enter one to si9 f]s^ each f represents a fraction of a second !must follow s or ss# 8woMcharacter+ upperMcase a&&reviation !1. or P. as appropriate# 8woMcharacter+ lowerMcase a&&reviation !am or pm as appropriate# OneMcharacter+ upperMcase a&&reviation !1 or P as appropriate# OneMcharacter+ lowerMcase a&&reviation !a or p as appropriate# ?A \un \une N@ ,NN@

8ime

Character

<a#4Data2y%e. (specifica el tipo de dato para el control+ los valores pueden ser: ate.as5;+ ate8ime.as5;+ ecimal.as5;+ $umeric.as5;+ String.as5;+ 8ime.as5; <in. (specifica el valor m0nimo que se podr ingresar en el control. <a5. (specifica el valor m9imo que se podr ingresar en el control. %in. (specifica si se desea mostrar un scroll de tipo spinner en el control. )-e,%lo =ealice una aplicacin en donde se ingrese los datos de los alumnos mas las notas respectivas del curso. 1l momento de ingresar las notas+ solo de&er de aceptar nBmeros. 1dems de&er calcular el promedio " la condicin. (l dise3o de&er de quedar de la siguiente manera.

.n/. 0ictor Davila

viendaro4gmail.com

,@

.anual de Power Builder

Controle# )dit<a#4Control emCnota, " emCnotaPro%iedad (fic+a ,a#4) <a#4 E JJ <a#4Data2y%e6 numeric5as5; %in E 1ctivado <in E? <a5 E -? .ncre,ente E ,

Cdi/o del *or,ulario. Cb>calcular 8 clic4er =eal $ota,+$ota-+Promedio $ota,Sreal!emCnota,.te9t# $ota-Sreal!emCnota-.te9t# promedioS!nota,Pnota-#/if promedio_S,, then sleCcondicion.te9tSY1pro&adoY else sleCcondicion.te9tSY esapro&adoY end if emCpromedio.te9tSstring!promedio# Rra&e la ventana con wCeditmas5 ('ecute la ventana+ ingrese los datos respectivos " pulse calcular. cb>otro 8 Clic4ed sleCalumno.te9tSYY sleCcurso.te9tSYY emCnota,.te9tSY?Y emCnota-.te9tSY?Y emCpromedio.te9tSY?Y

.n/. 0ictor Davila

viendaro4gmail.com

,L

.anual de Power Builder

y uno o mas elementos de la lista. *uncione#

Se utili)an con la finalidad de

insertar un cuadro de lista o una lista desplega&le+ en donde el usuario podr seleccionar

$ddite,. Permite a3adir un nuevo elemento dentro de un cuadro de lista o una lista desplega&le. Delete.te,. Permite eliminar el elemento indicado de un cuadro de lista o una lista desplega&le 3e#et. Borra todo los elementos de una lista o una lista desplega&le. elected.nde5. =etorna el nBmero del elemento seleccionado de una lista. elected.te,. =etorna el te9to del elemento seleccionado. elect.te,. =etorna el elemento del nBmero de elemento indicado. 2e5t. =etorna el te9to del elemento seleccionado. )-e,%lo 6 esarrolle una aplicacin en donde se agreguen nuevos elementos a una lista. (l dise3o del formulario tendr que quedar de la siguiente manera. Control SleC, *&C, Pro%iedad $ame 8e9t $ame 0alor sleCnuevo en &lanco

Cdi/o del for,ulario. cb>a/re/ar 8 Clic4ed. l&Celementos.additem!sleCnuevo.te9t# sleCnuevo.te9tSYY cb>eli,inar 8 clic4ed l&Celementos. eleteDtem!l&Celementos.SelectedDnde9!## cb>borrar 8 clic4ed l&Celementos.reset!#

.n/. 0ictor Davila

viendaro4gmail.com

,N

.anual de Power Builder )-e,%lo esarrolle una aplicacin en donde se registren nuevos productos+ se ingresen la cantidad " el precio+ se calcule el su&total " el total a pagar " esos se agreguen a unas listas. (l dise3o del formulario tendr que quedar de la siguiente manera. Control sleC, ddl&C, sleCemC, emCl&C, l&Cl&C/ l&C2 sleC/ sleC2 sleCH sleCA name name name name name name name name name name name name name Pro%iedad valor sleCnuevop ddl&Cproductos sleCproductos emCcantidad emCprecio l&Cproductos l&Ccantidades l&Cprecios l&Csu&totales sleCtotalc sleCtotalp sleCtotals sleCtotalpagar

L$ P3'P.)D$D '32)D D) L' L. 2B'D& 2)ND3FN G1) ) 2$3 D) $C2.0$D' & P$3$ G1) L' )L)<)N2' N' ) '3D)N)N $L <'<)N2' D) $93)*9$3

Nota 6 *os te9tos de color oscuro tendrn que estar desactivados

Codi/o del for,ulario cb>a/re/ar 8 clic4ed ddl&Cproductos.additem!sleCnuevop.te9t# sleCnuevop.te9tSYY

.n/. 0ictor Davila

viendaro4gmail.com

-?

.anual de Power Builder cb>ace%tar 8 clic4ed sleCproductos.te9tSddl&Cproductos.te9t cb>a/re/arA 8 clic4ed =eal Cantidad+Precio+Su&8otal+8otal CantidadS=eal!emCcantidad.te9t# PrecioS=eal!emCprecio.te9t# Su&8otalSCantidad X Precio 8otalS=eal!sleCtotalpagar.8e9t# 8otalS8otal P Su&8otal l&Cproductos.1ddDtem!sleCproductos.8e9t# l&Ccantidades.1ddDtem!emCcantidad.8e9t# l&Cprecios.1ddDtem!emCprecio.8e9t# l&Csu&totales.1ddDtem!String!Su&8otal## sleCtotalpagar.8e9tSString!8otal# sleCtotalc.te9tSString!real!sleCtotalc.te9t#PCantidad# sleCtotalp.te9tSString!real!sleCtotalp.te9t#PPrecio# sleCtotals.te9tSString!real!sleCtotals.te9t#PSu&8otal# cb>eli,inar 8 Clic4ed Dnteger Dndice =eal Cantidad+Precio+Su&8otal+8otal DndiceSl&Cproductos.SelectedDnde9!# CantidadS=eal!l&Ccantidades.te9t!Dndice## PrecioS=eal!l&Cprecios.te9t!Dndice## Su&8otalS=eal!l&Csu&totales.te9t!Dndice## sleCtotalc.te9tSString!real!sleCtotalc.te9t# M Cantidad# sleCtotalp.te9tSString!real!sleCtotalp.te9t# M Precio# sleCtotals.te9tSString!real!sleCtotals.te9t# M Su&8otal# sleCtotalpagar.8e9tSsleCtotals.te9t l&Cproductos. eleteDtem!Dndice# l&Ccantidades. eleteDtem!Dndice# l&Cprecios. eleteDtem!Dndice# l&Csu&totales. eleteDtem!Dndice# cb>li,%iar 8 Clic4ed l&Cproductos.=eset!# l&Ccantidades.=eset!# l&Cprecios.=eset!# l&Csu&totales.=eset!# ddl&Cproductos.=eset!# sleCproductos.8e9tSYY emCcantidad.8e9tSY?Y emCprecio.8e9tSY?Y sleCtotalc.8e9tSY?Y sleCtotalp.8e9tSY?Y sleCtotals.8e9tSY?Y sleCtotalpagar.8e9tSY?Y

.n/. 0ictor Davila

viendaro4gmail.com

-,

.anual de Power Builder Co,o traba-o %rHctico de#arrolle la #i/uiente a%licacin. $/re/ar. Permite agregar nuevos empleados a la lista $ce%tar. .uestra el empleado seleccionado de la lista en (mpleado Seleccionado. 'tro. *impia todo los controles. Nota6 Cada ve) que se seleccione una categor0a de&er de calcular el ha&er &sico+ los descuentos " el sueldo neto. Cada ve) que se active uno de los chec5 ! escuentos#+ de&er de volver a calcular todo.

(ste otro e'emplo 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.

.n/. 0ictor Davila

viendaro4gmail.com

--

.anual de Power Builder *1NC.'N) D)N23' D) P'!)3B1.LD)3 PowerBuilder posee una gran variedad de funciones que permiten al programador desarrollar sus aplicaciones de una manera fcil. 1. *uncione# de Cadena $#c. O&tiene el cdigo 1SCCDD correspondiente al primer carcter de una cadena. )-e,%lo : 1sc !Y1Y# C+ar. =etorna el carcter correspondiente al cdigo 1SCDD. )-e,%lo : Char !2-# *ill. =etorna una cadena con una longitud determinada del carcter especificado. )-e,%lo : >ill !YXY+-?# Left. =etorna un nBmero especificado de caracteres comen)ando por la i)quierda. )-e,%lo : *eft !YQenr" SalcedoY+2# Left2ri,. =etorna la misma cadena de caracteres sin los espacios en &lanco del lado i)quierdo de la cadena )-e,%lo : *eft8rim !Y Qenr" SalcedoY# Len. =etorna la longitud de la cadena. )-e,%lo 6 *ongsCnom&re sCnom&reS*en!sleC$om&res.te9t# Lower. =etorna una copia de una cadena convertida a minBsculas. )-e,%lo : *ower!YQ($=< S1*C( OY# <id. =etorna una cadena que contiene un nBmero especificado de caracteres+ comen)ando de una posicin indicada. )-e,%lo : .id!YQ($=< S1*C( OY+H+H# Po#. =etorna la posicin donde se encuentra una cadena dentro de otra cadena )-e,%lo : Pos!YQ($=< S1*C( OY+YS1Y# =everse. Cam&ia el orden de los caracteres de una cadena. )-e,%lo : =everse !YQ($=< S1*C( OY# 3i/+t. =etorna un nBmero especificado de caracteres+ comen)ando del lado derecho.. ('emplo : =ight !YQ($=< S1*C( OY+/# 3i/+t2ri,. =etorna la misma cadena de caracteres sin los espacios en &lanco del lado derecho de la cadena
.n/. 0ictor Davila viendaro4gmail.com -/

.anual de Power Builder ('emplo : =ight8rim !YQenr" Salcedo Y# %ace. =etorna una cadena de longitud determinada+ conteniendo espacios en &lanco. ('emplo : $ame S Space !,?# 2ri,. =etorna la misma cadena de caracteres sin los espacios en &lanco del lado i)quierdo " derecho de la cadena ('emplo : 8rim !Y Qenr" Salcedo Y# 1%%er. =etorna la misma cadena de caracteres convertidas a letras ma"Bsculas. ('emplo : %pper !Y Qenr" SalcedoY# A. *uncione# de *ec+a Day. =etorna el d0a del mes de una fecha indicada. ('emplo : a" !,NN2M?,M/,# DayNa,e. =etorna el nom&re del d0a de la semana ('emplo : string da"n ate fecha fechaS ate!emC,.te9t# da"nSda"$ame!>echa# DayNu,ber. =etorna un nBmero que representa el d0a de la semana. ('emplo : Dnteger da"n ate fecha fechaS ate!emC,.te9t# da"nSda"$um&er!>echa# Day#$fter. =etorna el nBmero de d0as de una fecha despus de la actual. ('emplo : Dnteger da"n ate fecha fechaS ate!emC,.te9t# da"nSda"s1fter!-??,M?-M,N+>echa# @our. =etorna un entero que corresponde al nBmero de horas de una fecha dada. ('emplo : Dnteger Qora

.n/. 0ictor Davila

viendaro4gmail.com

-2

.anual de Power Builder QoraSQour!$ow!## .essageBo9!YQoraY+Qora# <inute. =etorna un entero que corresponde a los minutos de una hora dada. ('emplo : Dnteger Qora QoraS.inute!$ow!## Now. =etorna la hora del sistema. ('emplo : 8ime Qora QoraS$ow!# econd. =etorna el numero de segundos de una hora dada. ('emplo : integer Qora QoraSSecond!$ow!## 2oday. =etorna la fecha actual del sistema ('emplo : ate >echa >echaS8oda"!# Iear. =etorna el a3o de una fecha dada ('emplo : Dnteger 13o 13oS<ear!8oda"!## B. *1NC.'N) N1<)3.C$ $b#. O&tiene el valor a&soluto de un numero ('emplo: iS2 num S 1&s!i# num S 1&s !2# num S 1&s !P2# num S 1&s !M2# 1&s !M2.-# (sta sentencia retorna 2.-.

.n/. 0ictor Davila

viendaro4gmail.com

-H

.anual de Power Builder

Ceilin/. O&tiene el menor nBmero entero que es menor o igual al nBmero especificado. ('emplo: ec S 2.L $um S Ceiling !dec# ecimal num $um S ceiling !M2.-# $um S ceiling !M2.L# (sta sentencia retorna M2. Co#. O&tiene el coseno del ngulo de&e estar en readianes. )-e,%lo: Cos !?# Cos!,# (sta sentencia retorna M,. Cos!pi!,## (sta sentencia retorna M,. .nt. O&tiene el menor nBmero entero que es menor o igual al nBmero especificado. ('emplo: Dnt!/.-# Dnt!/.L# Dnt!M/.-# Dnt!M/.L# *a siguiente sentencia retorna M2.?. <a5. =etorna el ma"or de dos nBmeros. ('emplo: .a9 !2+@# .a9 !M2+M@# (sta e9presin retorna M2. <in. =etorna el menor de dos nBmeros. )-e,%lo: .in !2+@# .in !M2+M@# (sta e9presin retorna M@. <od. O&tiene el modulo de dos nBmeros !el resultado o&tenido de la divisin del primer e9presin con el segundo#.

.n/. 0ictor Davila

viendaro4gmail.com

-A

.anual de Power Builder )-e,%lo6 Dnteger =esiduo =esiduoS.od!-?+A# Pi. O&tiene el valor de Pi )-e,%lo6 Pi! # S_ /.,2,HN-AH/HLN@N/-/ 3ound. O&tiene un nBmero redondeado a un nBmero decimal elegido )-e,%lo6 =ound !N.A-H+-# S_ N.A/ =ound !N.A+/# S_ N.A?? i/n. O&tiene un nBmero !M,+ ?+ o ,# indicando el signo de una e9presin )-e,%lo6 Sign !?# S_ =etorna ? por que ? no tiene signo Sign !N# S_ =etorna , Sign !MN# S_ =etorna M, 7rt. O&tiene la ra0) cuadrada de un nBmero dado. )-e,%lo6 Sqrt !2# S_ =etorna Sign !/# S_ =etorna ,.@/-? 2runcate. O&tiene un nBmero truncado a una determinada e9presin decimal. )-e,%lo6 8runcate !N.--+,# S_ =etorna N.8runcate !N.N+?# S_ =etorna N C. *uncione# de Conver#in Dec. Convierte el contenido de una cadena a un nBmero decimal. )-e,%lo 6 =eal $umero $umeroS ec!Y,2.-HY# Double. Convierte el contenido de una cadena a un nBmero do&le )-e,%lo 6 =eal $umero $umeroS ou&le!Y,2.-HY# .nte/er. Convierte el contenido de una cadena a un nBmero entero )-e,%lo 6

.n/. 0ictor Davila

viendaro4gmail.com

-@

.anual de Power Builder Dnteger $umero $umeroSDnteger!Y,2Y#

3eal. Convierte el contenido de una cadena a un nBmero real )-e,%lo 6 =eal $umero $umeroSreal!Y,2.-HY# trin/. Convierte un nBmero a un cadena de caracteres. )-e,%lo 6 String Cadena CadenaSString!,2.-H# Date. Convierte una cadena a una fecha )-e,%lo 6 ate >echa >echaS ate!,?M?HM-??,# )-e,%lo de una a%licacin esarrolle una aplicacin que permita el ingreso de los datos personales de los alumnos. Se de&e de ingresar los nom&res+ apellido paterno+ apellido materno+ direccin+ especialidad+ semestre+ turno+ se9o " fecha de registro. (l cdigo de&er de ser autogenerado de la siguiente manera: 8omar el primer carcter del apellido paterno mas un nBmero consecutivo que tendr que ir generndose. (l dise3o del formulario de&er de ser de la siguiente manera.

.n/. 0ictor Davila

viendaro4gmail.com

-L

.anual de Power Builder

Control (dit .as5 8ipo >echa


Pro%iedad .te, de6 C,b e5o6 .asculino >emenino )#%ecialidad6 Computacin e Dnformtica Secretariado ('ecutivo (nfermer0a 8cnica e,e#tre 6 del , al A 2urno6 .a3ana 8arde $oche

Rra&e la ventana con el nom&re de 6 w>funcione# CJD.9' D)L *'3<1L$3.'. !indow 8 o%en *impiarCControles!#^ emCfecha.te9tSString!toda"!## cb>ace%tar 8 Clic4ed Dnteger $regs String Codigo $regsS*&C1lumnos.8otalDtems!#P, CodigoS*eft!sleCapepat.te9t+,#P*eft!sleCapemat.te9t+,#P8rim!string!$regs## CodigoS=ight!Y???YPtrim!Codigo#+/# *&C1lumnos.1ddDtem!SleC1pepat.te9t P Y Y P sleCapemat.te9t P Y+ sleCnom&res.te9t# l&Ccodigos.1ddDtem!Codigo# sleCcodigo.8e9tSCdigo cb>nuevo 8 Clic4ed =eal0celo ud. ('ecute su ventana+ ingrese los datos respectivos

.n/. 0ictor Davila

viendaro4gmail.com

-N

.anual de Power Builder

Pulse el &otn $ce%tar para generar el cdigo " agregar a la lista los datos.

(l cdigo ha sido generado con la primera letra del apellido paterno P la primera letra del apellido materno P un nBmero correlativo.

.n/. 0ictor Davila

viendaro4gmail.com

/?

.anual de Power Builder *1NC.'N) D)*.N.D$ P'3 )L 1 1$3.' (l lengua'e 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 ve) entonces es necesario crear una funcin definida por el usuario. %na funcin definida por el usuario es una coleccin de sentencias que reali)an algBn proceso. Para construirla se reali)a en el *unction Painter+ una ve) construida se gra&a la funcin para su posterior uso. 2i%o# de *uncin. *uncione# 9lobale#. *as cuales no estn asociadas a ningBn o&'eto de la aplicacin " son accesi&les desde cualquier punto de la aplicacin. *uncione# de nivel ob-eto. (stas funciones estn definidas por un tipo particular de ventana+ menB o o&'eto de usuario Nota 6 *as nom&res de las funciones pueden tener hasta una longitud de 2? caracteres Crear una funcin 7ue %er,ita li,%iar lo# controle# del e-e,%lo anterior. 1&ra la ventana anterior !wCfunciones# 1&ra el la ventana de script de la ventana 1&ra la lista de controles de la ventana de cdigos " seleccione !*unction##

Seguidamente se activar la siguiente ventana en donde se tendr que ingresar el nom&re de la funcin que se desea crear " especificar si se desea que la funcin retorne un valor.

1lcance de la funcin

$om&re de la funcin a crear 6entana en donde se escri&ir el cdigo de la funcin

Dndica si la funcin retornar valores

.n/. 0ictor Davila

viendaro4gmail.com

/,

.anual de Power Builder *uego de crear la funcin escri&a el cdigo siguiente. sleCnom&res.8e9tSYY sleCapepat.8e9tSYY sleCapemat.8e9tSYY sleCdireccion.8e9tSYY ddl&Cse9o.SelectDtem!?# ddl&Cespecialidad.SelectDtem!?# ddl&Csemestre.SelectDtem!?# ddl&Cturno.SelectDtem!?# Rra&e la funcin gra&ando la ventana " cierre la ventana de la funcin. 1gregue la siguiente l0nea de cdigo a los siguientes eventos de controles. !indow 8 o%en *impiarCControles!#^ emCfecha.te9tSString!toda"!## Cb>$ce%tar 8 Clic4ed Dnteger $regs String Codigo $regsS*&C1lumnos.8otalDtems!#P, CodigoS*eft!sleCapepat.te9t+,#P*eft!sleCapemat.te9t+,#P8rim!string!$regs## CodigoS=ight!Y???YPtrim!Codigo#+/# *&C1lumnos.1ddDtem!SleC1pepat.te9t P Y Y P sleCapemat.te9t P Y+ sleCnom&res.te9t# l&Ccodigos.1ddDtem!Codigo# sleCcodigo.8e9tSCodigo *impiarCControles!#^ Cb>nuevo 8 Clic4ed *impiarCControles!#^ ('ecute la ventana llene los datos respectivos " pulse el &otn Cancelar& de&er de limpiar los controles. Como tra&a'o prctico cree una funcin que permita De#activar lo# controle#: !fCdesactivar# sleCcodigo+ emCfecha+ sleCnom&res+ sleCapepat+ sleCapemat+ sleCdireccion+ ddl&Cse9o+ ddl&Cespecialidad+ ddl&Csemestre+ ddl&Cturno " c&Caceptar $ctivar lo# controle#: !fCactivar# sleCcodigo+ emCfecha+ sleCnom&res+ sleCapepat+ sleCapemat+ sleCdireccion+ ddl&Cse9o+ ddl&Cespecialidad+ ddl&Csemestre+ ddl&Cturno " c&Caceptar *os controles tendrn que estar activados al momento de e'ecutar la ventana+ " cuando se pulse el &otn nuevo tendrn que activarse con los controles en &lanco. Cuando se pulse aceptar los controles tendrn que desactivarse nuevamente.

.n/. 0ictor Davila

viendaro4gmail.com

/-

.anual de Power Builder 'tro )-e,%lo =ealice una aplicacin que permita calcular el sueldo neto de un tra&a'ador " ademas los descuentos respectivos. *os descuentos " el sueldo neto se tendrn que ir calculando cada ve) que se cam&ie la categor0a o algBn descuento !para calcular los descuentos " sueldo neto crear una funcin# (l dise3o del formulario es el siguiente: Para dar nom&re a los controles como prctica tendr que fi'arse el cdigo de la aplicacin " de acuerdo a eso poner los nom&res respectivos.

Cdi/o de la a%licacin. Crear una funcin con el nom&re de Calcular Para crear la funcin+ seleccione la opcin .n#ert de la &arra de menB+ " dentro de esta seleccione *unction.

1qu0 se escri&e el cdigo de la funcin

Seleccione !$one#

$om&re de la funcin

.n/. 0ictor Davila

viendaro4gmail.com

//

.anual de Power Builder )l cdi/o de la funcin e# el #i/uiente: =(1* ha&er+cts+afp+essalud+totald+neto ha&erS=(1*!sleCha&er.8e9t# D> c&9Ccts.CQ(C`( S8=%( then ctsSha&erX?.?/ (*S( ctsS? end if if c&9Cafp.chec5edStrue then afpSha&erX?.?A else afpS? end if if c&9Cessalud.chec5edStrue then essaludSha&erX?.?A else essaludS? end if totaldSctsPafpPessalud netoSha&er M totald emCcts.8e9tSString!cts# emCafp.8e9tSString!afp# emCessalud.8e9tSString!essalud# emCtotald.8e9tSString!totald# emCneto.8e9tSString!neto# return Cb>a/re/ar 8 Clic4ed ddl&Cempleados.1dditem!sleCnuevoe.8e9t# sleCnuevoe.8e9tSYY cb>ace%tar 8 Clic4ed sleCempleado.8e9tSddl&Cempleados.8e9t rb>/erente 8 Clic4ed sleCha&er.te9tSY-H??Y Calcular!#^ rb>ad,ini#trador 8 Clic4ed sleCha&er.te9tSY-???Y Calcular!#^ rb>#ecretaria 8 Clic4ed sleCha&er.te9tSY,???Y Calcular!#^ cb>otro 8 clic4ed sleCempleado.8e9tSYY sleCha&er.8e9tSY?Y emCcts.8e9tSY?Y emCafp.8e9tSY?Y emCessalud.8e9tSY?Y emCtotald.8e9tSY?Y emCneto.8e9tSY?Y c&9Ccts.chec5edS>alse c&9Cafp.chec5edS>alse c&9Cessalud.chec5edS>alse

cb5>ct# K cb5>af% K cb5>e##alud 8 Clic4ed (en lo# tre# %oner el ,i#,o cdi/o) Calcular!#^ ('ecute la aplicacin e ingrese los datos para poder calcular.

.n/. 0ictor Davila

viendaro4gmail.com

/2

.anual de Power Builder

(ste control contiene una serie de pginas donde cada pgina podr contener a su ve) controles Pro%iedade#. $li/,ent. (specifica la alineacin del te9to en la etiqueta de cada pgina: *os valores son : *eft;+ Center;+ =ight;. Bac4Color. (specifica un valor numrico correspondiente al color del fondo. )nabled. 1ctiva o esactiva el control. Per%endicular 2e5t. (specifica si el titulo de cada pgina se alinear en forma vertical. elected2ab. (specifica cual de las paginas se encuentra seleccionada. Para insertar mas pginas dentro de este control+ u&ique el puntero del mouse en la parte superior de este control+ realice un clic5 con el &otn contrario " seleccione la opcin Dnsert8a&Page.

Para eliminar una pgina+ realice un clic5 contrario so&re la pgina que desee eliminar " seleccione la opcin elete. !no se olvide que tendr que reali)ar clic5 contrario dentro de la pgina#

.n/. 0ictor Davila

viendaro4gmail.com

/H

.anual de Power Builder )-e,%lo6 esarrollar una aplicacin que permita ingresar los datos de los tra&a'adores. %sar un control 8a& con dos pginas.

(n la primera pgina se de&e ingresar los datos generales del tra&a'ador. (n la segunda pgina se de&e seleccionar la condicin del tra&a'ador !Contratado o $om&rado#. Si es Contratado+ su ha&er &sico ser ,H?? " si es nom&rado -???. Si es $om&rado reali)ar los descuentos de le"+ de lo contrario es descuento ser ?. Nota6 Para cam&iar el nom&re de la pgina dentro de un ta&+ realice un clic contrario dentro de la pgina que quiere cam&iar el nom&re+ luego en la ventana de propiedades seleccione la propiedad na,e " ponga el nom&re que desee. (l dise3o del formulario tendr que quedar de esta manera: !/rabe con

w>tab%a/e#. ise3o de la %ri,era %H/ina


Control 8a&C, Pro%iedad 0alor $ame Caption ta&pageC- $ame Caption SleC, SleCSleC/ SleC2 SleCH emC, c&C, $ame $ame $ame $ame $ame $ame $ame Caption r&C, r&CSleCA SleC@ SleCL SleCN SleC,? SleC,, c&Cc&C, $ame Caption $ame Caption $ame $ame $ame $ame $ame $ame $ame Caption $ame Caption 8a&C8ra&a'ador 8a&pgCdatos atos del 8ra&a'ador 8a&pgCsueldo Sueldo del tra&a'ador sleCcodigo sleCnom&res sleCapellidos sleCdireccion sleCdni emCfecha c&Caceptar 1ceptar r&Ccontratado Contratado r&Cnom&rado $om&rado sleCha&er sleCafp sleCcts sleCessalud sleCtotald sleCneto c&Cotro Otro c&Ccerrar Cerrar

ta&pageC, $ame

Dentro de 2ab%/>dato# va6

ise3o de la #e/unda %H/ina

Dentro de tab>%/>#ueldo va6

.n/. 0ictor Davila

viendaro4gmail.com

/A

.anual de Power Builder

Crear una funcin con el nom&re : Calcular Cdi/o de la funcin. =eal ha&er+afp+cts+essalud+neto+totd ha&erSreal!ta&Ctra&a'ador.ta&pgCsueldo.sleCha&er.te9t# ctsSha&erX?.?/ afpSha&erX?.?A essaludSha&erX?.?A totdSctsPafpPessalud netoSha&er M totd ta&Ctra&a'ador.ta&pgCsueldo.sleCafp.te9tSstring!afp# ta&Ctra&a'ador.ta&pgCsueldo.sleCcts.te9tSstring!cts# ta&Ctra&a'ador.ta&pgCsueldo.sleCessalud.te9tSstring!essalud# ta&Ctra&a'ador.ta&pgCsueldo.sleCtotald.te9tSstring!totd# ta&Ctra&a'ador.ta&pgCsueldo.sleCneto.te9tSstring!neto# Cdi/o del for,ulario w>tab%a/e 8 '%en 8a&C8ra&a'ador.8a&pgCsueldo.(na&ledS>alse 8a&C8ra&a'ador.ta&pgCdatos.SleCcodigo.Setfocus!# cb>ace%tar 8 Clic4ed ta&Ctra&a'ador.ta&pgCdatos.ena&ledS>alse ta&Ctra&a'ador.ta&pgCsueldo.ena&ledStrue ta&Ctra&a'ador.Selected8a&Srb>contratado 8 Clic4ed )ta&Ctra&a'ador.ta&pgCsueldo.sleCha&er.te9tSY,H??Y Calcular!#^ rb>no,brado 8 Clic4ed ta&Ctra&a'ador.ta&pgCsueldo.sleCha&er.te9tSY-???Y Calcular!#^ ('ecute el formulario+ ingrese los datos del tra&a'ador+ luego pulse el &otn $ce%tar para pasar a la siguiente pgina " seleccione la condicin del tra&a'ador

.n/. 0ictor Davila

viendaro4gmail.com

/@

.anual de Power Builder

.n/. 0ictor Davila

viendaro4gmail.com

/L

.anual de Power Builder D. )L' D) <)N1 <)N1 . Para a3adir un menB+ primero es preciso crearlo " despus asociarlo a la ventana en que va a aparecer. (sta asociacin se reali)a desde el 7indow Painter. )-e,%lo ise3ar un menB con las siguientes caracter0sticas. 1lumnos =egistro de nuevos alumnos 1lt P = .atricula de alumnos 1lt P . Consulta por seccin 1lt P C Cursos =egistro de nuevos cursos 1ctuali)acin 1lt P 1 Profesores =egistro de nuevos profesores 1lt P P 1ctuali)acin de datos Salir Salir de la 1plicacin olucin Seleccione el icono $ew .enu Seguidamente se activar la siguiente ventana. del PowerBar,.

entro de la ventana $ew seleccionar la ficha O&'ects " dentro esta seleccionar el o&'eto

7<SD7<R .enu 6iew !Presentacin preliminar del menB#

8ree .enu 6iew !(structura del menB#

Propiedades

6entana de Cdigo

.n/. 0ictor Davila

viendaro4gmail.com

/N

.anual de Power Builder Seleccione untitled0 del 23)) 0.)!+ realice un clic5 con el &otn contrario " seleccione la opcin .n#ert ib,enu .te,

*uego ingrese el t0tulo para la primera opcin !en este caso escri&a M$lu,no## Seleccione la opcin M$lu,no# " realice un clic5 con el &otn contrario+ en la ventana que se despliega seleccione la opcin .n#ert ub,enu .te, .

(scri&a el t0tulo para el nuevo su&menB !(scri&a: M3e/i#tro de nuevo# alu,no##. Para activar el acceso con $lt N 3 a la opcin 3e/i#tro de nuevo# alu,no# + en la ventana de propiedades &usque la opcin +ortcut (ey " dentro de esta seleccione la letra 3+ " active el chec5 de +ortcut $lt

.n/. 0ictor Davila

viendaro4gmail.com

2?

.anual de Power Builder Para crear el siguiente elemento de 1lumnos. Seleccione M$lu,no# del 2ree 0iew+ realice un clic5 con el &otn contrario+ en la ventana que se despliega seleccione la opcin .n#ert ub,enu .te,. (scri&a el t0tulo para el nuevo item. (M<atricula de alu,no##.

Para activar el acceso con $lt N < a la opcin <atricula de alu,no# + en la ventana de propiedades &usque la opcin +ortcut (ey " dentro de esta seleccione la letra <+ " active el chec5 de +ortcut $lt Para crear la opcin Con#ulta %or #eccin+ siga el mismo procedimiento que utili) para crear : <atricula de alu,no#. Para crear la opcin MCur#o#+ seleccione untitled0 de la ventana de 23)) 0.)!. =ealice un clic5 con el &otn contrario " seleccione la opcin .n#ert ub,enu .te,.

(scri&a el t0tulo para la nueva opcin !en este caso : MCur#o##

.n/. 0ictor Davila

viendaro4gmail.com

2,

.anual de Power Builder

Para crear los su& menus de Cur#o#+ siga los mismos procedimientos reali)ados para los su& menBs anteriores. $l final el di#eOo del ,enP tendrH 7ue 7uedar de la #i/uiente ,anera.

Rra&e el menB con el nom&re : ,>%rinci%al. )NL$Q$3 1N <)NR $ 1N$ 0)N2$N$ 1&ra una nueva ventana !7indow#. (n la ventana de propiedades seleccione la opcin <enuNa,e+ =ealice un clic5 so&re el

&otn caso seleccione ,>%rinci%al#.

(n la ventana que se activa seleccione el menB que desea asociar a la ventana !(n este Rra&e la ventana con el nom&re w>%rinci%al " cierre+ e'ecute la ventana. ) C3.B.3 )L C'D.9' D) 1N <)N1 1&ra el menB que se ha creado anteriormente !,>%rinci%al#. Seleccione la opcin dentro del menB al cual desea asociar el cdigo. =ealice un clic5 con el &otn secundario " seleccione la opcin Script.

.n/. 0ictor Davila

viendaro4gmail.com

2-

.anual de Power Builder

(n la venta de cdigo escri&a la ventana o accin que desee que realice el menB. !en este caso escri&a Open !$om&reC6entana# (l cdigo de la opcin cerrar es: Clo#e(w>%rinci%al# e la misma manera escri&a los cdigos de las dems opciones de menB.

Rra&e el menB " cierre. ('ecute la ventana w>%rinci%al. C3)$3 1N$ B$33$ D) @)33$<.)N2$ Para crear una &arra de herramientas+ es necesario que la ventana en donde se va a insertar la &arra de herramientas sea del tipo . D !<ulti%le Docu,ent .nterface# Para nuestro e'emplo utili)aremos el menB que se ha creado anteriormente. 1&ra el o&'eto menB que se ha creado anteriormente !,>%rinci%al#

Seleccione el elemento de menB al cual desea asociar un icono de la &arra de herramientas !en este caso seleccione =egistro de nuevos alumnos#. (n la ventan de propiedades seleccione active la ficha 2oolbar+ " en la opcin 2oolbar.te,2e5t !8e9to del elemento de la &arra de herramientas#+ escri&a el te9to que se

.n/. 0ictor Davila

viendaro4gmail.com

2/

.anual de Power Builder desea mostrar al momento de u&icar el mouse so&re dicho icono ! en este caso escri&a : =egistro de nuevos alumnos# (n la opcin 2oolbar.te,Na,e+ seleccione el icono que desea mostrar en la &arra de &arra de herramientas. (n la opcin 2oolbar.te,DownNa,e !es opcional#+ seleccione el icono que desea mostrar cuando se pulsa so&re este en la &arra de herramientas.

)l di#eOo tendrH 7ue 7uedar de la #i/uiente ,anera.

Barra de Qerramientas que se ha creado

Nota: $o es necesario crear el cdigo para la &arra de herramientas+ esto se de&e a que se los iconos de la &arra de herramientas+ se encentran enla)ados a las opciones de menB. Para crear los otros iconos de la &arra de herramientas+ siga los mismos procedimientos anteriores. Para ca,biar el ti%o de ventana a ,di& realice lo #i/uiente: 1&ra la ventana que desea modificar.

.n/. 0ictor Davila

viendaro4gmail.com

22

.anual de Power Builder (n la ventana de propiedades+ &usque la opcin !indow 2y%e+ " seleccione la opcin <diS ('ecute la ventana para ver el resultado.

i de#ea 7ue toda# la ventana# 7ue #e abran de#de la barra de ,enP& #e activen dentro de la ventana %rinci%al& tendrH 7ue ca,biar la %ro%iedad !indow2y%e& de la# otra# ventana# a C+ildS. (ste es un e'emplo de una ventana tipo child;. *a ventana que se activa+ solo podr moverse dentro de la ventana principal.

.n/. 0ictor Davila

viendaro4gmail.com

2H

.anual de Power Builder C3)$3 1N$ N1)0$ B$ ) D) D$2' 12.L.Q$ND' )L D. )L$D'3 D) B$ ) D) D$2' D)L P'!)3 B1.LD)3 7.0 ,. %na ve)+ que se encuentre dentro del power &uilder+ seleccionar el icono de DataBa#e -. entro de la ventana de &ase de datos+ seleccionar la carpeta de %itilities " e9pandir.

/. Seleccionar la opcin Create $ $ Databa#e " reali)ar do&le clic+ se activar la siguiente pantalla.

2. Seleccione el &otn Brow#e& &usque la carpeta en donde desea gra&ar su &ase de datos+ indique el nom&re de la misma+ " realice un clic so&re el &otn 9uardar.

.n/. 0ictor Davila

viendaro4gmail.com

2A

.anual de Power Builder H. entro de la ventana Create $da%tive erver $nyw+ere DataBa#e+ Seleccione el &otn '4 A. %na+ ve) que se ha"a creado+ se o&servar que dentro de la &ase de datos O BC+ se agrego la nueva cone9in que se ha creado.

@. Si se desea cam&iar el nom&re de la cone9in+ realice do&le clic so&re la cone9in. L. (n la ventana que se activa+ seleccione Profile Na,e+ e ingrese el nuevo nom&re de la cone9in. ('emplo !Cone9inC1lumnos# " seleccione el &otn '4

*a cone9in+ se mostrar con el nuevo nom&re creado. *uego e9panda la nueva cone9in.

.n/. 0ictor Davila

viendaro4gmail.com

2@

.anual de Power Builder N. Si se desea crear ta&las de datos+ dentro de la cone9in creada+ seleccione la carpeta 2able# " reali)ar un clic con el &otn derecho.

,?. (n la ventana de dise3o de ta&las+ ingresar el nom&re del campo+ tipo de dato " ancho del mismo

,,. Para gra&ar la nueva ta&la de datos+ seleccione el icono de guarda+ en la ventana que se activa+ ingrese el nom&re de la ta&la " seleccione el &otn '4.

,-. (9panda la carpeta 2able# " ver que la nueva ta&la se ha agregado a la lista de ta&las.

,/. Para crear un 0ndice !*lave Principal# dentro de la ta&la creada+ seleccione la ta&la+ realice un clic con el &otn derecho+ seleccione New& " luego Pri,ary (ey.

.n/. 0ictor Davila

viendaro4gmail.com

2L

.anual de Power Builder

,2. (n la ventana de Pri,ary (ey !Cone9inC1lumnos#+ 1ctive el chec5 del campo+ del cual desea crear el 0ndice principal " luego gra&e la ta&la de datos.

,H. entro de la ventana O&'ect *a"out+ se mostrar la ta&la de datos+ con su clave creada+ tal como se muestra a continuacin.

.n/. 0ictor Davila

viendaro4gmail.com

2N

.anual de Power Builder Cree la ta&la Dato#>$lu,no#+ de la misma manera+ el dise3o es el siguiente:

*a llave principal ser Codi/o>$lu,no. 1l terminar de crear se de&er de mostrar las dos ta&las creadas+ cada una con sus respectivas llaves creadas+ tal como se muestra a continuacin

Clave# *orHnea# (*orei/n (ey) *as Clave fornea es una com&inacin de una o mas columnas de una ta&la que sirven para identificar a una o mas columnas de otra ta&la+ una clave fornea+ relaciona informacin de

.n/. 0ictor Davila

viendaro4gmail.com

H?

.anual de Power Builder dos ta&las. %na ta&la puede contener varias claves forneas+ "a que su informacin puede estar relacionada con mas de una ta&la. Crear una clave forHnea %ara la tabla Dato#>$lu,no#. ,. Seleccione la ta&la Dato#>$lu,no#+ dentro de la carpeta 2able#+ dar un clic con el &otn derecho+ en el menB que se activa+ seleccionar New& seguido de *orei/n (ey. -. (n la ficha general de *orei/n (ey+ ingresar el nom&re de la clave !*orei/n (ey& puede ser viene el el mismo campo nom&re forneo del campo) " seleccionar " activar el el campo campo *orHneo principal !Codi/o>)#%ecialidad# " el la ficha Pri,ary (ey& seleccionar la ta&la !2able#+ de donde !)#%ecialidade## !Codi/o>)#%ecialidad#

/.

espus de ha&er creado la clave fornea+ gra&ar la ta&la. muestra a continuacin.

2. (n la venta de Layout+ se mostrar las dos ta&las con su respectiva llave+ tal como se

.n/. 0ictor Davila

viendaro4gmail.com

H,

.anual de Power Builder C3)$3 1N$ C'N 1L2$ D) D$2' Crear una con#ulta 7ue ,ue#tre lo# dato# de la tabla )#%ecialidade#. ,. Seleccione el icono New del PowerBar1 -. entro de la ventana New+ seleccionar la ficha Databa#e& opcin Guery " pulsar el &otn '4.

/. Seleccionar la ta&la de donde se desea crear la consulta de datos !)#%ecialidade## " pulsar el &otn '%en.

2. Seleccionar los campos que se incluirn en la Consulta.

8a&la seleccionada para la consulta

Campos Seleccionados en la consulta

.n/. 0ictor Davila

viendaro4gmail.com

H-

.anual de Power Builder H. Para reali)ar una presentacin preliminar+ realice un clic so&re el icono la vista+ seleccione el siguiente icono . + para salir de

A. Rra&e la consulta+ seleccionando el siguiente icono

Con#ulta con ParH,etro# o $r/u,ento#. Son consultas que retornan datos de acuerdo a un parmetro o argumento ingresado. Crear una con#ulta 7ue ,ue#tre lo# dato# de tabla e#%ecialidade#& de acuerdo al cdi/o de e#%ecialidad in/re#ado. ,. =epetir los H procedimientos anteriores. -. (stando dentro de la venta de dise3o de consultas+ seleccione De#i/n de la &arra de menB+ seguido de la opcin 3etrieval $r/u,ent#... /. (n la ventana que se activa !)#%ecyfi 3etrieval $r/u,ent#...)& ingresar el nom&re de la varia&le !CodC(sp# a crear+ especifique el tipo de dato para el mismo !String#+ luego seleccione el &otn '(

2. Seleccione

la

columna

!Colu,n)

que

se

relacione

con

el

1rgumento.

!CodigoC(specialdad#+ luego el operador !S# " el valor !0alue# + en este caso como valor ira el argumento que se ha creado+ para lo cual realice un clic con el &otn derecho so&re este casillero+ seleccione la opcin $r/u,ent#..+ en la ventana que se activa seleccionar el

.n/. 0ictor Davila

viendaro4gmail.com

H/

.anual de Power Builder argumento creado !en este caso CodC(sp#+ luego pulse el &otn Pa#te. de la siguiente manera& e&er de quedar

H. 1l reali)ar una presentacin preliminar '(

+ se activar una ventana en donde tendr que

ingresar el valor para el argumento que se ha creado. Dngresar el valor " pulsar el &otn

8al como se muestra en el e'emplo+ se mostrarn los datos+ de acuerdo a valor ingresado !1rgumento#

A. Para salir de la consulta+ seleccione el siguiente icono @. Rra&e la consulta+ seleccionando el siguiente icono .

.n/. 0ictor Davila

viendaro4gmail.com

H2

.anual de Power Builder Crear una con#ulta relacionando do# tabla# de dato#. Cuando una ta&la de datos contiene campos de otras ta&las !*laves forneas#+ como es el caso de la ta&la Dato#>$lu,no#+ es recomenda&le relacionarla con la ta&la principal !)#%ecialidade## tal como se vio en clases anteriores. Si se desea crear una consulta de la ta&la Dato#>$lu,no#+ " que muestre el nom&re de la especialidad en el campo Codi/o>)#%ecialidad+ las dos ta&las tendrn que estar relacionadas. ,. Seleccione el icono New del PowerBar1 -. entro de la ventana New+ seleccionar la ficha Databa#e& opcin Guery " pulsar el &otn '4.

/. Seleccionar las ta&las de donde se desea crear la consulta de datos !Da#to#>$lu,no# " )#%ecialidade## " pulsar el &otn '%en.

2. Seleccionar todo los campos de la ta&la Dato#>$lu,no# a e9cepcin del campo Codi/o>)#%ecialidad+ " de la ta&la (specialidades+ seleccionar el No,bre>)#%ecialidad. campo

.n/. 0ictor Davila

viendaro4gmail.com

HH

.anual de Power Builder

Dndica que estas dos ta&las estn relacionadas por los campos que indican las l0neas

H. 1l reali)ar una presentacin preliminar

+ se mostrara que cada alumno aparece con el

nom&re de la especialidad a donde pertenece+ " no el codi/o>e#%ecialidad que se encuentra en la ta&la Dato#>$lu,no#+ esto se de&e a la relacin que e9iste entre las dos ta&las. atos atos atos atos

A. Para salir de la consulta+ seleccione el siguiente icono @. Rra&e la consulta+ seleccionando el siguiente icono .

.n/. 0ictor Davila

viendaro4gmail.com

HA

.anual de Power Builder Practica Calificada. $/re/ar a #u ba#e de dato# la# #i/uiente# 2abla#.

=elacione las ta&las de tal forma que queden como se muestra a continuacin

Dndice $ormal !Dnde9#

.n/. 0ictor Davila

viendaro4gmail.com

H@

.anual de Power Builder ,. 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. )-e,%lo6 Si se ingresa el cdigo del alumno ???,+ solo mostrar los datos del alumno ingresado.
atos 1lumnos atos 1lumnos atos 1lumnos atos 1lumnos atos 1lumnos atos 1lumnos atos 1lumnos

-.

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. )-e,%lo6 Si se ingresa el nom&re de la especialidad FComputacin e DnformticaG+ solo mostrar los alumnos de esa especialidad.
atos 1lumnos atos 1lumnos atos 1lumnos

.n/. 0ictor Davila

viendaro4gmail.com

HL