You are on page 1of 71

INSTITUTO SUPERIOR TECNOLGICO

NORBERT WIENER
Manual del Alumno
ASIGNATURA: Lenguaje de
Programacin IV (Power
Builder I)
PROGRAMA: S3C
Lima-Per
Manual del Alumno
*Semana # 1
Introduccin
Power Builder es una herramienta de desarrollo de aplicaciones Cliente Servidor para
el ambiente Windows, como tal utilia las caracter!sticas de este ambiente" Primero
debemos entender #ue el ambiente Windows permite realiar Inter$aces %r&$icas de
'suario ba(o el concepto )*o #ue 'd" ve es lo #ue puede realiar), ba(o este conte+to la
presentacin cobra mucha importancia , de otra parte tenemos el mane(o de la Base de
-atos"
.l Power Builder adem&s traba(a con los si/uientes conceptos0
Programacin Orientaa a O!"eto#
.ste concepto es sencillo de entender si lo aclaramos con un e(emplo, una silla es un
objeto1 los elementos #ue la caracterian son los atributos 2color, altura, etc"3" 4odos
estos atributos 2caracter!sticas del ob(eto3 pueden tomar valores dentro de un dominio
de$inido por la caracter!stica en si 2color no puede tomar el valor 1, 5 metros, la altura
no puede ser amarillo, ro(o, etc"3
6hora veamos su relacin con los ob(etos en la pro/ramacin, un ob(eto en
pro/ramacin es un elemento #ue posee caracter!sticas, pero m&s a7n posee mtodos
2$unciones3 #ue han sido de$inidas para interactuar en operaciones comunes con dicho
ob(eto" .(" buscar un !tem en una lista"
'na instancia particular de un ob(eto se convierte en una 8variable9, para todos los $ines
de la pro/ramacin, sus atributos se convierten en 8campos9 de esta"
Ti$o# e O!"eto#
.+isten dos tipos de ob(etos0
a3%ISUALES: Son a#uellos #ue pueden ser vistos por el usuario en el monitor de su
computador"
.(" Botones, ventanas, etc"
b3NO %ISUALES: Son a#uellos #ue aun#ue no pueden ser vistos por el usuario,
poseen todas las caracter!sticas de estos"
.(" .rrores, :b(etos de 4ransaccin 2S;*3
.n una aplicacin Power Builder los ob(etos No &i#'a(e# son mu, necesarios para #ue
los ob(etos %i#'a(e# interactuen con otros elementos a(enos al Sistema computacional
en si"
Atri!'to#) E&ento#) *+too# ,-'ncione#.
Como ,a se menciono previamente un ob(eto esta constituido por 86tributos91 estos lo
caracterian" .+isten atributos #ue pueden modi$icarse , otros no" 4ambi<n e+isten
atributos #ue son modi$icables tanto durante el dise=o de la aplicacin en si, como
durante la e(ecucin, , otras #ue solo pueden ser modi$icadas durante el dise=o"
*os 8m<todos9, son $unciones destinadas a manipular elementos #ue son de$inidos en
con(unto con el ob(eto, esto implica #ue un ob(eto solo puede manipular elementos #ue
est<n contenidos en el2 e$ecto )ca(a ne/ra)3 e(" en un ob(eto lista, la $uncin buscar solo
lo hace en los !tems del ob(eto lista"
.ste principio se denomina Encapsulamiento , permite una autonom!a de cada ob(eto
con su entorno.
Manual del Alumno
E&ento#: cada accin #ue se puede realiar sobre el ob(eto es un .vento1 e(" >acer un
clic? sobre un ob(eto botn, presionar una tecla al escribir en un ob(eto ca(a de te+to,
etc" Cada una de estas acciones es independiente una de otras, pero no necesariamente
son e+clu,entes" .(" al presionar el botn se realian los .ventos 8Cerrar9 de la ventana,
, el evento 8-estruir9 tambi<n de la ventana1 el primero se realia al sacar la ventana de
la pantalla , el se/undo se realia cuando se saca la ventana de la memoria principal"
4ambi<n es necesario indicar el principio de la Herencia, como en el ser humano un
hi(o /erea al/unos ras/os de sus pro/enitores, en la pro/ramacin orientada al ob(eto,
un ob(eto puede 8heredar9 los valores dados a una propiedad, (unto con todas las
caracter!sticas dadas al ob(eto ori/en 2cdi/o, otros ob(etos contenidos dentro de este,
etc"31 pero con la libertad de deshacerse de estos o a=adir nuevos sin alterar al ob(eto
ori/inal"

Am!iente e 0e#arro((o
.l ambiente de desarrollo de Power Builder permite traba(ar con todos los elementos
#ue son necesarios para la realiacin de un pro,ecto" Para e(ecutar Power Builder va,a
al botn Inicio de Windows, la opcin Pro/ramas la carpeta S,base , dentro de este el
elemento Power Builder @"A
Caracter1#tica#
.l ambiente de dise=o de aplicaciones de Power esta contenido en un B-I 2Inter$a de
B7ltiple -ocumentos3, lo #ue permite #ue pueda contener en $orma ordenada todas las
ventanas necesarias #ue uno puede utiliar en $orma continua para el -esarrollo una
6plicacin"
Entorno e Po2er B'i(er
Power Builder posee muchas &reas de traba(o para el desarrollo de los ob(etos o
elementos #ue con$orman una aplicacin, cada ob(eto #ue crea en la aplicacin o
pro,ecto /eneralmente debe ser /uardado en un archivo de librer!a o biblioteca2*"pbl3
donde ser& almacenado para su utiliacin" Se podr& tener abierta m7ltiples &reas de
desarrollo, pudiendo cambiarse de una a otra a trav<s del men7 Windows, donde
aparece con una marca el &rea donde esta actualmente , el elemento en el #ue se esta
traba(ando"
6dem&s, puede tener varios ob(etos de la misma &rea abiertos, para e$ectos de traba(o
con ellos cada uno de estos es independiente" .s importante hacer notar, #ue al/unas
opciones del men7 se ver&n alteradas al estar en una u otra &rea de desarrollo" *as &reas
de traba(o son enumeradas en la barra de herramientas llamada Power Panel la cual se
activa en el Ben7 Window opcin 4oolBar"
Manual del Alumno
*as 6reas de 4raba(o o botones del Power Panel nos lleva a los Painters o pintores del
Power Builder , tenemos a los si/uientes0
Area 0e#cri$cin
Cew Permite crear un nuevo elemento de Power Builder #ue puede ser una aplicacin, una
ventana, un men7, una base de datos, un datawindow, un pro,ecto, etc"
Inherit Permite crear herencia con un determinado elemento de Power Builder
:pen Permite abrir la ventana :pen, #ue se usara para abrir cual#uier ob(eto anteriormente
creado en el entorno de Power Builder"
Select 6pplicationPermite abrir o seleccionar una aplicacin anteriormente creada"
*ibrar, *ist Se usa para veri$icar o a/re/ar las librer!as #ue pertenecen a una aplicacin"
4oD-o *ist Permite activar un archivo de te+to o editarlo"
Browser 6bre una ventana de in$ormacin sobre cada elemento u ob(eto #ue $orma parte de
una aplicacin"
*ibrar, 'se est& &rea de traba(o para crear , mantener las librer!as, , los ob(etos #ue
contienen estas" .stos ob(etos pueden ser la 6plicacin, Eentanas, Ben7s, etc"
4ambi<n es posible copiar, mover ob(etos de una librer!a a otra, o bien eliminarlos
e+presamente"
-B Pro$ile Permite seleccionar un Pro$ile, previamente de$inido, con el #ue se conectara a la
Base de -atos correspondiente" Para cada tipo de Base de -atos los par&metros con
los #ue se sirve para conectarse, pueden variar se/7n el $abricante de la Base de
-atos, in$rmese del proveedor de la B-"
-atabase Permite traba(ar con Base de -atos, a#u! es posible CrearFBodi$icar 4ablas, Claves
PrimariasFGor&neas, Banipular datos,etc"
.dit Permite abrir el .ditor del Power Builder para la creacin de archivos de te+tos de
tipo Pro$ile2*"ini3, S;*2*"s#l3, archivos de te+tos2*"t+t3,etc"
Hun Permite e(ecutar la aplicacin desde su comieno, si estuviera traba(ando en un 6rea
de 4raba(o, se le pedir& #ue /uarde los cambios antes de iniciar la e(ecucin de la
aplicacin"
-ebu/ Permite in/resar al depurador del len/ua(e Scripts del Power Builder"
.+it 4ermina la e(ecucin de la aplicacin , sale del 6mbiente de Power Builder"
Cada 6rea de traba(o tiene su propia Barra de >erramientas, la #ue se llama Painter Bar
2)Barra de Herramientas de Pintores)3, la #ue se presenta como una se/unda barra de
herramientas"
A$(icacin
Para Power Builder una aplicacin es un ob(eto, debe ser 7nico dentro de todas las
librer!as #ue con$ormaran la aplicacin o sistema en s!" Para traba(ar con la aplicacin
presione el botn :pen , seleccione el ob(eto 6pplication de la ventana :pen"
*antenimiento e A$(icacione#
N'e&a A$(icacin:
Para iniciar una nueva aplicacin seleccione la opcin Ne2 desde el men7 -i(e o bien
presionando el botn Ne2 desde la barra de herramientas Power Panel"
Manual del Alumno
6parecer& una ventana %uardar donde 'd" deber& seleccionar el lu/ar donde se
depositara el archivo 2*"PB*3 , (unto con este indicar el nombre de dicho archivo"
*ue/o deber& in/resar el nombre de la aplicacin en una ventana como la #ue si/ue"
A!rir 'na a$(icacin e3i#tente
Para abrir una aplicacin e+istente seleccione la opcin O$en desde el men7 -i(e o bien
presione el botn O$en de la barra de herramientas Power Panel" Bus#ue el archivo
2*"pbl3 #ue conten/a el ob(eto aplicacin , clic en :I"
G'arar Cam!io#
Para /uardar los cambios al modi$icar seleccione la opcin Sa&e desde el men7 Gile o
bien presione el botn Sa&e desde la barra de herramientas Painter Bar"
"
Pro$ieae#
Presione el botn Properties "
*os atributos de la aplicacin tienen relacin con caracter!sticas /lobales de la
aplicacin lue/o se mostrar& la si/uiente ima/en"
Manual del Alumno
;ue en la $icha %eneral indica los par&metros #ue tendr& por de$ecto la aplicacin , en
la $icha 4oolBar los par&metros #ue por de$ecto tendr&n las barras de herramientas
ane+adas a la aplicacin"
.l botn 6dditional Propierties abre la si/uiente ventana de propiedades adicionales"
;ue se emplean de la si/uiente manera0
-ic/a 0e#cri$cin
Te3t -ont
Co('mn -ont
4eaer -ont
La!e( -ont
Permite de$inir las caracter!sticas del $ormato de *etras"
Permite de$inir las caracter!sticas del $ormato de *etras de los Campos de -atos"
Permite de$inir las caracter!sticas del $ormato de *etras de la cabecera de los Campos"
Permite de$inir las caracter!sticas del $ormato de *etras de las eti#uetas de los Campos
Icon Permite de$inir el icono de la aplicacin"
%aria!(e
T5$e#
Permite conocer las variables /lobales por de$ecto #ue emplea la aplicacin , su tipo"
E&ento#
*os eventos m&s utiliados para un ob(eto 6pplication son0
E&ento 0e#cri$cin
O$en *as instrucciones a e(ecutar cuando inicie o abra la aplicacin"
C(o#e *as instrucciones a e(ecutar cuando termine o cierre la aplicacin"
S5#temerror *as instrucciones a e(ecutar cuando ocurre un error en el sistema"
Manual del Alumno
*Semana # 5
O!"eto# Wino2 - %entana#
*as Eentanas son contenedores de otros ob(etos visuales, es posible poner en ellas una
diversidad de ob(etos" .stos ob(etos se denominan en $orma /en<rica Contro(e#1 una
ventana se usa para crear la presentacin de la aplicacin o Inter$a %r&$ica de 'suario"
Para traba(ar en el dise=o de una ventana presione el botn Ne2 del PowerBar"
Inmediatamente aparecer& una ventana donde podr& seleccionar la $icha :b(ect ,
seleccionar el ob(eto Window para usar , presionar O6 para traba(ar en ella, o puede
presionar el botn O$en para abrir una ventana anteriormente creada"
.n la parte superior aparece el nombre del ob(eto ventana"
.l rect&n/ulo #ue esta inmerso en la ventana corresponde al ob(eto ventana en
dise=o"
-espu<s de presionar el botn Ne2 aparecer& una ventana vac!a" 'd" puede
redimensionar la ventana usando los bordes de la misma , lue/o en tiempo de dise=o
a/re/ar los controles para crear la Inter$a %r&$ica de 'suario"
Pro$ieae# e 'na &entana
*as propiedades de la ventana est&n or/aniadas en 7ic/a# con un con(unto de
propiedades" 6#u! no se mencionaran todas las propiedades, ,a #ue al/unas se repiten
para todos los Controles 2ver Controles3"
-ic/a 0e#cri$cin
Genera( Casilla Tit(e, indica el te+to de la barra de titulo de la ventana"
*a casilla *en' Name, indica el nombre del ob(eto Benu #ue se enlaar& con la ventana"
*a casilla Wino2 T5$e, indica el tipo de ventana0
C/i(, una ventana hi(a #ue permanece insertada dentro de una ventana B-I"
*ain, una ventana normal, con posibilidad de men7"
*0I -rame, ventana #ue posee &rea interna para contener otras ventanas"
*0I -rame 2it/ *icro/e($ i/ual #ue la anterior, pero con barra de estado in$erior"
Po$'$ una ventana para desple/ar men7s conte+tuales"
Re#$on#e, una ventana de respuesta, necesita cerrar esta ventana para continuar con la e(ecucin
de la aplicacin"
Contro(*en' activa o desactiva el botn de Ben7 Control de la ventana"
Tit(eBar es el titulo #ue ira en la barra de titulo de la ventana"
*a3Bo3 activa o desactiva el botn ma+imiar
*inBo3 activa o desactiva el botn minimiar
Wino2State indica si la ventana se abrir& ma+imiada, minimiada o en $orma normal
Icon Identi$ica al Icono #ue aparecer& en la parte i#uierda de la barra de titulo de la ventana
Scro(( Permite de$inir si la ventana tendr& barras de desplaamiento, , las unidades de desplaamiento a
utiliarse en las barras"
Too(Bar Permite de$inir si se utiliara la barra de herramientas de$inida para el men7, su presentacin ,
posicin26li/nment3"
Ot/er Permite indicar la posicin de la ventana dentro de la pantalla2J e K3, el ancho2Width3 ,
altura2>ei/ht3 de la ventana, el puntero de mouse a mostrar en la ventana"
Contro(e#
Son los ob(etos visuales #ue pueden ser puestos en la ventana" .n la barra de
herramientas Painter Bar de la ventana, usar el botn de controles #ue muestra el
listado de todos los ob(etos o controles b&sicos #ue es posible de utiliar en la ventana"
Manual del Alumno
6dicionalmente se pueden dise=ar ob(etos con caracter!sticas adicionales por el usuario
o pro/ramador llamados 'ser :b(ect para ser utiliados tambi<n en las ventanas"
*os controles b&sicos son0
Contro(
Icono
0e#cri$cin
CommanB'tton Botn e Comano para e(ecutar tareas
Pict'reB'tton Botn e Imagen para e(ecutar tareas o mostrar archivos de ima/en
C/ec6Bo3 Ca#i((a e %eri7icacin0 Permite hacer una seleccin 2marcarlo3 entre
varias alternativas de las cuales se puede seleccionar una, al/unas, todas
o nin/una de ellas
RaioB'tton Botn e O$cin0 Permite seleccionar entre varias alternativas solo una
de ellas a la ve"
StaticTe3t Eti8'eta0 Solo para mostrar in$ormacin, no ha, posibilidad #ue pueda
escribirse directamente en el"
Pict're Imagen0 Permite visualiar una ima/en" .sta puede ser de$inida en
tiempo de dise=o, o puede ser modi$icada en tiempo de e(ecucin"
Sing(eLineEit C'aro e Te3to o Ca"a e eicin e te3to0 es posible #ue el usuario
en tiempo de e(ecucin escriba un te+to dentro de la misma ca(a"
Eit*a#6 Ca(a de te+to, a la #ue se le puede restrin/ir el con(unto de caracteres a
in/resar" Permite un $ormato de presentacin"
0ro$0o2nLi#tBo3 Ca(a de lista desple/able" Buestra un solo !tem, el seleccionado, de la
lista #ue se desplie/a al presiona el botn ad(unto"
Li#tBo3 Ca(a de lista" Buestra todos los !tems a la ve, pudiendo seleccionarse
inclusive, m&s de uno"
0ata2ino2 -atawindow Control, el #ue se vincula con un ob(eto -atawindow
dise=ado"
4#cro((Bar 5 %#cro((Bar Son barras de desplaamiento horiontal , vertical"
Ta! Contro( Permite crear un control de pa/inas o $ichas"
O(e Contro( Permite usar un control :le para mane(ar ob(etos :le"
U#er O!"ect Permite usar un ob(eto de usuario anteriormente creado"
Para a=adir un control a la ventana, seleccione el control, del listado" Presione el Bouse
sobre el lu/ar en la ventana donde desea a=adirlo" Para seleccionar un control de la
Contro(e# e
%entana#
Manual del Alumno
ventana, presione el Bouse sobre el, o manten/a presionado la tecla Control para
seleccionar m7ltiples ob(etos" Puede moverlo, manteniendo presionado el Bouse al
mover este"
Pro$ieae# Contro(e#
*as propiedades de los controles pueden ser modi$icados, tanto en tiempo de dise=o,
como en tiempo de e(ecucin1 v!a cdi/o"
Para ver las propiedades de un control, utilice la ventana propiedades"
*as propiedades de todo control est&n ordenadas por tpicos, estos pueden variar
levemente entre controles" *os m&s comunes son0
-ic/a 0e#cri$cin
Genera( 8Came9, indica el nombre del ob(eto" *a casilla 84e+t9, indica el te+to a ser mostrado" 84a/9,
permite /uardar cual#uier dato" 8Eisible9, indica si el ob(eto puede verse" 8.nabled9, indica si
ob(eto esta activamente disponible"
Para los Botones0 8-e$ault9 indica el botn por de$ecto a e(ecutarse cuando se presiona la
tecla .nter" 8Cancel9 indica el botn por de$ecto a e(ecutarse cuando se presiona la tecla
.scape"
Para las ca(as de .dicin, .ti#ueta , *ista -esple/able0 86li/nment9, indica la alineacin
del te+to" 8Case9 el tipo de presentacin del te+to2Ba,7sculas, Bin7sculas o normal3"
8BorderSt,le9 indica el tipo de borde" 8*imit9, el n7mero de caracteres a in/resar en el cuadro
de edicin"
Para la *ista -esple/able0 96llow .dit9, indica #ue se puede escribir un !tem adem&s de
seleccionarlo" 8Sorted9, indica si la lista ser& ordenada al$ab<ticamente o no"
Para la *ista0 8BultiSelect9, indica posibilidad de seleccin m7ltiple"
-ont Permite de$inir el tipo de letra, tama=o , caracter!sticas de presentacin del te+to
visible2Bold, Italic , 'nderline3" 84e+t Color9, indica el color del 4e+to" 8Bac?/round9, indica
el color de $ondo"
Ot/er Indica las coordenadas 8J9 e 8K9, tambi<n se indica el ancho 2Width3 , la altura del ob(eto
2>ei/ht3, 8Pointer9 indica el puntero de mouse a mostrar en el control, 8-ra/Icon9 indica el
icono a mostrar cuando se arrastre un control, 8-ra/6uto9 indica si el arrastre es autom&tico o
no"
Icon Indica el tipo de Icono, #ue ser& ver& en el ob(eto en tiempo de e(ecucin"
Item# Para los ob(etos lista, permite in/resar el te+to de cada !tem"
*a#6 Permite de$inir la mascara de entrada de datos" Seleccione 84,pe9 para ver en 8Bas?s9,
los posibles caracteres a utiliar" Cual#uier otro car&cter se considera un literal"
E&ento# e (o# Contro(e#
*os eventos m&s comunes de los controles son0
E&ento 0e#cri$cin
C(ic6e Cuando el usuario presione el Bouse sobre el &rea #ue con$orma el ob(eto visual"
Get-oc'# Cuando el ob(eto obtiene la atencin, se Bouse el cursor sobre el"
Lo#e-oc'# Cuando el ob(eto pierde la atencin"
0o'!(eC(ic6e Cuando el usuario presiona dos veces el Bouse sobre el &rea #ue con$orma el ob(eto
visual"
Se(ectionC/ange Cuando se cambio de !tem seleccionado"
RB'tton0o2n Cuando se presiona el botn derecho del Bouse sobre el &rea #ue con$orma el ob(eto
visual"
*oi7ie Cuando el control pierde la atencin, se presiona .nter o 4ab, o el te+to es
modi$icado"
*Semana # L
Manual del Alumno
Po2erScri$t
.s el len/ua(e de pro/ramacin de Power Builder, contiene sentencias propias #ue le
permiten manipular la in$ormacin, permite indicar las acciones a realiar en la
aplicacin dependiendo de ciertos valores, o bien sencillamente presentarla al usuario"
4odo esto es realiado por el pro/rama en $orma autnoma , a veces sin participacin
e+terna, por ende se debe ser previsor al momento de dise=ar , pro/ramar una
aplicacin" .l presente cap!tulo presenta las sentencias #ue son re#ueridas para la
manipulacin de la in$ormacin por parte del Power Builder "
Ti$o# e ato#
*os tipos de datos #ue est&n de$inidos para Power Builder son los si/uientes , se
denominan Ti$o# e 0ato# E#t9nar"
Ti$o e 0ato 0e#cri$cin
B(o!
:b(eto Binario *ar/o0 'sado para almacenar una /ran cantidad de datos, pero cu,o lar/o no
esta claro"2e(" Im&/enes, archivos de te+to, documentos3
Boo(ean
-atos */icos0 Contiene solo Eerdadero o Galso" 24H'. o G6*S.3
C/ar
Car&cter0 6lmacena un 7nico car&cter 6SCII"
0ate
-atos para una $echa, en $ormato americano 2,,M,,N,mm, dd3 6=o 21AAAD LAAA3, mes 2A1D 153 ,
d!as" 2A1D L13
0ateTime
Contiene la Gecha , la >ora en un 7nico tipo de dato, usado solo para lectura o escritura de
valores 8-ate4ime9 de$inidos en una Base de -atos" Para convertir un valor 8-ata4ime9 en un
tipo de dato #ue pueda ser usado en PowerBuilder 2date, time3, use0
-ate2-ate4ime3, para convertir un valor 8-ate4ime9 en un valor -ate"
4ime2-ate4ime3, para convertir un valor 8-ate4ime9 en un valor 4ime"
-ate4ime2-ate, 4ime3, para convertir un 8-ate9 , un 84ime9 en un valor -ate4ime
0ec
Soporta n7meros decimales con sobre 1O d!/itos" .(" 15LPQR,AAAAA1
0o'!(e
C7meros con punto $lotante, con 1Q d!/itos de precisin , un ran/o desde 5"5.LAO a 1"@.SLAO"
Int
'n entero de 1R bits, con ran/o de DL5@RO a SL5@R@"
Long
'n entero lar/o de L5 bits, con ran/o de D5,1P@,POL,RPO a S5,1P@,POL,RP@"
Rea(
'n numero con punto $lotante, con R d!/itos de precisin , un ran/o desde 1"1@ . DLO a L"P .
SLO"
String
Cual#uier car&cter 6SCII con un lar/o variable" 2A a RA,AAA3
Time
>ora en $ormato 5P horas, inclu,e la hora 2AAD5L3, minutos 2AAD QT3 se/undos 2AAD QT3 ,
$raccin de se/undos 2sobre R d!/itos3" Con un ran/o desde AA0AA0AA a 5L0QT0QT"TTTTTT
0e7inicin e %aria!(e#:Con#tante
'na variable se de$ine anteponi<ndole el tipo de dato #ue ser& permitido para esa
variable"
.(" Se desea declarar una variable de tipo entera , de nombre UmontoVcuotaU
integer monto;c'ota
strin/ nom!re
'd" puede declarar varias variables del mismo tipo, separando cada una de estas con una
coma 2,3
.("
inte/er montoVcuota, totalVcuotaW A
Cota0
Manual del Alumno
Como 'd" podr& notar a la variable se le asi/no un valor inicial" .sto se puede realiar
con cual#uier variable, teniendo cuidado de asi/nar un valor #ue corresponda con el tipo
de dato"
Para declarar una variable como una constante, el valor asi/nado inicialmente no podr&
ser modi$icado durante el pro/rama, se antepone la palabra clave C:CS46C4"
.("
constant real *HVPI W L"1P1QT5RQ
Am!ito
.+isten P tipos de &mbito, alcance dentro de los mdulos del pro/rama, en donde podr&
ser utiliada una variable" .stos cuatro &mbitos ser&n mencionados a continuacin"
*os tres primeros son de$inidos $uera de cual#uier modulo e(ecutable, , se declaran en
el &rea de traba(o de las Eentanas"
4odos estos tienen la misma ventana de in/reso de variables, solo cambiando el &mbito
2ran/o3 de uso de la variable dentro del pro/rama"
%aria!(e# P!(ica# ,G(o!a( %aria!(e#.
.s a#uella variableFconstante #ue podr& ser utiliada en toda la aplicacin, es decir1
podr& hacerse re$erencia a ella desde cual#uier modulo del pro/rama"
Para declarar una variable /lobal" .stando en cual#uier modulo de cdi/o, seleccione el
men7 U-eclareU opcin U-eclare %lobalU1 aparecer& la ventana de declaracin de
variables, donde 'd" podr& de$inir la2s3 variable2s3 como se e+plico anteriormente"
4ambi<n 'd" puede declarar un UcursorU 2vea el tpico S;* Incrustado3 #ue podr& ser
re$erenciado desde cual#uier parte de la aplicacin" Para ello solo presione el dibu(o #ue
dice UCursorU , si/a las mismas indicaciones #ue se dan en la Seccin UCursoresU del
tpico US;* IncrustadoU"
%aria!(e# e In#tancia ,In#tance %aria!(e.
*as variables #ue sean declaradas como %lobales solo al :b(eto, podr&n ser utiliadas
en cual#uier cdi/o $uente, pero solo del ob(eto donde se declaro 2ventana, men7,
ob(etos del usuario3, es decir, donde se de$ina la2s3 variable2s3" 4ambi<n podr&n ser
utiliadas por todos los ob(etos #ue est<n inmersos en el 2e(" botn en una ventana3
Para declarar una variable /lobal al :b(eto" .stando en cual#uier modulo de cdi/o o en
la de$inicin de la ventana, seleccione el men7 U-eclareU opcin U-eclare Instance9"
6parecer& la ventana de declaracin de variables, ventana donde 'd" podr& de$inir la2s3
variable2s3 como se e+plico anteriormente"
4ambi<n 'd" puede declarar un UcursorU 2vea el tpico S;* Incrustado3 #ue podr& ser
re$erenciado desde cual#uier parte de la ventana especi$ica" Presione el dibu(o #ue dice
UCursorU , si/a las mismas indicaciones #ue se dan en la Seccin UCursoresU del tpico
US;* IncrustadoU"
Manual del Alumno
%aria!(e# Com$artia# ,S/are %aria!(e.
*as variables declaradas de este tipo i/ual #ue las del tipo anterior 2Instance3 solo
pueden ser reconocidas dentro del ob(eto especi$ico donde se declaro 2ventana, men7,
ob(eto del usuario3 , pero estas 7ltimas tienen la particularidad de conservar el valor
almacenado en esta al momento de cerrar , abrir nuevamente el ob(eto en cuestin"
Para declarar una variable /lobal al :b(eto de tipo Shared" .stando en cual#uier modulo
de cdi/o o en la de$inicin de la ventana, seleccione el men7 U-eclareU opcin U-eclare
Shared9" 6parecer& la ventana de declaracin de variables, ventana donde 'd" podr&
de$inir la2s3 variable2s3 como se e+plico anteriormente"
4ambi<n 'd" puede declarar un UcursorU 2vea el tpico S;* Incrustado3 #ue podr& ser
re$erenciado desde cual#uier parte de la ventana especi$ica" Presione el dibu(o #ue dice
UCursorU , si/a las mismas indicaciones #ue se dan en la Seccin UCursoresU del tpico
US;* IncrustadoU"
%aria!(e# Loca(e# ,%aria!(e# e *o'(o.
.stas variables son declaradas en el mismo cdi/o del modulo en cuestin, , solo tienen
vida en este, no pueden ser compartidas por otros mdulos del mismo ob(eto inclusive"
Uti(i<acin
'na variable puede ser utiliada para asi/narle un valor, comprobar su valor, asi/narle
su valor a otra variable .(" 6si/narle un valor"
monto;c'otaW1L
nom!re= UHicardoU
Comprobar su valor
I$ monto;c'otaW1L 4hen """
I$ nom!re>? UHicardoU 4hen """
6si/narle su valor a otra variable
tota(;c'otaW monto;c'ota
'na variable tambi<n puede aparecer tanto en la parte a#ignante 2#uien recibe el valor3
como en la a#ignaora 2#uien /enera el valor a asi/nar3
.("
monto;c'otaWmonto;c'otaS15
O$eraore# *atem9tico#) re(aciona(e# 5 (gico#
*os operadores matem&ticos son los si/uientes0
Suma S
Hesta D
Bultiplicacin *
-ivisin F
6dem&s e+isten los a/rupadores de e+presiones matem&ticas0
Manual del Alumno
U,U, indica comieno de la 6/rupacin"
U.U, Indica $in de la a/rupacin
.("
monto;c'ota W 25L * monto;c'ota3* 1L
*os operadores relacinales son los si/uientes0
: inclusivo :H
, inclusivo 6C-
Ce/acin C:4
I/ualdad W
-esi/ualdad XY
Benor X
Benor o i/ual XW
Ba,or Y
Ba,or o i/ual YW
.("
I$ monto;c'ota=15 6C- C:4 ob(eto"enabled 4hen """
6dicionalmente e+isten 5 valores constantes"
Eerdadero 4rue
Galso Galse
E#tr'ct'ra#
*as estructuras de datos es una manera de or/aniar la in$ormacin #ue esta contenida
en un elemento para #ue sea m&s $&cil su administracin" .stas se pueden comparar con
re/istros de datos donde, cada elemento particular de este es un campo" *os campos son
elementos di$erenciables uno de otro1 como si $ueran simples variables, pero1 estando
unidos por la de$inicin de la estructura"
.("
.structura0 Persona
Campos 4ipo
nombre Strin/
edad inte/er
se+o char
.n las estructuras de datos no es posible de$inir re/las de validacin t&citas, o
restricciones de entradas" Como por e(emplo )Se+oWUBU o Se+oWUGU), estas deben ser
de$inidas en el cdi/o $uente"
*os tipos de datos para cada campo pueden ser primitivos de Powerbuilder, ob(etos de
Power o bien ob(etos de$inidos por el usuario"
Para traba(ar con las estructuras presione el botn Cew, seleccione la $icha :b(ect ,
seleccione ob(eto Structure .
0e7inir E#tr'ct'ra
-e$ina los campos #ue con$ormaran la estructura" .n este caso el orden no es
primordial"
Manual del Alumno
.scriba el nombre del campo, en la columna 8Eariable Came9, el #ue deber& ser
7nico en toda la estructura"
Seleccione o escriba el tipo de dato, en la columna 84,pe9"
6l salir de esta ventana se le pedir& #ue escriba el nombre de esta estructura, si es
nueva1 este nombre debe ser 7nico para toda la aplicacin"
Si necesita a=adir un campo entre otros ,a e+istentes, presione el botn , contin7e
con la de$inicin del campo" Si re#uiere borrar un campo, presione el botn 1
teniendo cuidado #ue el cursor con la $echa este ubicado en la casilla #ue corresponda al
campo #ue desea borrar"
Tra!a"ar con E#tr'ct'ra#
*as estructuras #ue uno ha,a de$inido en el 6rea de traba(o de las .structuras, pueden
ser utiliadas en toda la aplicacin1 como si se tratara de un tipo de datos" Para poder
hacer uso de la estructura, es imprescindible #ue primero se declare una variable, , el
tipo de esta variable sea la estructura de$inida" 4ambi<n podr& utiliarse como tipo de
dato de par&metro de una $uncin, o bien de otra estructura"
.("
persona ,o
,o"nombreW )Hicardo)
,o"apellidoW)Pave)
,o"edadW 5@
i$ ,o"edadXW 5A then ,o"descripW )Zoven)
elsei$ ,o"edadXW RQ then ,o"descripW )6dulto)
else
,o"descripW)6nciano)
end i$
Como puede verse la variable U,oU $ue de$inida del tipo UpersonaU, #ue es una estructura
dise=ada por el 'suario" Para hacer re$erencia a cual#uier campo se escritura
XEariableY"XCampoY, el #ue puede ser utiliado para asi/narle un valor a dicho campo
2,o"edadW 5@3 o bien e+aminar el valor contenido en dicho campo 2i$ ,o"edadXW5A
then """3
Se vuelve a aclarar #ue dentro de la de$inicin del campo de la estructura no es posible
hacer una restriccin de entradas, esta debe ser hecha en $orma de l!neas de cdi/o"
Manual del Alumno
*Semana # P
Po2er Scri$t - -('"o# e Contro(
*os $lu(os de control permiten #ue las acciones a realiar puedan ser bi$urcadas a otra
dependiendo de al/una e+presin condicional" .+isten 5 tipos de $lu(os de control
Condicionales
Iterativos o Hepetitivos
Coniciona(e#
Se re$iere a #ue el $lu(o de control es bi$urcado desde una sentencia, o con(unto de estas,
a otra, o con(unto de estas" .+isten 5 clase de Glu(os de control condicionales
I-@@T4EN@@ELSE
*a sentencia UI$U permite bi$urcar la e(ecucin del cdi/o entre 5 caminos posibles
dependiendo del valor de verdad o $alsedad de una e+presin condicional
.l tama=o, en l!neas de cdi/o, de los se/mentos &eraero o 7a(#o no tienen un limite"
.(" I$ monto;c'otaW1L 4hen nombreW UHamiroU
.lse nombreW UGranciscoU
.nd I$
4ambi<n es posible anidar varios UI$""4hen"".lseU consecutivamente"
.("
I$ monto;c'otaW1L 4hen
nombreW UHamiroU
.lseI$ monto;c'otaW1Q 4hen
nombreW UHobertoU
.lse
nombreW UGranciscoU
.nd I$
C4OOSE CASE
Permite bi$urcar la e(ecucin del cdi/o entre m7ltiples caminos posibles1 dependiendo
de la veracidad o no de una e+presin condicional, principalmente una variable"
.l tama=o, en l!neas de cdi/o, de los se/mentos 1""UnU no tienen un limite"
.("
Choose case monto;c'ota
Case IsX 1L0 nombreWUHamiroU
Case 1R 4o PO0nombreW UHobertoU
.lse
nombreWUGranciscoU
.nd Choose
Cada Case Xe+presinY puede tener los si/uientes valores0
[ 'n valor
[ 'na lista de valores separados por coma" 2e(" 5, P, R, O3
[ 'na cl&usula 4:, desde hasta" 2e(" 1 4: LA3
[ 'na cl&usula IS se/uida por un operador relacional , un valor a comparar" 2e(" ISYQ3
[ Cual#uier combinacin de lo anterior, impl!citamente indica un :H" 2e("1, L, Q, @, T, 5@
4: LL, IS YP53
Proce#o# Re$etiti&o#
Se re$iere a la repeticin de una2s3 sentencia2s3 #ue son de$inidas dentro de un blo#ue
clari$icado por una sentencia iterativa" .+isten 5 clases de Glu(os de control Iterativos"
Manual del Alumno
-OR@@NEAT@@STEP
*a sentencia 8$or9 permite repetir una2s3 sentencia2s3 un n7mero de$inido anterior al
comieno de la e(ecucin de estas sentencias"
.l tama=o, en l!neas de cdi/o, del se/mento 1, no tienen un limite"
.("
$or iW 1 to 5L
(W i S 2 ( * 1"5 3
ne+t
*a variable 8i9 se denomina )contador), el valor $inal de iteraciones no debe ser superior
al ran/o de$inido para el tipo de dato del contador" Si el valor de 8i9 es superior al valor
$inal de iteracin, las sentencias no se e(ecutan"
.("
Gor n W Q to 5Q step Q
a W aS1A
Ce+t
.n este e(emplo la sentencia se e(ecutara cuando nYWQ , nXW5Q, , el valor inicial de n
2Q3 se incrementa en Q por cada e(ecucin de las sentencias del blo#ue dentro de la
sentencia $or" .l valor de Step puede ser ne/ativo, en cu,o caso el valor inicial de la
variable contador deber& ser in$erior al valor $inal de la iteracin"
0O@@UNTIL B W4ILE BLOOP
*a sentencia 8-o9 es utiliada para repetir una2s3 sentencia2s3 un n7mero no mu,
de$inido de veces" .l n7mero de veces es casi siempre de$inido por la comparacin de
una variable o e+presin condicional"
-entro de esta sentencia e+isten variantes, cu,a 7nica di$erencia es el momento cuando
se eval7a la e+presin #ue condiciona la e(ecucin del blo#ue"
.("
inte/er 6 W 1, B W 1 FF.mite un pito por los parlantes hasta #ue la variable
-: 'C4I* 6 Y 1Q FF 6 sea ma,or #ue 1Q"
Beep263
6 W 26 S 13 * B
Manual del Alumno
*::P
inte/er 6 W 1, B W 1 FF.mite un pito por los parlantes mientras la variable
-: W>I*. 6 XW 1Q FF 6 sea menor o i/ual a 1Q"
Beep263
6 W 26 S 13 * B
*::P
O!#er&acin
.n ambos tipos de iteraciones se puede terminar la e(ecucin del blo#ue utiliando la
sentencia 8.+it9"
.("
G:H contador W 1 to 1A
IG vector1MContadorN W A 4>.C .JI4
C.J4
.n ambos tipos de iteraciones se puede continuar la e(ecucin del blo#ue, desde el
principio , no e(ecutando las dem&s instrucciones del blo#ue"
.("
inte/er 6W1, BW1
-: W>I*. 6 X 1AA
6 W 6S1
B W BS1
IG B Y L 4>.C C:C4IC'.
Bessa/eBo+2)>ola), )B es W ) S Strin/2B3 3
*::P
Uti(i<acin e 4erramienta#
Powerbuilder posee un con(unto de herramientas destinadas a $acilitar la creacin de
cdi/o $uente para un pro/rama" 4odas esta herramientas pueden ser utiliadas en
cual#uier modulo, donde se pueda escribir sentencias e(ecutables"
*as >erramientas son0
*istado de Gunciones
Sentencias S;*DIncrustado
*istado de Sentencias2I$, Gor, -o, etc"3
Compilacin
Buscador
6dem&s e+isten palabras reservadas destinadas a hacer re$erencia a ob(etos pertinentes,
estas son0
0e#cri$cin
T/i# Indica el ob(eto en el cual se esta codi$icando" .(" this" 4e+t W )hola)
Parent Indica el ob(eto #ue contiene uno particular donde se esta codi$icando Close2 parent 3
Manual del Alumno
Li#tao e -'ncione#
Para accionar el listado de $unciones presione el botn , a continuacin aparecer&
una ventana donde 'd" podr& seleccionar la $uncin especi$ica" .+isten L a/rupaciones
2Gunciones de PowerBuilder, Gunciones de la 6plicacin creadas por el 'suario ,
Gunciones e+ternas de -**9s conectados a la 6plicacin3"
*as $unciones est&n ordenadas en $orma ascendente, si desea buscar una $uncin,
escriba las primeras letras de esta, estando el $oco en el listado de $unciones"
Cuando seleccione la $uncin, presione 8:?9 , esta se pe/ara en la ventana de edicin
del 8Script9 en la ubicacin del cursor actualmente"
Sentencia# SCL-Incr'#tao
Para accionar las Sentencias S;lDIncrustado presione el botn , a continuacin
aparecer& una ventana donde podr& seleccionar el tipo de Sentencia S;* , cual
espec!$icamente2 haciendo doble clic sobre la misma3, o seleccion&ndola , presionando
el botn 8:?9"
.sta sentencia se pe/ara en el Script del modulo en el lu/ar donde este el cursor"
Li#tao e Sentencia#,I7) -or) 0o) etc@.
Para accionar el *istado de sentencias presione el botn , aparecer& una ventana donde
'd" podr& seleccionar la sentencia especi$ica, solo una a la ve"
*a sentencia se pe/ara en el Script del modulo, en el lu/ar donde este el cursor"
Manual del Alumno
Com$i(acin
*a compilacin es el proceso durante el cual el modulo es revisado para encontrar
errores sinta+is o l<+icos" Para accionar este proceso presione el botn , en la parte
in$erior de la ventana del Script aparecer& un listado de los errores encontrados, si los
hubiera"
B'#caor
.l buscador permite obtener la in$ormacin de los ob(etos #ue con$orman la aplicacin,
in$ormacin como1 las $unciones del usuario, las ventanas, -atawindow e+istentes ,
todo ob(eto 2atributos, $unciones, etc"3 #ue este presente en las ventanas"
Para accionarlo presione el botn , aparecer& una ventana como la anterior #ue tiene
todos los tpicos por los cuales buscar un ob(eto"
.st&n or/aniados en $orma (erar#uiada , con subtpicos" 6 la mano i#uierda est&n
los ob(etos del /rupo especi$icado, , a la derecha los tpicos por los cuales buscar"
Seleccione un ob(eto, el tpico , el elemento especi$ico1 lue/o presione el botn 8Paste9
, la sentencia especi$icada se pe/ara en donde este el cursor dentro de la ventana del
Script
Otra# 4erramienta#
Comentarios
*os comentarios, si es una l!nea se antepone a la mano i#uierda dos 8slash9 2FF31 eso
si/ni$ica #ue todo lo #ue este a la mano i#uierda de estos dos si/nos ser& considerado
como comentario"
Para poner comentarios1 seleccione las l!neas , presione el botn
Para #uitar los comentarios1 seleccione las l!neas , presione el botn "
4erramienta# e Eicin
Podr& hacer uso de las opciones de edicin utiliando lo botones )Copiar) 2 ,
)Cortar) 2 , "Pegar" ( 31 las #ue est&n presentes tambi<n en el men7 8.dit9, o bien
utiliando las teclas de accin directas"
Li#tao# en *'(o#
Manual del Alumno
4odo modulo e(ecutable tiene una barra, m&s o menos, parecida a la si/uiente"
* (imagen)
.n la Barra del titulo de la ventana aparece )Script), #ue #uiere decir )Cdi/o)" 6l lado
esta el nombre del modulo )Eac!a), si $uese un ob(eto esta precedido por el nombre del
.vento ):pen) , lue/o el tipo de dato #ue puede ser devuelto por el modulo e(ecutable"
-eba(o de la Barra de 4itulo, aparecen un con(unto de listas desple/ables, si se
selecciona un elemento #ue este contenida en una de ellas1 este elemento 2nombre3 se
pe/a en el cdi/o, donde este el cursor"
Manual del Alumno
*Semana # Q
*en#
*os men7s, para PowerBuilder son ob(etos" *as ventanas tienen una propiedad #ue
indica cual ob(eto men7 de los de$inidos para la aplicacin har& uso, , ese ser& el men7
#ue se ane+ara a la ventana" >a, #ue aclarar #ue lo #ue a#u! se indica como 8men79, es
en si una )Barra de Ben7), #ue puede tener 1 o m&s !tem, , cada uno de estos !tem tiene
un listado desple/able de opciones"
Para traba(ar en el dise=o de un men7 clic en botn Cew seleccione $icha :b(ect , ele/ir
el ob(eto Ben7 , o seleccione el Ben7 a usar con el botn :pen"
Creacin e *en#@
6l in/resar a los men7s"
*a ventana esta divida en las $ichas Genera( , Too(Bar0
*os tpicos #ue con$orman las $ichas son0
T$ico# 0ec(aracin
Genera( *a propiedad 8Came9, indica el nombre de la opcin de men7" 8*oc?Came9, activa o desactiva la
alternativa de cambiar el nombre del men7" 84e+t9, indica el titulo de la opcin de men7"
8Bicrohelp9, indica el te+to #ue ser& mostrado como a,uda en la barra de estado de una ventana
B-I" 8Eisible9, ver u ocultar la opcin de men7" 8.nabled9, activar o desactivar la opcin de men7"
8Chec?ed9, permite mostrar un chec? o no en la opcin de men7" 8-e$ault9, indica la opcin de men7
a e(ecutarse por de$ecto" 8BenuItem4,pe9, indica el tipo de opcin de men7" 8ShortcutIe,9, indica la
tecla a ser usada como ata(o en combinacin de las teclas 6lt2Shorcut6lt3, ctrl"2ShortcutCtrl3 o
Shi$t2ShortcutShi$t3"
Manual del Alumno
Too(Bar Cada opcin de Ben7 puede tener un botn de barra de herramientas ane+ado #ue tiene las si/uientes
propiedades principales a usar en los botones0 84oolbarItem4e+t9, nombre del botn"
84oolbarItemCame9, ima/en a mostrar en el botn" 84oolbarItem-ownCame9, ima/en a mostrar
cuando el botn esta desactivado" 84oolbarItemEisible9, mostrar u ocultar el botn"
Para borrar un BenuItem, presione el botn -elete " Para Insertar una opcin, o bien
un BenuItem, presione el botn Insert BenuItem "
Programacin e Accin
Para traba(ar codi$icando las acciones a realiar con las opciones del men7 presionar el
botn Script " Cada opcin de men7 permite de$inir cdi/o en dos .ventos b&sicos0
E&ento 0e#cri$cin
C(ic6e Sobre esta opcin el 'suario ha presionado el botn del Bouse, o presiono .nter, o tambien
se ha presionado el botn #ue $ue de$inido para esta opcin"
Se(ecte Cuando una opcin es seleccionada por el mouse 2se pasa por encima de ella3"
Puede hacerse uso de todas las caracter!sticas de PowerScript"
Manual del Alumno
*Semana # R
-'ncione# e Po2er Scri$t
PowerBuilder R"A posee una /ran variedad de $unciones #ue permite al pro/ramador
desarrollar sus aplicaciones de una manera $&cil"
Gunciones de cadena
6sc :btiene el cdi/o 6SCII correspondiente al primer car&cter de una
cadena"
Char Hetorna el car&cter correspondiente al cdi/o 6SCII
Gill Hetorna una cadena con una lon/itud determinada del car&cter
especi$icado"
*e$t Hetorna los 8n9 caracteres iniciales de la cadena comenando por la
i#uierda"
4rim Hetorna la cadena sin los espacios en blanco del lado i#uierdo , de
la derecha de la cadena"
Len Hetorna la lon/itud de la cadena"
*ower 'na copia de una cadena convertida a min7scula"
Batch -etermina si la cadena contiene un patrn particular de caracteres"
Bid Hetorna los 8n9 caracteres de una cadena a partir de una posicin
determinada"
Pos Hetorna la posicin donde se encuentra una cadena dentro de otra
cadena
Heserve Cambia el orden de los caracteres de una cadena invirtiendo la
cadena"
Hi/ht Hetorna un n7mero especi$icado de caracteres comenando desde la
derecha"
Space Hetorna una cadena de una lon/itud determinada conteniendo
espacios en blanco"
'pper 'na copia de una cadena convertida a ma,7scula"
Gunciones de Gecha
-a, Hetorna el d!a del mes 2un entero entre 1 , L13"
-a,2startVdate3 .sta e+presin retorna el d!a del mes correspondiente a la $echa
startVdate"
-a,Came Hetorna el nombre del d!a de la semana
-a,Cumber Hetorna un n7mero #ue representa el d!a de la semana"
-a,s6$ter .l e+presin d!as de una $echa despu<s de la actual"
>our Hetorna un entero #ue corresponde al n7mero de horas transcurridas
entre 5 tiempos"
Binute Hetorna un entero #ue representa los minutos de una hora dada"
Bonth Hetorna un entero #ue representa el n7mero del mes 21 a 153
Cow Hetorna la hora del sistema"
Helative-ate Hetorna la $echa #ue ocurre n d!as despu<s de una $echa dada"
Helative4ime .l tiempo #ue transcurre despu<s de una hora dada"
Second Hetorna el n7mero de se/undos de una hora dada"
4oda, Hetorna la $echa actual del sistema"
Manual del Alumno
Kear Hetorna el a=o en P d!/itos 2un entero entre 1AAA , LAAA3
Gunciones Cum<ricas
6bs :btiene el valor absoluto de un n7mero
Ceilin/ :btiene el menor n7mero entero #ue es menor o i/ual al n7mero
especi$icado"
Cos :btiene el coseno del &n/ulo" .l &n/ulo debe estar en radianes"
.+p :btiene e elevado a la potencia de +"
Gact :btiene el $actorial del n7mero"
Int :btiene el menor n7mero entero #ue es menor o i/ual al n7mero
especi$icado"
*o/ :btiene el lo/aritmo natural de un n7mero"
*o/4en :btiene el lo/aritmo decimal de un n7mero"
Ba+ Hetorna el ma,or de dos n7meros"
Bin Hetorna el menor de dos n7meros"
Bod :btiene el mdulo de dos n7meros 2.l resultado obtenido de la
divisin del primer e+presin con el se/undo"
Pi :btiene el valor de Pi 2L"1P1QT5RQLQOT@TL5L3
Hand :btiene un n7mero entero aleatorio 2entre 1 , un n7mero espec!$ico3"
Handomie Inicialia el n7mero aleatorio /enerador"
Hound :btiene un n7mero redondeado a una cantidad de decimales
determinada"
Si/n :btiene un numero 2D1,A o 13 indicando el si/no de una e+presin"
Sin :btiene el seno de un &n/ulo" .l est& en radianes"
S#rt :btiene la ra! cuadrada de una e+presin"
4an :btiene la tan/ente de un &n/ulo" .l &n/ulo esta en radianes"
4runcate :btiene un n7mero truncado a un determinado e+presin decimal""
Gunciones de Conversin
6sc :btiene el valor 6SCII de un car&cter"
Char :btiene un car&cter en base a su valor 6SCII"
-ec :btiene el contenido de una cadena como un decimal"
-ouble :btiene el contenido de una cadena como un doble"
Inte/er :btiene el contenido de una cadena como un entero"
*on/ :btiene el contenido de una cadena como un lon/"
Heal :btiene el contenido de una cadena como un real"
-ate :btiene el contenido de una cadena como una $echa"
Gloat :btiene el contenido de una cadena como un $loat"
Strin/ :btiene el valor de un n7mero , lo convierte a cadena"
-'ncione# e U#'ario
*as $unciones en PowerBuilder pueden o no devolver un valor, este valor se conoce
como )Ealor de Hetorno) de la $uncin" *as $unciones se declaran como elementos
independientes , reconocibles en una instancia o pueden ser p7blicas , se /raban en una
librer!a para ser utiliadas desde cual#uier parte de la aplicacin"
Manual del Alumno
Para crear una $uncin hacer clic en Insert , clic en Gunction, lue/o aparece la ventana
del prototipo de la $uncion"
DAcce##E, indica el ambito de acceso de la $uncion2public o private o protected3
DRet'rn T5$eE, indica el 8Ealor de retorno9, si la $uncin no devolviera un valor de
retorno, seleccione 8none9"
D-'nction NameE, indica el nombre de la nueva $uncin"
Par9metro# o Arg'mento#
'na $uncin puede o no tener par&metros, un par&metro es un valor o variable #ue es
8pasado9 a la $uncin para #ue se utilice en ella"
6l de$inir una $uncin se declaran los par&metros #ue podr& tener" .l mismo n7mero de
par&metros , el mismo tipo de dato para cada uno de ellos debe ser puesto al utiliar la
$uncin"
0ec(arar (o# Par9metro#
.scriba el nombre del par&metro 2nombre por el cual se har& re$erencia en el interior
de la $uncin3 en la columna 86r/ument Came9"
Seleccione o escriba el nombre del tipo de dato, en la casilla de la columna
86r/ument 4,pe9"
Seleccione el tipo de paso, en la casilla de la columna 8Pass B,9"
Pa#aa e Par9metro#
6l declarar cada par&metro se debe indica como se 8pasara9 el par&metro a la $uncin,
e+isten L tipos de 8pasada91 las #ue son0
Ti$o 0e#cri$cin
Ealue .l valor del par&metro pasado se copia al par&metro declarado, es decir, todo
cambio #ue se ha/a al par&metro dentro de la $uncin no alterara el valor del
par&metro pasado"
He$erence .l par&metro declarado esta relacionado con el par&metro pasado, es decir, todo
cambio #ue se ha/a al par&metro dentro de la $uncin, al terminar esta, #uedara
re/istrado en el par&metro pasado"
Head:nl, Indica #ue el par&metro es de solo lectura 2constante3, no se podr& utiliar dentro del
$uncin como una variable"
Si la $uncin re#uiere m&s par&metros presione clic derecho, clic 6dd Parameter, este
nuevo par&metro se ane+ara al $inal de los ,a e+istentes" Si desea colocar un nuevo
par&metro entre otros, presione clic derecho, clic Insert Parameter" Para eliminar un
par&metro ha/a presione clic derecho, clic -elete Parameter"
%a(or e retorno
.li(a el tipo de dato #ue ser& retornado al utiliar la $uncin" *os tipos de datos pueden
ser los de$inidos en el listado o bien escriba un tipo de dato #ue 'd" ha,a de$inido en la
aplicacin" Si el valor de retorno $uese asi/nado a una variable al llamarse a la $uncin,
Manual del Alumno
ten/a presente #ue dicha variable debe ser del mismo tipo del seleccionado en el campo
8Heturn9"
Cigo -'ncin
-entro del cdi/o los par&metros son meras variables, , podr&n ser utiliadas como
tales 2si no e+isten restricciones en su de$inicin3"
Se termina la e(ecucin de la $uncin con la declaracin 8Heturn9" Si se devolviera un
valor esta deber& ir despu<s de 8Heturn9"
Se podr&n utiliar las $unciones primitivas, declaracin de variables locales, $lu(os de
control, etc"
Si desea modi$icar al/o de la declaracin de la $uncin presione el botn Protot,pe"
Manual del Alumno
*Semana # @
Li!rer1a#
Permite distin/uir los elementos #ue con$orman una librer!a" .stas no est&n distribuidas
en $orma (er&r#uica como en el &rea de )6pplication), solo son presentadas en una
ventana de tipo .+plorador de Window"
Para traba(ar en el &rea de *ibrer!as presione el botn " 6parecer& una ventana como
la si/uiente
-onde en la parte i#uierda se selecciona la unidad a revisar para buscar la e+istencia de
*ibrer!as, , en la parte derecha se muestra una especie de directorio" *os archivos de
librer!a est&n acompa=ados por el icono , un nombre "
Crear Li!rer1a, para ello presione el botn Create *ibrar, , escriba el nombre e
indi#ue la ruta de la nueva librer!a"
*as si/uientes operaciones, se pueden realiar con uno o m&s elementos seleccionados,
de una *ibrer!a0
Eitar, permite iniciar el &rea a la #ue pertenece el elemento , modi$icar un ob(eto,
presione el botn .dit "
Co$iar, presione el botn Cop, , eli(a la librer!a donde copiar los elementos
seleccionados"
*o&er, presione el botn Bove , eli(a la librer!a hacia donde mover& los
elementos seleccionados"
E(iminar, presione el botn -elete para eliminar el 2los3 elementos marcados"
E3$ortar, permite e+traer la de$inicin del elemento como un archivo te+to1 para
ello presione el botn .+port "
Manual del Alumno
Im$ortar, permite a=adir la de$inicin de un elemento desde un archivo te+to a la
librer!a en curso1 para ello presione el botn Import "
Regenerar, permite #ue se actualicen los v!nculos con otros elementos,
modi$icados, de PowerBuilder o de una Base de -atos, para ello presione el botn
He/enerate "
Pro$ieae#, Permite modi$icar el comentario declarado para cada elemento1 para
ello presione el botn Propierties
4odos estas opciones est&n disponibles en el men7 8.ntr,9 o con clic derecho al
seleccionar un ob(eto de la libreia"
Ba#e e 0ato#
.l &rea de Base de datos permite crear nuevas Bases de datos S;*D 6n,where,
crearFmodi$icarFeliminar 4ablas, actualiar campos de dichas 4ablas" 4ambi<n permite
de$inir .stilos de presentacinFHe/las de validacinFGormatos de -atos1 todos estos
para ser utiliados por cual#uier campo de las 4ablas de la Base de -atos"
Para traba(ar en el 6rea de Base de -atos, presione el botn -ataBase , se conectara
a la Base de -atos de$inida por de$ecto, en el 6rea Pro$ile -atabase" Si esta Base de
datos no $uese la su,a seleccione la su,a en el 6rea Pro$ile -atabase, presionando el
botn -BPro$ile , vuelva a presionar el botn de Base de datos" -espu<s de
conectarse correctamente a la Base de datos aparecer& la ventana si/uiente"
Manual del Alumno
N'e&a Ba#e e ato#
Para crear una base de datos local 2S;*D 6n,where3, estando en el &rea de Base de
datos doble clic sobre la opcin 8Create 6sa -atabase9 de la carpeta 'tilities" 6parecer&
una ventana como la si/uiente
.n la casilla 8-atabase Came9, escriba la ruta , el nombre de la nueva base de datos, o
presione el botn 8Browse9 para hacer esta operacin" .n la casilla 8'ser I-9 escriba el
nombre del usuario, por de$ecto se asi/na )-B6)" .n la casilla 8Password9 escriba la
contrase=a correctamente, esta no es visible, por de$ecto se asi/na )S;*)"
Cuando ha,a terminado presione el botn 8:?9, espere a #ue se realicen todas las
operaciones de creacin de la Base de datos" 6parecer& un mensa(e indic&ndole el
resultado de la creacin , la base de datos ,a creada"
Manual del Alumno
*Semana # O
Ta!(a#
*a tabla de una base de datos es una coleccin de in$ormacin homo/<nea 2relacionada
entre si3" *os elementos de esta in$ormacin se denominan re/istros, cada re/istro esta
con$ormado por id<ntico n7mero , tipo de campos" Cada campo tiene asociado un
nombre1 por el #ue se identi$ica, , un tipo de dato, #ue especi$ica la in$ormacin #ue
podr& almacenar dicho campo"
'na 4abla puede tener A o m&s re/istros , la de$inicin de un re/istro deber& contar con
al menos un campo"
.(" re/istro persona
R'c Nom!re A$e((io 0omici(io Se3o -ecNac Naciona(ia
FGHHIJKLJ Ra( M9ne< Nr@ Santa GIHO ma#c'(ino GP:FG:FKJP c/i(ena
: : : : : : :
KOJLKLJP *arta G'ti+rre< La# 4era# QH 7emenino O:K:FKOL argentina
O$eracione# con Ta!(a
Para traba(ar con una tabla , sus di$erentes elementos podemos utiliar el botn de
creacin de tablas0
Para crear una nueva 4abla presione el botn Create Cew 4able " 6parecer& una
ventana #ue tiene 5 secciones, esta ventana se llama )Eentana de -e$inicin de 4abla)"
.sta ventana esta divida en dos secciones, superior e in$erior"
0e7inicin e Cam$o#
Co('mna 0e#cri$cin
Co('mnName -e$ine el nombre del campo"
0ata T5$e Seleccione de la lista desple/able el tipo de dato #ue ser& almacenado en el campo"
Wit/ Si selecciono en la columna anterior el tipo de dato Char, Earchar o Cumeric" -eber&
especi$icar el ancho 2n7mero de caracteresFd!/itos3 m&+imo a ser almacenados en el mismo"
0ec Si selecciono en la columna 84,pe9, el tipo de dato Cumeric" Podr& indicar el n7mero de
decimales #ue ser&n utiliados para este campo"
Manual del Alumno
N'(( Indica si se permitir& #ue este campo ten/a un valor C'**"
0e7a'(t 'd" podr& seleccionar 2de la lista desple/able3 un valor por de$ecto para este campo, o bien,
escribirlo como un literal"
Si 'd" presiona el botn Save se proceder& a /rabar la de$inicin de la 4abla, se le
pre/untara por el nombre de la tabla, este nombre debe ser distinto al de las otras tablas
de la Base de datos"
Si 'd" cerrara la ventana de de$inicin de 4abla, sin /uardar las modi$icaciones hechas,
se le pre/untara si desea /uardar los cambios" Si no se le asi/no un nombre a la 4abla
previamente, deber& in/resarlo" -espu<s de esto re/resara a la ventana de
representacin /r&$ica de las 4ablas"
Pro$ieae# e (a Ta!(a
*a ventana Propiedades de la 4abla, contiene los si/uientes tpicos, al/unos no ser&n
mostrados sino en la ventana )-e$inicin de 4abla)1 todos ellos mu, importantes0
T$ico 0e#cri$cin
Genera( .speci$ica el nombre de la 4abla, , al/7n comentario adicional"
0ata -ont
4eaing -ont
La!e( -ont
Permite de$inir las caracter!sticas de tipo de letra, color de letra, color de $ondo, e$ectos ,
otras1 #ue ser&n utiliadas para presentar el dato especi$ico del campo al usuario, , los
6tributos adicionales 8*abel9 para las eti#uetas del campo , 8>eader9 la cabecera del
campo respectivamente"
Atri!'to# aiciona(e# a (a ta!(a
.sta seccin permite de$inir atributos #ue tendr& el dato del campo al ser mostrado al
usuario" *a in$ormacin corresponde al campo actual, cada campo podr& tener diversos
valores para estos atributos" *os atributos de esta seccin son los si/uientes0
Atri!'to 0e#cri$cin
0i#$(a5 -ormat# Seleccione de la lista desple/able el $ormato dise=ado previamente" .ste $ormato es una
re/la para la aceptacin de un campo a partir de una revisin de los caracteres #ue lo
con$orman
Eit St5(e# Seleccione de la lista desple/able el .stilo de .dicin dise=ado previamente" .ste estilo
permite restrin/ir los valores a tomar por un campo 2lista desple/able, casillas de
seleccin, etc"3 o una mascara de entrada de datos"
%a(iation R'(e# Seleccione de la lista desple/able la He/la de Ealidacin dise=ado previamente" .sta
re/la de validacin permite comprobar si el dato in/resado cumple con una condicin
determinada"
*oi7icar Ta!(a
.stando en el &rea de Base de datos, seleccione la 4abla a modi$icar , ha/a clic derecho
, seleccione 6lter 4able"
Si esta no estuviera presente deber& abrirla a/re/&ndola a las ,a presentes con clic
derecho , clic en 6dd 4o *a,out"
E(iminar Ta!(a
Para eliminar una 4abla, ha/a un clic derecho sobre la 4abla a eliminar , clic en -rop
4able, ten/a presente #ue (unto con eliminar la 4abla se eliminaran los re/istros #ue
est<n en ella, los !ndices de$inidos, la clave primaria , las claves $or&neas"
C(a&e Primaria
*a clave primaria es el2los3 campo2s3 #ue permiten identi$icar a un re/istro" Para
de$inirla ha/a clic derecho sobre la tabla, clic sobre Cew , clic sobre Primar, Ie,"
Manual del Alumno
*os campos marcados del listado 8%eneral9 son los #ue $orman la clave primaria"
>a/a un clic sobre un campo no marcado , este pasara a $ormar parte de la clave
primaria, ha/a un clic sobre un campo ,a marcado , de(ara de $ormar parte de la clave
primaria"
6l volver a la ventana de representacin /r&$ica de las 4ablas, aparecer& un s!mbolo
/r&$ico ad(unto a la 4abla, esto indica #ue esta tabla tiene una Clave primaria, las
l!neas #ue nacen de la representacin /r&$ica de la 4abla, indican el2los3 campo2s3 #ue
$orman parte de la clave primaria"
C(a&e -or9nea
*a clave $or&nea es un2os3 campo2s3, cu,o valor2es3 deben estar presente en otra 4abla ,
los campos de esta se/unda 4abla deben ser 2o $ormar parte3 de la Clave primaria" .sto
7ltimo permite de$inir una relacin de inte/ridad entre los datos1 la e+istencia de el dato
en la primera 4abla esta condicionado a la e+istencia de el2los3 mismo2s3 dato2s3 en la
se/unda 4abla"
Para de$inir una clave $or&nea debe hacer clic derecho en la tabla secundaria , clic en
Cew , clic en Gorein/ ?e,"
*os detalles para desarrollar una Clave Gor&nea son0
.n *a $icha 8%eneral9, la casilla 8Gorei/n Ie,9, es el nombre de la clave $or&nea o
relacin"
.l2los3 campo2s3 marcados del listado 8Columns9 con$ormaran la Clave Gor&nea"
*a Gicha 8Primar, Ie,9 indica la 4abla con la #ue estar& relacionada" .n la parte
in$erior de esta casilla aparecer& el campo2s3 #ue con$orman la clave primaria de esta
4abla, 8Columns9" .l n7mero de campos seleccionados previamente deber& ser el
Manual del Alumno
mismo a los #ue aparecen en esta casilla" .l primer campo seleccionado de la 4abla
estar& relacionado con el primero de la 4abla ele/ida, , todos los dem&s campos
seleccionados de i/ual $orma" Co es necesario #ue ten/an el mismo nombre los campos
relacionados, pero si deben ser del mismo tipo de dato"
.n la $icha 8Hules9 se indica las re/las de inte/ridad relacional para con las tablas
relacionadas2H.S4HIC, -.*.4. o S.4 C'**3"
6l re/resar a la Hepresentacin /r&$ica de las 4ablas, aparecer& un s!mbolo /r&$ico
ad(unto a la 4abla, esto indica #ue esta tabla tiene una Clave Gor&nea de$inida, las l!neas
#ue nacen de la representacin /r&$ica de la 4abla, indican el2los3 campo2s3 #ue $orman
parte de la Clave Gor&nea , la 4abla con la #ue est&n relacionadas"
>a/a doble clic sobre el s!mbolo ad(unto , podr& ver in$ormacin sobre la Clave
Gor&nea de$inida"
Inice#
*os !ndices se de$inen para me(orar la b7s#ueda , seleccin por parte del motor de Base
de -atos" 'na 4abla puede tener varios !ndices de$inidos, o tener nin/uno" Cada !ndice
se crea para uno o m&s campos, estos 7ltimos se llaman )Indices compuestos)"
Para de$inir Indices, debe hacer clic derecho sobre la tabla, clic derecho en Cew , clic
sobre Inde+"
*os detalles para crear un !ndice son0
.n la casilla 8Inde+9, se coloca el nombre #ue se le dar& a este !ndice"
.n la seccin Column se indica los campos a ser marcados para ser usados en el
!ndice"
*a opcin 8'ni#ue9 indica si los campos #ue $orman el !ndice tendr&n datos 'nicos o
con -uplicados dentro de los re/istros de la 4abla"
*a opcin 6scendin/ indica si el !ndice ser& ascendente o descendente
6l re/resar a la Hepresentacin /r&$ica de las 4ablas, aparecer& un s!mbolo /r&$ico, con
$orma de llave, ad(unto a la 4abla, esto indica #ue esta tabla tiene un Indice de$inido, las
l!neas #ue nacen de la representacin /r&$ica de la 4abla, indican el2los3 campo2s3 #ue
$orman parte del Indice"
Act'a(i<ar 0ato# Ta!(a
Manual del Alumno
Para traba(ar con los datos de la 4abla, los modos de presentacin de la in$ormacin m&s
comunes son0
.n $orma de malla, los campos son las columnas , las $ilas los re/istros" Para
traba(ar en esta $orma presione el botn -ataBanipulation%rid "
.n $orma tabular, los campos son listados hacia aba(o uno a continuacin del otro ,
los re/istros de i/ual $orma" Para traba(ar en esta $orma presione el botn
-ataBanipulation4abular "
.n $orma libre, los campos son listados hacia aba(o uno a continuacin del otro , los
re/istros de i/ual $orma" Para traba(ar en esta $orma presione el botn
-ataBanipulationGreeGorm "
.stando en el modo )6ctualiacin de -atos de la 4abla)0
Si se desea a=adir un nuevo re/istro al $inal de los ,a e+istentes presione el botn
Insert How "
Para eliminar un re/istro presione el botn -elete How , se eliminara el re/istro
donde este el cursor actualmente"
Para /uardar los cambios en la Base de datos , presione el botn Save Chan/es "
Para obtener datos desde la Base de -atos, presione el botn Hetrieve "
Para moverse de un campo a otro presione la tecla 84ab9" Para moverse de un
re/istro a otro utilice las teclas cursor arriba2 3 , cursor aba(o2 3, para ir un re/istro
antes , un re/istro despu<s respectivamente"
Manual del Alumno
*Semana # T
O!"eto Tran#accin
PowerBuilder @"A soporta muchos tipos de ob(etos inclu,endo ventanas, ventanas de
datos , controles" 'no de estos tipos de datos prede$inidos es el ob(eto transaccin"
*as aplicaciones PowerBuilder @"A usan el ob(eto transaccin para /estionar la cone+in
a la Base de -atos"
'n ob(eto transaccin especi$ica la in$ormacin de la Base de -atos, inclu,endo el
nombre de la Base de -atos , el identi$icador de usuario" .l ob(eto transaccin tambi<n
devuelve a la aplicacin en e(ecucin in$ormacin del estado del sistema de /estin de
Base de -atos"
'n ob(eto transaccin es un ob(eto noDvisual" 'na aplicacin puede crear , utiliar
m7ltiples ob(etos transaccin, aun#ue uno puede ser su$iciente" 'n solo ob(eto
transaccin realia una sola cone+in a una Base de -atos" Cone+iones m7ltiples
re#uieren m7ltiples ob(etos transaccin"
4oda aplicacin PowerBuilder @"A puede acceder a un ob(eto transaccin por de$ecto
llamado S;*C6" *a creacin de un ob(eto aplicacin crea autom&ticamente este ob(eto
transaccin"
Atri!'to# e( O!"eto Tran#accin
4odo ob(eto PowerBuilder @"A tiene atributos" *os atributos del ob(eto transaccin
especi$ican los valores necesarios para establecer , mantener una cone+in a la Base de
-atos" *os valores de al/unos de los atributos sirven en el momento de la cone+in"
Para conectarse a una Base de -atos desde una aplicacin en e(ecucin o desde el
entorno de desarrollo de PowerBuilder @"A se re#uieren ciertos elementos de
in$ormacin" Por e(emplo, debe estar disponible el nombre de la Base de -atos1
tambi<n podr!a ser necesario un identi$icador de usuario o su palabra clave" .n una
aplicacin en e(ecucin, esta in$ormacin reside en un ob(eto transaccin" 6l/unos
atributos del ob(eto transaccin devuelven valores #ue describen el resultado de la
actividad m&s reciente de la Base de -atos1 por e(emplo ha, un atributo S;*Code #ue
devuelve el estado de la 7ltima operacin de la Base de -atos0 otros como el nombre de
la Base de -atos, son necesarios en casi todas las cone+iones a la Base de -atos
soportadas por PowerBuilder @"A1 , otros, como el nombre del servidor, son slo
necesarios en al/unos sistemas de /estin de Base de -atos" 6tributos como
6utocommit pueden servir para al/unos sistemas de /estin de Base de -atos, pero no
son vitales para otros" >a, disponibles manuales de inter$a con PowerBuilder R"A para
cada uno de los distribuidores de Base de -atos" *a in$ormacin necesaria para
conectar a una Base de -atos di$iere de un S%B- a otro"
6 continuacin se presenta una lista completa de atributos de un ob(eto transaccin tal
como se inclu,e en la a,uda interactiva de PowerBuilder @"A"
6tributos 4ipo de -atos -escripcin
0B*S Strin/ .l nombre de distribuidor de la Base de
-atos 2por e(emplo :-BC, In$ormi+,
:H6C*. o S,base3"
0ata!a#e Strin/ .l nombre de la Base de -atos a la #ue
se est& conectando"
U#er( Strin/ .l nombre o I- del usuario #ue conectar&
a la Base de -atos"
0!$arm Strin/ .spec!$ico del S%B- o indica el -SC de
Manual del Alumno
cone+in, el 'serId , el Pasword"
0BPa## Strin/ *a palabra clave #ue se utiliar& en la
cone+in a la Base de -atos"
Loc6 Strin/ .l nivel de aislamiento"
Log( Strin/ .l nombre o I- del usuario #ue conectar&
al servidor"
LogPa## Strin/ *a palabra clave utiliada para conectar
al servidor "
Ser&erName Strin/ .l nombre del servidor en el #ue reside la
Base de -atos"
A'toCommit Bolean .l indicador autom&tico de actualiacin0
4H'., con$irma autom&ticamente el
/rabado despu<s de cada accin en la
Base de -atos"
G6*S., 2por de$ecto3 C: con$irma
autom&ticamente el /rabado"
SCLCoe *on/ .l cdi/o de <+ito o $alla de la operacin
m&s reciente0
A, \+ito
1AA, Co se devolvi nin/7n con(unto de
resultados"
D1, .rror 2para obtener m&s detalles use
S;*-BCode o S; *err4e+t3"
SCLNRo2# *on/ .l n7mero de $ilas a$ectadas" .l
distribuidor de la Base de -atos
suministra este n7mero1 por lo tanto, su
si/ni$icado puede no ser el mismo en
todos los S%B-"
SCL0BCoe *on/ Cdi/o de error del distribuidor de la
Base de -atos"
SCLErrTe3t Strin/ .l mensa(e de error del distribuidor de la
Base de -atos"
SCLRet'rn0ata Strin/ .spec!$ico del distribuidor de la Base de
-atos"
4odos los sistemas de /estin de Base de -atos devuelven los si/uientes atributos,
e+cepto S;*Heturn-ata" Solamente al/unos de los sistemas de /estin de Base de
-atos utilian S;*Heturn-ata" .stos atributos se utilian para devolver in$ormacin
del estado de los resultados de la operacin m&s reciente de la Base de -atos"
Creacin e 'n o!"eto tran#accin
4oda aplicacin PowerBuilder @"A instancia 2es decir, crea una instancia de 3 un ob(eto
transaccin autom&ticamente" .sta instancia se denomina S;*C6" 6 menos #ue se
de$ina una especi$icacin de un ob(eto transaccin di$erente" 4odas las operaciones de la
Base de -atos utilian este ob(eto por de$ecto" Si en la aplicacin solamente ha,
cone+in a una Base de -atos, utilice el ob(eto transaccin S;*C6" 'na aplicacin
puede crear , utiliar m7ltiples ob(etos transaccin" B7ltiples ob(etos transaccin
pueden mantener cone+iones a m7ltiples bases de datos o mantener m7ltiples
transacciones con varias bases de datos" Cuando se abre una aplicacin, se crea el
Manual del Alumno
ob(eto transaccin por de$ecto S;*C6" 6l cerrar una aplicacin se destru,e este
ob(eto"
E#ta!(ecieno (o# atri!'to# e 'n o!"eto tran#accin
*a inicialiacin de un ob(eto transaccin precede a su disponibilidad" .ste ob(eto se
puede inicialiar inclu,endo sentencias en un procedimiento, pidiendo in$ormacin de
entrada al usuario o recuperando los valores de un archivo per$il"
Coi7icano (o# atri!'to# en 'n $roceimiento
*as sentencias de asi/nacin determinan los valores de los atributos de un ob(eto
transaccin" .l $ormato de la sentencia de asi/nacin0
CombreV ob(eto"nombreVatributo W valor
6si/na un valor a un archivo de un ob(eto"
Por lo tanto, el $ormato
:b(ectVtransaccin"variable W valor
6si/na valores para una cone+in a una Base de -atos S,base"
E#ta!(ecieno (o# atri!'to# e#e 'n arc/i&o $er7i(
.n el e(emplo anterior, el procedimiento hab!a codi$icado los valores para los atributos
del ob(eto transaccin" .n ve de escribir los valores directamente en una aplicacin, se
puede tomar estos valores de un archivo per$il" 'n archivo per$il es un archivo con una
e+tensin *"ini, como por e(emplo, Bi aplica"ini" Window utilia los archivos *"ini para
mantener sus propios atributos"
*os archivos de per$il son archivos 6SCII" Se dividen en secciones" Cada seccin
contiene una o m&s entradas" PowerBuilder @"A proporciona varias $unciones para la
manipulacin de los contenidos de archivos *"ini, inclu,endo0
Pro$ileStrin/ 23 Hecupera valores cadena de *"ini"
Pro$ileInt 23 Hecupera valores enteros de *"ini"
SetPro$iliStrin/ 23 .stablece las entradas de valores cadena de *"ini"
SetPro$ileInt 23 .stablece las entradas de valores enteros de *"ini"
.l $ormato de la $uncin #ue recupera in$ormacin de un archivo per$il es0
Pro$ileStrin/
2nombreVdeVarchivo,nombreVdeVseccion,nombreVdeVclave, valorVporVde$ecto3"
.l nombreVdeVarchivo es el nombre del archivo per$il"
. nombreVdeVseccion es la seccin del archivo donde se busca los valores" .l
nombreVdeVclave da el item a utiliar" .l valorVporVde$ecto sirve si no ha, nin/7n
valor en el archivo de per$il"
Por e(emplo0
Manual del Alumno
MdatabaseN
*o/ld W ]Pb'sA1^
-atabase W ]Pbdemo^
ServerCame W ]rotorooter^
.l si/uiente e(emplo asi/na los atributos del ob(eto transaccin S;*C6 los valores
encontrados en el archivo de per$il"
S#lca"-BBS W^S,base^
S#lca"database W Pro$ileStrin/ 2]c0FaFapli"ini^
S#lca"*o/Id W
Pro$ileStin/2]c0Fapli"ini_,WbaseVdeVdatos^, lo/id^,3
S#lca"ServerCameWPro$ileStrin/ `
2c0FalvitesFapli"ini, WbaseVdeVdatos^,^ServerCame^, ]^3
S#lca"6utoCommit W Galse
O!"eto# 0ata2ino2
'n datawindow es una sentencia s#l #ue esta li/ada a una representacin /r&$ica" -onde
cada elemento de esta representacin es individualiable , puede ser alterado en el
cdi/o del pro/rama"
.sta de$inicin indica dos elementos unidos 2aun#ue distintos entre si3
a@ Origen e 0ato#:
Corresponde a la sentencia S;* propiamente tal, la #ue podr& tener caracter!sticas de
6/rupamiento, :rdenamiento, Condicionales 2e+traer un con(unto de$inido de re/istros3
, en $in todas las pertinentes a una sentencia S;* pura"
b" Pre#entacin:
Corresponde a la distribucin /r&$ica de los elementos de la consulta , otros a=adidos,
dentro de un &rea de$inida para ello" *a #ue podr& ser utiliada para presentar datos,
in/resar datos, listarlos o imprimirlos1 tal , como aparecen en esta ho(a"
.l ob(eto -ataWindow 2ventana de datos3 presentan, manipulan, actualian e imprimen
in$ormes de datos" 'n -ataWindow automatia la inter$a a la Base de -atos $uente,
como por e(emplo, un sistema de /estin de Base de -atos, un $ichero plano u otra
aplicacin en e(ecucin" 'n -ataWindow tambi<n automatia la inter$a entre una
aplicacin en e(ecucin , el usuario"
.l ob(eto -ataWindow proporcionan muchas $acilidades 7tiles para la presentacin de
datos de una $orma e$ectiva , a/radable" Se pueden presentar datos en una /ran
variedad de $ormato, inclu,endo presentaciones tabuladores, en $ormato libre, eti#uetas,
/r&$icos, , ]Crosstab^" Se puede me(orar cada uno de estos $ormatos de presentacin "
6 un ob(eto -ataWindow se le puede a=adir ob(etos /r&$icos como por e(emplo l!neas,
c!rculos o ca(as" Se puede de$inir el $ormato de in$ormes impresos con cabeceras, pies o
in$ormacin acumuladas" Se pueden reor/aniar los elementos de datos o reordenarlos
en nuevo rdenes" Cual#uier estilo de presentacin se puede aplicar a cual#uier $uente
de datos"
Para crear el ob(eto -atawindow ha/a clic en botn Cew , seleccione la $icha
-ataWindow, se mostrar& la pantalla0
Manual del Alumno
-onde tenemos lo si/uiente0
Ti$o# e $re#entacin e( O!"eto 0ata2ino2
.l 4ipo de presentacin de$ine como se presentaran los datos en el -atawindow, e+isten
11 tipos de presentacin los #ue son0
Pre#entacin 0e#cri$cin
Com$o#ite 'tilia como presentacin un reporte previamente creado, puede usar -atawindow
anteriormente creados"
Cro##ta! Presenta an&lisis de datos en $orma bidimensional, mu, parecido a una ho(a de calculo,
usado en reportes o /r&$icos"
-ree7orm *a presentacin es libre, donde cada campo esta en una l!nea distinta" Bu, utiliado para
el in/reso de datos"
Gra$/ -ise=a un /r&$ico dependiendo de una consulta, esta debe contener datos relacionados"
Gri -ise=a una cuadricula de datos en $orma de $ilas , columnas, , cada columna con una
(usti$icacin completa , se puede ordenar , dimensionar las columnas"
Gro'$ -ise=a listado por a/rupacin de campos" Bu, utiliado para reportes de resumen de
in$ormacin"
La!e( .l dise=o es de eti#uetas, donde 'd" podr& ele/ir el tipo de eti#ueta de las predise=adas, en
papel continuo o separado, , otras opciones"
N R U$ Se usa para presentar dos o m&s lineas de datos en una misma $ila"
O(G G@P Permite usar una aplicacin de servidor :*. para /estionar la presentacin del
-atawindow, usada /eneralmente en reportes"
Ric/ Te3t Permite de$inir una carta con combinacin de campos del :ri/en de datos $i(ado" Se
pueden utiliar todas las caracter!sticas del $ormato de te+to H4G"
Ta!'(ar Presenta el ori/en de datos en $orma de hoa( de calculo, en $ilas , columnas, pero sin
a(uste total"
*ue/o de seleccionar el estilo de presentacin saldr& la pantalla de ori/en de datos"
Manual del Alumno
Origen e 0ato# o -'ente e 0ato#
*oo 0e#cri$cin
C'ic6 Se(ect Permite crear un -atawindow usando una sola tabla, o varias tablas siempre , cuando
esten relacionadas" 4ambi<n usa el estilo de cuadr!cula ;B.2;uer, B, .+ample3 para
establecer las opciones de ordenamiento , $ilatrado o seleccin de datos2Sort , Criteria3"
*a primera para poder ordenar por un campo especi$ico , la se/unda para indicar re/istros
a mostrar dependiendo de un valor condicional"
S8( Se(ect Presenta las tablas en $orma /r&$ica, , permite traba(ar con todas las caracter!sticas de S#l
est&ndar 2Sort, %roup, >avin/, Compute , Where, entre otros3
C'er5 .l ori/en de -atos es una Consulta de$inida previamente en el 6rea de 4raba(o ;uer,1 esta
consulta #ueda almacenada como un ob(eto de PowerBuilder1 'd" debe seleccionar la
consulta #ue desee utiliar como :ri/en de -atos de este -atawindow"
E3terna( .l ori/en de datos no esta relacionado con nin/una 4abla" 'd" debe de$inir los campos #ue
interact7an 2nombre, tipo , lar/o3 'tilice los botones 86dd9 para a=adir un nuevo campo al
$inal de los ,a e+istentes, el botn 8Insert9 le permitir& insertar un campo entre otros , el
botn 8-elete9 le permitir& eliminar el campo actual"
Store Proce're .l ori/en de datos es un procedimiento #ue ha sido almacenado en la Base de -atos"
Seleccione uno si lo ha creado, o cr<elo previamente"
*ue/o de esto se debe seleccionar la tabla o tablas a utiliar con el -atawindow ,
tambi<n se debe seleccionar los campos a usar el -atawindow a continuacin ele/ir el
$ormato de las columnas2Color de te+to, Color de Gondo, etc3"
Manual del Alumno
Por ultimo se ver& la presentacin del -atawindow creado de la si/uiente manera0
Manual del Alumno
Seccione# e (a Pre#entacin e( 0ata2ino2
*as secciones son &reas donde pueden ponerse los ob(etos" Cada seccin esta delimitada
por una barra horiontal, #ue tiene escrita el nombre de la seccin , una $lecha #ue
apunta hacia el &rea #ue corresponde a dicha seccin" Para cambiar el lar/o de una
seccin manten/a presionado el mouse sobre la barra horiontal de esta , crrala hacia
arriba o aba(o1 inmediatamente se a/randara el &rea correspondiente"
*as secciones son las si/uientes"
Nom!re 0e#cri$cin
4eaer .sta seccin se imprime en cada pa/ina #ue se ori/ine al momento de imprimir, ,
corresponde a un encabeado de pa/ina"
0etai( .sta seccin se imprime para cada re/istro #ue conten/a la sentencia de :ri/en de
-atos, ona de los campos de datos , campos calculados"
S'mmar5 .sta seccin es utiliada cuando e+istan c&lculos, #ue est<n relacionados con
campos del 8:ri/en de -atos9 sean $unciones a/re/adas de S;* o de resumen de
datos""
-ooter .sta seccin se imprimir& en cada pa/ina, , corresponde a un pie de pa/ina"
6dicional a esta secciones est&ndar, e+isten 5 #ue son de$inidas por el usuario al
declarar un %rupo"
Nom!re 0e#cri$cin
4eaer Gro'$ .sta seccin se imprime cada ve #ue cambie el valor para el cual $ue de$inido el
/rupo" Cada %rupo tiene un numero #ue lo identi$ica"
Trai(er Gro'$ .sta seccin es impresa cada ve #ue termina de listarse los re/istros del %rupo"
Manual del Alumno
Para ver las propiedades de la ho(a de la presentacin, presione el botn derecho del
mouse estando este en un &rea vac!a de la presentacin" .stas propiedades est&n
divididas en tres tpicos
T$ico# 0e#cri$cin
Genera( -etermina la unidad de medida para la presentacin, el color de $ondo de la
presentacin"
Pointer .l tipo de puntero del mouse #ue ser& utiliado cuando este pase por encima del
6rea vac!a de la presentacin
Printer S$eci7ication Se de$inen las especi$icaciones al imprimir1 como son el tipo de papel, la
:rientacin, los m&r/enes, etc"
Manual del Alumno
Semana S FP R E3amen Parcia(
Manual del Alumno
TSemana S FF
Am$(iacin e 0ata2ino2
.l ob(eto Co('mn posee atributos especiales , #ue es necesario aclararlos aparte"
La# $ro$ieae# e (a Co('mna o Cam$o@
-ic/a Genera(
Se indica el nombre de la columna2Came3, la propiedad Eisible, el alineamiento de
datos26li/nment3, el estilo de Borde2Border3en $orma Basica"
-ic/a Pointer
Indica el puntero de mouse a mostrar en la columna"
-ic/a 4T*L
Indica los enlaces , uso de la columna en pa/inas Web"
-ic/a Po#ition
Indica la distancia de la columna en coordenadas J e K, el ancho2Width3, la
altura2>ei/ht3, si la columna se podr& mover2Boveable3 o redimensionar2Hesiable3,
etc" en $orma /eneral"
-ic/a Eit
.s la m&s importante donde se eli/e los estilos de edicin2St,le4,pe3 para las columnas0
0i#eUo E#ti(o
6parecer& una lista desple/able para el dise=o del estilo, muestra los si/uientes tipos0
St5(e 0e#cri$cin
Eit Buestra el dato en una ca(a de edicin, esto permite #ue pueda in/resar un dato v!a
el teclado" *a opcin 8-ispla, :nl,9 indica #ue el campo es de solo lectura" *a
opcin 8.mpt, Strin/"" 8 indica #ue la ca(a vac!a ser& reconocida como Cull" *a
opcin 8Password9 muestra los caracteres escritos con el s!mbolo visual 8*9" *as
opciones 86utoScroll9 permiten #ue apareca una barra de desplaamiento si el
n7mero de caracteres supera a los visibles en el lar/o de la ca(a"
Eit*a#6 .ste estilo tambi<n muestra el dato en una ca(a de edicin, esto permite #ue pueda
in/resar un dato v!a el teclado, pero adem&s con una mascara de entrada1 esto es,
una restriccin car&cter a car&cter de los /rupos de letras posibles o la $orma en
#ue ser&n mostrados" .n el casillero 8Bas?9 'd" de$ine la mascara de entrada" .l
listado 8Bas?s9 muestra los s!mbolos #ue se utilian para /enerar la mascara de
entrada, 'd" puede probarla escribiendo un dato de prueba en la casilla 84est9" *a
opcin 84,pe9 indica el tipo de dato del campo" 86utos?ip9 si/ni$ica #ue cuando se
llene el campo el cursor ira al si/uiente campo" 8SpinControl9 permite #ue se cree
un Spinner para incrementar o decrementar el valor del dato, este aumento ser&
de$inido en la opcin 8SpinIncrement9, se debe de$inir en 8SpinBin9 el valor
minino , en 8SpinBa+9 el valor m&+imo del Spinner"
0ro$0o2nLi#tBo3 .ste estilo permite seleccionarFmostrar un valor dentro de una lista de !tems
de$inida" .n la ca(a 8-ispla, value9 escriba el valor a mostrar realmente , en 8-ata
value9 el valor a ser almacenado en el campo cuando se eli(a esa opcin en el
listado"
RaioB'tton# .ste estilo permite seleccionarFmostrar un valor de los listados como botones de
opcin" 8*e$t 4e+t9 muestra el te+to al lado i#uierdo de la casilla de seleccin" 8L-
*ooc?9 muestra la casilla de seleccin /rande" .n la ca(a 8-ispla, value9 escriba el
valor a mostrar realmente , en 8-ata value9 el valor a ser almacenado en el campo
cuando se eli(a esa opcin de entre las mostradas separadamente"
0ro$0o2n0W .ste estilo de edicin es particular" Se ocupa para a#uellos campos de la Base de
datos #ue deban tener el mismo valor #ue otro campo de otra 4abla1 es decir, sean
campos de Clave Foranea"
*o primero es crear un -atawindow #ue presente como m!nimo la clave
Manual del Alumno
primaria de la 4abla a la #ue hace re$erencia la Clave Gor&nea" .ste -atawindow
no debe tener in$ormacin en la seccin 8>eader9 de la presentacin, tampoco
deber& tener a/rupaciones, ni ob(etos compute"
*ue/o en el -atawindow #ue este dise=ando , la casilla 8St,le9 eli(a la opcin
8-rop-own-W9" Se activan tres propiedades #ue indican0
.n U-ataWindow9, el -atawindow #ue creo previamente" .n la opcin 8-ispla,
Column9 el campo #ue servir& para ser mostrado solamente" 8-ata Column9 el
campo #ue servir& para /uardar el dato realmente"
C/ec6Bo3 Se emplea para la edicin una casilla de veri$icacin, en 84e+t9 colocar el titulo de
la casilla , colocar los valores :C2-ata Ealue $or :n3 , :GG2-ata Ealue $or :$$3"
Se puede indicar tres valores a la casilla2LStates3"
-ic/a -ormat
Se usa para indicar el $ormato de presentacin de los datos"
-ic/a -ont
Se emplea para indicar el tipo de letra, el tama=o de letra, los e$ectos de las letras, el
color de te+to , el color de $ondo"
Atri!'to# O!"eto# Com$'tao# 5 S'!orinao#
*os atributos est&n ordenados en tpicos, no todos los ob(etos poseen todos los tpicos,
e+isten di$erencias" *os tpicos #ue se listan a continuacin son los tpicos distintivos
de estos tipos de :b(etos0
T$ico 0e#cri$cin
Genera( Si el ob(eto $uese Compute o bien un ob(etos compute #ue poseen sentencias prede$inidas, en
la ca(a in$erior se debe escribir la e+presin condicional" Para mane(arla en me(or $orma
presione el botn 8Bore91 se presentara una ventana con todas las caracter!stico para el
dise=o de sentencias" .l listado 8Gunctions9 muestra las $unciones #ue pueden utiliarse, ha/a
un clic? sobre una , esta se pe/ara en la ca(a de edicin superior" .l listado 8Columns9
muestra los campos de puede utiliar para la e+presin" .l botn 8Eeri$,9 comprueba si la
e+presin condicional esta correctamente escrita"
Se(ect Re$ort Solo para ob(etos Nested Report, permite seleccionar el -atawindows subordinado, de los ,a
dise=ados"
Criteria Solo para ob(etos Nested Report, permite de$inir un criterio para la seleccin de re/istros a
mostrar en el -atawindow subordinado" Cada campo del datawindows subordinado aparece
como una columna" .n la casilla criteria correspondiente escriba un criterio" .(" XLP, 8Zose
donoso9 Si no e+istiera un operador relacional se entiende #ue solo muestre los re/istros #ue
sean i/ual al valor in/resado" Cada $ila indica otro criterio de presentacin"
%a(or Inicia( 5 Reg(a# e %a(iacin
Se indican para cada columna, as! tenemos0
Initia( %a('e0 indica el valor inicial o predeterminado en cada columna cada ve #ue se
a/re/a un nuevo re/istro"
%a(iation E3$re#in0 indica una re/la de validacin para el in/reso de datos a un
campo en base a una condicin o criterio de seleccin"
%a(iation *e##age0 indica un mensa(e #ue aparecer& cuando no se cumple con la re/la
de validacin"
E(emento# ' O!"eto# 8'e #e $'een agregar a( 0ata2ino2
Manual del Alumno
.+isten m7ltiples elementos 2ob(etos3 #ue pueden ser ane+ados a la presentacin1 todos
estos est&n listados en el botn de controles de la barra de herramientas 8PainterBar9
Para ane+ar un nuevo ob(eto a la presentacin ha/a un clic sobre este en el listado ,
lue/o ha/a otro clic en el lu/ar 2en la presentacin3 donde desea #ue apareca"
Para mover un ob(eto, ha/a un clic sobre este , sin soltar el botn del mouse mu<valo a
otra ubicacin1 soltando el botn donde desea #ue se ubi#ue el ob(eto" Para seleccionar
varios ob(etos manten/a presionada la tecla 8Control9 mientras los selecciona"
Para eliminar un2os3 ob(etos seleccinelo2s3 , presione la tecla 8Suprimir9"
Para ver las propiedades de un ob(eto1 presione el botn "
*os ob(etos de$inidos se e+plicaran a continuacin0
Nom!re Icon 0e#cri$cin
Te3t .ste ob(eto es una eti#ueta , muestra un te+to, pero no presenta
una ca(a de te+to para ser modi$icado directamente en tiempo
de e(ecucin"*os tpicos de su Propiedades son0
Pict're Permite seleccionar un archivo de dibu(o para ser mostrado en
la presentacin del -atawindows
Line
O&a(
Rectang(e
Ro'n Rectang(e
Permite crear ob(etos /eom<tricos como lineas, circulos,
rect&n/ulos , rect&n/ulos redondeados"
Co('mn Permite a=adir una columna de la sentencia S;*, como si $uese
un ob(eto m&s" Si es #ue accidentalmente borro el ob(eto #ue se
relacionaba con dicha columna"
Com$'te Permite #ue 'd" -e$ina $unciones a/re/adas , e+presiones de
calculo" 4odas estas deben presentar un valor por pantalla"
Gra$/ Permite insertar un /r&$ico, los datos para dise=ar el /r&$ico
ser&n al/una de las columnas de$inidas en el :ri/en de -atos"
Ne#te Re$ort Permite in/resar un subreporte en la presentacin del
-atawindow, este reporte debe ser un -atawindow previamente
dise=ado" Por lo tanto podemos decir #ue este ob(eto permite
crear un -atawindow subordinado"
O(e Permite insertar un ob(eto :le" .ste ob(eto :le puede ser uno
Cuevo, un archivo ,a e+istente o un ob(eto e+terno a
PowerBuilder pero re/istrado en el sistema"
Page com$'te 7ie(
Toa5
Son ob(etos compute #ue poseen sentencias preDde$inidas,
pueden ser modi$icados0
Pa/e, muestra un mensa(e automatiado de la pa/ina
impresa , el total de estas"
4oda,, muestra un mensa(e automatiado para presentar la
$echa actual"
A&erage .stos son ob(etos compute #ue poseen sentencias prede$inidas,
Manual del Alumno
Co'nt
S'm
pueden ser modi$icadas" Para hacer uso de esto, debe marcar un
campo , lue/o seleccionar el ob(eto1 este campo sera utiliado
para sentencia automatiada"
6vera/e, entre/a el promedio de un campo
num<rico"
Count, entre/a la cuenta de los re/istros"
Sum, entre/a la suma de un campo num<rico"
Manual del Alumno
*Semana # 15
Contro( 0ata2ino2
.l ob(eto -atawindows en si no es de nin/una utilidad, si no se vincula con un control
-atawindow" .ste ob(eto, es visual , es posible de insertar directamente en una ventana1
para #ue pueda ser utiliado por el usuario"
0ata2ino2 Contro(
.l ob(eto -atawindow Control se selecciona del listado de ob(etos #ue se pueden
insertar en una ventana, simplemente ha/a un clic sobre el icono " *ue/o ha/a un
clic en la ventana, donde desea poner el control -atawindow"
Ea,a a la ventana propiedades, teniendo seleccionado el control -atawindow, para ver
las propiedades #ue posee"
6 continuacin se listan las propiedades particulares #ue el control -atawindow posee"
Pro$iea 0e#cri$cin
Name .s el nombre #ue tendr& el ob(eto -atawindow Control"
0ataO!"ect .scriba el nombre del ob(eto -atawindow #ue ser& mostrado en este -atawindow
control" Para seleccionar un ob(eto -atawindow presione el botn )Browse)"
Tit(e .scriba el te+to #ue aparecer& en la barra de titulo, si esta marcada la opcin
84itleBar9"
Tit(eBar Si esta opcin esta marcada, el te+to #ue este en la ca(a 84itle9 se mostrara como
una barra de titulo"
Contro( *en' Si esta opcin est& marcada, permite #ue el -atawindow Control, sea un ob(eto
$lotante 2pudiendo moverse3 dentro de los limites de la ventana #ue lo contiene"
*a3imi<e !o3
*inimi<e !o3
Permite #ue el -atawindow control, presente los botones Ba+imiar , Binimiar,
respectivamente"
%#cro((Bar Permite activar las barras de desplaamiento vertical , horiontal para el control
Manual del Alumno
4#cro((Bar -atawindow"
Re#i<a!(e Permite #ue el -atawindow se pueda redimensionar"
-ic/a Ot/er Se indica las propiedades 2J, K, Width, >ei/ht, -ra/Icon , -ra/6uto"
-'ncione# e( Contro( 0ata2ino2
Guncin SetTran#O!"ect230 para hacer uso del -atawindow Control en tiempo de
e(ecucin es necesario indicar #ue ob(eto de transaccin ser& utiliado por el
-atawindow 2ver el tema )Base de -atos)3 para presentar la in$ormacin de$inida en el"
.sto se hace, con la si/uiente $uncin0
XControlDwY@SetTran#O!"ect2Xobj transacY3
-onde0
XControl DwY es el nombre del Control -atawindow"
Xobj transacY es el ob(eto de transaccin, por de$ecto utilice S;*C6"
Guncin Retrie&e230 para obtener datos de la Base de -atos, , mostrarlos en el Control
-atawindow0
XControlDwY@Retrie&e 2Xlista parametrosY3
-onde0
XControlDwY es el nombre del Control -atawindow"
X lista parametros Y, si para el :ri/en de -atos del -atawindow se de$inieron
ar/umentos, deben listarse los valores a utiliar por cada uno en el mismo orden en #ue
$ueron de$inidos , separados entre si por una coma" *os ar/umentos se escriben como
literales, sin comillas para los ar/umentos de tipo te+to"
Guncin 0ataO!"ect0 para cambiar en tiempo de e(ecucin el -atawindow por otro, #ue
esta vinculado al Control -atawindow0
XControlDwY@0ataO!"ect W DXnombre obj DwY3E
-onde0
XControlDwY es el nombre del Control -atawindow"
X nombre obj Dw Y, es el nombre de un ob(eto -atawindow de$inido" Si el ob(eto
-atawindow vinculado al Control -atawindow, es necesario nuevamente, indicar el
ob(eto de transaccin #ue se utiliara para este -atawindow , volver a llamar la $uncin
Retrie&e, para obtener los datos de esta nuevo -atawindow"
Guncin Scro((toRo2230 Para mover el puntero de re/istros a un re/istro determinado"
XControlDwY@Scro((toRo22pos3
-onde0
X ControlDw Y es el nombre del Control -atawindow"
XposY .s la posicin hacia donde se mover& el puntero de re/istros"
Guncin Scro((PriorRo2230 Para ir al anterior re/istro"
XControlDwY@Scro((PriorRo223
-onde0
X ControlDw Y es el nombre del Control -atawindow"
Guncin Scro((Ne3tRo2230 Para ir al si/uiente re/istro"
XControlDwY@Scro((Ne3tRo223
-onde0
X ControlDw Y es el nombre del Control -atawindow"
Manual del Alumno
Guncin GetRo2230 Para obtener el n7mero de re/istro actual"
XControlDwY@GetRo223
-onde0
X ControlDw Y es el nombre del Control -atawindow"
Guncin Ro2Co'nt230 Para obtener el total de re/istros del control -atawindow"
XControlDwY@Ro2Co'nt23
-onde0
X ControlDw Y es el nombre del Control -atawindow"
Guncion In#ertRo2,.0 para a=adir un nuevo re/istro en la base de datos"
XControlDwY@In#ertRo22pos3
-onde0
X ControlDw Y es el nombre del Control -atawindow"
XposY .s la posicin, dentro del n7mero de re/istros mostrados en el Control
-atawindow, donde se insertara el nuevo re/istro" Si posW A, a=ade un re/istro al $inal
de los ,a e+istentes" .l a=adir un re/istro, para ser llenado los datos de los campos por
el usuario, no implica #ue el $oco se mueva a este nuevo re/istro"
Guncin U$ate230 se usa para actualiar los datos del control -atawindow"
XControlDwY@U$ate2 3
-onde0 XControlDwY es el nombre del Control -atawindow"
.sta $uncin devuelve un valor, D1 si un error ocurri al /rabar datos sino retorna un
valor ma,or de A"
Guncion 0e(eteRo2230 para eliminar un re/istro, se puede eliminar cual#uier re/istro
solo indicando su posicin dentro del n7mero de re/istros mostrados en el Control
-atawindow"
.sto se hace, con la si/uiente $uncin0
XControlDwY@0e(eteRo22pos3
-onde0
XControlDwY es el nombre del Control -atawindow"
Pos: es la posicin del re/istro a eliminar" Si desea eliminar el re/istro donde esta el
$oco 2cursor actualmente3,colo#ue el valor de A a la posicin"
Guncin SetSort230 se usa para ordenar el control -atawindow en base a un campo
determinado , con un ordenamiento ascendente o descendente"
X ControlDw Y"SetSort2]campo^,aFd3
-onde0
XControlDwY es el nombre del Control -atawindow"
Campo0 viene a ser el campo usado para ordenar"
:rdenar ascendente2a3 , ordenar descendente2d3"
Guncin Sort230 e(ecuta el ordenamiento de$inido por la $uncin SetSort23"
X ControlDw Y"Sort23
-onde0
XControlDwY es el nombre del Control -atawindow"
Manual del Alumno
Guncin -in230 permite buscar un re/istro, dentro de los listados en el Control
-atawindow, #ue coincida con la e+presin de$inida"
XControlDwY@-in2Xexpresindecond inicio !inY3
-onde0
XControlDwY es el nombre del Control -atawindow"
X expresindecond Y es una e+presin #ue se escribe i/ual #ue una e+presin
Where"
Inicio , Gin indican el &mbito de b7s#ueda"
.sta $uncin devuelve la posicin del re/istro #ue cumpla con la condicin, o un
cero si no encuentra nin/uno"
-i(trar Regi#tro#
.sto si/ni$ica #ue del con(unto de re/istros #ue muestra el Control -atawindow en
$orma habitual, solo se mostraran los #ue cumplan con cierta condicin" ;uedando los
otros invisibles, pero presentes en el Control -atawindow" Para esto posee dos
$unciones, la primera para de$inir una $iltro, , la se/unda para e(ecutar el $iltrado
de$inido"
0e7inir -i(tro0 Si desea modi$icar el $iltro de$inido en la )Presentacin) del
-atawindow, o crear un nuevo $iltro, utilice la si/uiente $uncin0 Set-i(ter2condicin3"
E"ec'tar -i(tro0 Para realiar el $iltrado en el -atawindow Control, utilice la si/uiente
$uncin0 Set-i(ter23
.(emplo0 dwVnuevo"Set-i(ter2).dadY 51)3
dwVnuevo" Set-i(ter2 3
Manual del Alumno
*Semana # 1L
Leng'a"e SCL
S;* 2Structured ;uer, *an/ua(e3, *en/ua(e .structurado de Consultas, es un con(unto
de sentencias #ue son utiliadas para manipular el con(unto de datos de una Base de
-atos relacional"
S;* es un len/ua(e #ue se puede utiliar para interactuar con una base de datos
relacional" S;* es un len/ua(e completo de control e interaccin con un sistema de
/estin de base de datos"
*a sentencia S.*.C40
Hecupera datos de una base de datos , los devuelve en $orma de resultados en una
consulta" Para consultas sencillas se usa la sentencia Select de S;* en $orma directa"
Cuando las peticiones se hacen m&s comple(as, deben utiliarse caracter!sticas
adicionales de la sentencia Select para especi$icar la consulta con precisin"
*a sentencia Select consta de seis cl&usulas" *as cl&usulas S.*.C4 , GH:B de la
sentencia son necesarias" *as cuatro restantes son opcionales" Se inclu,en en la
sentencia Select solamente cuando se desean utiliar las $unciones #ue proporcionan"
Sinta+is
*a sinta+is de la instruccin S.*.C4 consta de las si/uientes partes0
Select predicado a * a lista de campos a e+presin de calculo as CampoCalculado
Grom 4ablas
Where condicin de seleccin
%roup B, 6/rupamiento
>avin/ condicin de a/rupamiento
:rder B, e+presin de ordenamiento 6sc a -esc1
*a $uncin de cada cl&usula est& resumida a continuacin0
*a cl&usula Select lista los datos a recuperar por la sentencia Select" *os !tems pueden
ser columnas de la base de datos o columnas a calcular por S;* cuando e$ect7e la
consulta"
*a cl&usula Grom lista las tablas #ue contiene los datos a recuperar por la consulta" *as
consultas #ue e+traen sus datos de una 7nica tabla"
*a cl&usula Where dice a S;* #ue inclu,a slo ciertas $ilas de datos en los resultados
de la consulta" Se utilia una condicin de b7s#ueda o seleccin para especi$icar las
$ilas deseadas"
*a cl&usula %roup B, especi$ica una consulta sumaria o de a/rupamiento" .n ve de
producir una $ila de resultados por cada $ila de datos, a/rupa todas las $ilas similares ,
lue/o produce una $ila sumaria de resultados para cada /rupo"
*a cl&usula >avin/ dice a S;* #ue inclu,a slo ciertos /rupos producidos por la
cl&usula %roup B, en los resultados de la consulta" 6l i/ual #ue la cl&usula Where,
utilia una condicin de b7s#ueda para especi$icar los /rupos deseados"
*a cl&usula :rder B, ordena los resultados de la consulta en la base de datos de una o
m&s columnas" Si se omite, los resultados de la consulta no aparecen ordenados"
:tros ar/umentos indicados en la sentencia Select
Manual del Alumno
Parte -escripcin
Predicado 'no de los si/uientes predicados0
6**, -IS4ICC4, -IS4ICC4H:W o 4:P" Puede utiliar el
predicado para limitar el n7mero de re/istros devueltos" Si no
especi$ica nin/uno, el valor prederteminado es 6ll #ue muestra
todos los re/istros"
4ablas .l nombre de la tabla #ue contiene los campos de la #ue se van a
seleccionar los re/istros"
*
lista de campos
Campos
calculados
*os nombres de los campos #ue contienen los datos #ue desea
recuperar, se usa el asterisco para mostrar todos los campos" Si
inclu,e m&s de un campo, <stos se recuperan en el orden
enumerado"
6dem&s de las columnas cu,os valores provienen directamente de
la base de datos, una consulta S;* puede incluir campos calculados
cu,os valores se calculan a partir de los valores de los datos
almacenados
:peradores de S;*
4est de comparacin" Compara el valor de una e+presin con el valor de otra"
4est de ran/o" .+amina si el valor de una e+presin cae dentro de un ran/o especi$icado
de valores"
4est de pertenencia a con(unto" Comprueba si el valor de una e+presin se corresponde
con uno de un con(unto de valores"
4est de correspondencia con patrn" Comprueba si el valor de una columna #ue
contiene datos de cadena de caracteres se corresponde a un patrn especi$icado"
4est de valor nulo" Comprueba si una columna tiene un valor C'** 2desconocido3"
Te#t e com$aracin ,=)>?)>) >=) ?) ?=.
*a condicin de b7s#ueda m&s com7n utilia en una consulta S;* es el test de
comparacin" .n un test de comparacin, S;* calcula , compara los valores de dos
e+presiones S;* por cada $ila de datos"
Te#t e corre#$onencia con $atrn ,LIVE.
Se puede utiliar un test de comparacin simple para recuperar las $ilas en donde el
contenido de una columna de te+to se corresponde con un cierto te+to particular"
.l te+to de correspondencia con patrn 2*II.3 comprueba si el valor de dato de una
columna se a(usta a un patrn especi$icado" .l patrn es una cadena #ue puede incluir
uno o m&s caracteres comodines"
Gormato0 Campo *i?e Patron
Te#t e rango ,BETWEEN.
S;* proporciona una $orma di$erente de condicin de b7s#ueda con el test de ran/o
2B.4W..C3" .l test de ran/o comprueba si un valor de dato se encuentra entre dos
valores especi$icados o un ren/o de datos"
Gormato0 Campo Between valorinicial and valor$inal
Te#t e $ertenencia a con"'nto ,IN.
:tra condicin habitual es el test de pertenencia a con(unto 2IC3, e+amina si un valor de
dato coincide con uno de una lista de valores ob(etivo"
Manual del Alumno
Gormato0 Campo In 2Ealor1,Ealor5, EalorL, """"""""""" , Ealorn3
Te#t e &a(or ,IS NULL.
*os valores C'** crean una l/ica trivaluada para las condiciones de b7s#ueda en
S;*" Para una $ila determinada, el resultado de una condicin de b7s#ueda puede ser
4H'. : G6*S. o puede ser C'** debido a #ue una de las columnas utiliadas en la
evaluacin de la condicin de b7s#ueda conten/a un valor C'**"
Gunciones de Hesumen o Sumarias
-'ncione# 0e#cri$cin
S'B23 Calcula el total o sumatoria de una columna"
6E% 23 Calcula el valor promedio de una columna
BIC 23 .ncuentra el valor m&s pe#ue=o o m!nimo en una columna"
B6J 23 .ncuentra el valor ma,or o m&+imo en una columna"
C:'C4 23 Cuenta el n7mero de valores en una columna"
C:'C4 2*3 Cuenta las $ilas de resultado de la consulta"
Manual del Alumno
*Semana # 1P
C'r#ore#
.stas sentencias permiten de$inir un con(unto de campos , re/istros, sobre los cuales se
podr&" Bodi$icar valores, .liminar re/istros , moverse dentro de los re/istros #ue
cumplan con las restricciones de$inidas para la sentencia"
*a ma,or venta(a es #ue la sentencia de$inida es conservada en una variable, de tipo
cursor, esta puede ser utiliada dentro del ran/o de$inido al declararla 2%lobal, Shared,
Instance, *ocal3
Para traba(ar con cursores se de$inen L pasos0
-eclarar el Cursor, esto se hace estando en un modulo e(ecutable de pro/rama o
bien en al/una casilla de declaracin de variables"
6brir el Cursor, esta operacin inicialia la sentencia S;* de$inida en el paso
anterior"
4raba(ar con el cursor, esto se re$iere a las acciones de Cave/ar, 6ctualiar ,
.liminar"
Cerrar el Cursor, esto libera la memoria #ue utilia la variable declarada como
cursor" Se puede volver a 6brir el Cursor, si $uese necesario
.s una buena pol!tica comprobar el valor del s#lca"s#lcode, para ver si la operacin
realiada $ue satis$actoria, al abrir, traba(ar o cerrar el cursor"
0ec(arar e( C'r#or
Para declarar el cursor" Si esta en un modulo e(ecutable de pro/rama presione el botn
, eli(a la opcin 8-eclare9, si esta en al/una de las casillas de declaracin de
variablesFconstantes ha/a doble clic? sobre el icono #ue dice 8Cursor9, en ambos casos
se continua como si/ue"
6parecer& la ventana )Seleccin de 4abla), solo las tablas #ue se seleccionen del listado
ser& posible de manipular" Presione el botn 8:pen9 para #ue aparecan las tablas
seleccionadas, o presione el botn 8Cancel9 para cancelar la operacin" *a opcin
8S,stem 4ables9 permite seleccionar las 4ablas del catalo/o de la Base de -atos1 estas
4ablas son utiliadas para la 6dministracin de la Base de -atos" *as 4ablas
seleccionadas aparecen en la ventana en una $orma /ra$ica , tambi<n las relaciones
e+istentes"
Seleccione los campos, haciendo un clic sobre ellos, en la representacin /ra$ica de la
4abla"
.n la parte in$erior de la ventana aparecen los tpicos de traba(o, estos tpicos se
traba(an i/ual #ue cuando se selecciona el 8:ri/en de -atos9 para un -atawindow"
-espu<s de de$inir la sentencia, cierre la ventana, al hacerlo se pre/untara el nombre
#ue tendr& el cursor, presione el botn 8:?9, , la sentencia se pe/ara donde este el
cursor en la ventana ori/en"
*a sentencia es $inaliada con un punto , coma 213, si esta utiliando un :b(eto de
4ransaccin distinto al est&ndar 2s#lca3, inmediatamente antes del punto , coma escriba
lo si/uiente0
USING Xotro objY
-onde Xotro ob(Y, corresponde a otro ob(eto de transaccin de$inido en la aplicacin"
A!rir e( C'r#or
.sta operacin se realia en un modulo de cdi/o e(ecutable de pro/rama" Para abrir un
cursor, la sentencia es la si/uiente0
OPEN Xnombre cursorY1
Manual del Alumno
-onde Xnombre cursorY es el nombre #ue se le asi/no al cursor al momento de
declararlo" Hecuerde #ue solo puede utiliar los cursores #ue est<n de$inidos2%lobales,
Shared, Instance, *ocal3 para su utiliacin en el ran/o #ue abar#ue el modulo en uso"
Tra!a"ar con e( c'r#or
.l traba(ar con el cursor se re$iere ha hacer uso de este para al/7n proceso" .s as! como
se puede obtener -atos de los re/istros #ue cumplan con las restricciones de$inidas al
declarar el cursor" 4ambi<n se pueden eliminar el re/istro donde este actualmente, de la
lista de re/istros #ue cumplan con las restricciones de$inidas al declarar el cursor" Por
7ltimo, tambi<n se puede actualiar del re/istro actual, el2los3 campo2s3 #ue $orman
parte de la declaracin del cursor"
6 continuacin de$iniremos cada una de estas operaciones0
O!tener 0ato#
Para obtener los datos de un re/istro se utilia la si/uiente sentencia0
-ETC4 >operador naveg? >nombre cursor? INTO >lista variables? W
-onde0
Xnombre cursorY es el nombre del cursor de donde se desea obtener los datos" Si es
la primera sentencia despu<s de haber abierto el cursor, se obtendr&n los datos de el
primer re/istro #ue cumpla la condicin $i(ada en la declaracin del cursor, ,a #ue el
indicador de posicin del re/istro actual esta en A" Si se vuelve a repetir la misma
sentencia se obtendr& el se/undo re/istro, , as! consecutivamente"
Xoperador navegY es una palabra reservada #ue se utilia para indicar de #ue
posicin se obtendr&n los datos para llenar la Xlista de variablesY" .sta palabra
reservada es optativa, ,a #ue por de$ecto asume C.J4" *as palabras reservadas son las
si/uientes0
-ir#t0 Primer He/istro
Pre&io'#0 6nterior He/istro
Ne3t0 Si/uiente He/istro
La#t0 'ltimo He/istro
E(iminar 5 Act'a(i<ar 0ato#
0ELETE -RO* >nom tabla? W4ERE CURRENT O- >cur name? W
Se usa para eliminar datos del cursor"
-onde0
Xnom tablaY, es el nombre de la 4abla a eliminar el re/istro"
Xcur nameY, es el nombre del cursor"
Si se desea modi$icar el valor de un campo, de los seleccionados cuando se de$ini el
cursor, utilice la si/uiente sentencia0
UP0ATE >nom table? SET >cols? W4ERE CURRENT O- >cur? W
Se usa para actualiar datos en el cursor"
:perador-escripcin
Ce+t Indica #ue los datos ser&n obtenidos del si/uiente re/istro, de los #ue cumplan
con la declaracin del Cursor"
Prior Indica #ue los datos ser&n obtenidos del re/istro anterior"
Girst Indica #ue los datos ser&n obtenidos del primer re/istro de los #ue cumplan con
la declaracin del Cursor"
*ast Indica #ue los datos ser&n obtenidos del 7ltimo re/istro de los #ue cumplan con
la declaracin del Cursor"
Manual del Alumno
-onde0
Xnom tableY, es el nombre de la 4abla a modi$icarse"
XcolsY, es un listado de los campos, separados por coma" Combre del campo, si/no
i/ual 2W3 , el valor a asi/narse"
XcurY, nombre del cursor
Cerrar e( C'r#or
Para cerrar el cursor utilice la si/uiente sentencia0
CLOSE >nombre cursor? W
-onde0 Xnombre cursorY
.l cerrar el cursor, no implica #ue se pueda volver a abrirlo en el $uturo"
Manual del Alumno
*Semana # 1Q
O!"eto# SCL,C'er5.
*os ob(etos S;* vienen a ser consultas /r&$icas realiadas por un mandato Select
interno #ue permite /enerar un ob(eto ;uer, #ue se almacena en una librer!a, el cual
pude ser utiliado posteriormente como un ori/en de datos para un ob(eto -atawindow"
Para crear un ob(eto C'er5 se hace clic en el botn Ne2 del PowerPanel , lue/o se
eli/e la $icha -atabase , se selecciona el ob(eto ;uer, lue/o clic en botn OV2 ver
Ima/en3"
*ue/o se deben seleccionar las tablas a usar en el ;uer, , clic en botn O$en2ver
ima/en3"
.l ;uer, se mostrar& como si/ue para seleccionar los campos a usar , los par&metros de
seleccin de los datos en las di$erentes cl&usulas del mandato Select"
*a $icha Sort se usa para indicar el ordenamiento de datos, para indicar los campos a
usar en el ordenamiento arrastre el campo de lista #ue esta a la i#uierda , trasl&delo
hacia la ona de la derecha"
Manual del Alumno
*a $icha W/ere se usa para indicar las condiciones de seleccionamiento de datos"
*a seccin Co('mn se usa para indicar el campo o e+presin a usar para las
condiciones"
*a seccin O$erator se usa para indicar el operador a usar en las condiciones"
*a seccin %a('e se usa para colocar el valor de la condicin o dato a emplear en las
condiciones"
*a seccin Logica( se usa para colocar el operador l/ico An u Or #ue permite indicar
nuevas condiciones de seleccin"
Manual del Alumno
*a $icha Gro'$ se usa para indicar el a/rupamiento de datos, seleccione el campo a
usar para el a/rupamiento , arr&strelo de la ona i#uierda hacia la ona derecha, en
esta cl&usula no se pueden usar a/rupamientos empleando $unciones del PowerScript"
*a $icha 4a&ing se usa para las condiciones de a/rupamiento, $unciona en $orma
similar a la $icha W/ere"
Manual del Alumno
*a $icha Com$'te se usa para indicar los campos calculados, se pueden usar $unciones
de resumen , $unciones del PowerScript"
.n la $icha S,nta+ se muestra la sinta+is del mandato Select /enerado por cada ;uer,"
Manual del Alumno
4ambi<n podemos usar ar/umentos de recuperacin para recuperar datos en $orma
din&mica a la hora de e(ecutar el C'er5, para lo cual ha/a clic en 0e#ign clic en
Retrie&a( Arg'ment#@@@ , lue/o indi#ue el nom!re del ar/umento de recuperacin , el
ti$o e ato del ar/umento , ha/a clic en O6 para #ue #uede /rabado2ver ima/en3"
'na ve de$inido el ;uer, completamente se /raba dicho ob(eto en una librer!a"
Manual del Alumno
*Semana # 1R
E&ento# e U#'ario
Cada ob(eto visual manipulado en PowerBuilder posee un con(unto de eventos
prede$inidos, los cuales son usados para pro/ramar las tareas de los di$erentes ob(etos, a
su ve a los ob(etos se le pueden asi/nar otros eventos de$inidos por el usuario o
pro/ramador , #ue ser&n propios para el mismo ob(eto"
Crear E&ento e '#'ario
Para crear un evento de usuario en primer lu/ar se debe activar el ob(eto o control,
lue/o hacer clic en In#ert , clic en E&ent"
*ue/o se debe indicar lo si/uiente0
Ret'rn T5$e0 el tipo de dato #ue retorna el evento
E&ent Name0 indica el nombre del evento
Pa## B50 indica el tipo de paso del ar/umento2value, re$erence o readonl,3
Arg'ment T5$e0 indica el tipo de dato del ar/umento
Arg'ment Name0 indica el nombre del ar/umento
E3terna(0 indica si el evento ser& usado como e+terno
E&ent I00 indica el identi$icador de evento, /eneralmente usar los pbmVcustom como
identi$icadores de eventos de usuario"
Cota0 si el evento no tiene ar/umentos, eliminar la seccin de ar/umentos con clic
derecho , clic e(ete $arameter"
*ue/o se pro/rama el Script del evento de usuario creado"
Para llamar a los eventos de usuario se usan el m<todo postevent de la si/uiente manera0
Parent"postevent2]nombreVevento^3
4his"postevent2]nombreVevento^3
.(emplo0
Parent"postevent2]ueVnuevo^3
Manual del Alumno
O!"eto# e U#'ario
Son los ob(etos creados por el usuario, /eneralmente son ob(etos reutiliables por#ue
pueden ser usadas en cual#uier momento dentro de la aplicacin, los ob(etos de usuario
pueden ser0
O!"eto# Stanar %i#'a(0 son a#uellos ob(etos heredados de los controles visuales de
PowerBuilder #ue e+isten en una ventana , #ue pueden ser incluidos dentro de un
ob(eto contenedor o una ventana"
O!"eto# C'#tom %i#'a(0 son ob(etos de usuario visuales personaliados #ue pueden
contener mas de un control de ventana u ob(eto de visual standard, son seme(antes a las
ventanas ,a #ue pueden contener varios ob(etos, cada ob(eto contenido en un ob(eto
Custom Eisual tiene su propio Script para pro/ramar sus tareas"
Manual del Alumno
O!"eto# E3terna( %i#'a(0 son ob(etos especiales #ue el usuario obtiene de elementos
e+ternos"
Stanar C(a##0 son ob(etos de usuario no visuales denominados clases, #ue se derivan
de clases propias de PowerBuilder"
C'#tom C(a##0 son ob(etos de usuario no visuales #ue solo tienen inicialmente un
evento constructor , un evento destructor, el usuario podr& de$inir nuevos eventos o
m<todos , propiedades de la clase en $orma individual"
Manual del Alumno
T'!er1a e 0ato# - Pi$e(ine
Son ob(etos creados especialmente para el desarrollo de aplicaciones cliente D servidor a
/ran escala, #ue permiten la trans$erencia de datos entre di$erentes base de datos, para
copias de se/uridad de una o mas tablas, etc"
Para crear una tuber!a de datos ha, #ue seleccionar una cone+in ori/en , otra cone+in
destino, la cone+in ori/en es el lu/ar donde residen las de$iniciones de las tablas , los
datos , la cone+in destino indica donde deben trans$erirse los datos o tablas"
Se debe indicar el 0ata So'rce u ori/en de datos
C'ic6 Se(ect0 se selecciona una 7nica tabla de la cone+in ori/en , solo al/unos
campos $orman la tuber!a de datos"
SCL Se(ect0 se constru,e una consulta comple(a empleando una o mas tablas de la
cone+in ori/en"
;uer,0 se selecciona una consulta e+istente u ob(eto S;*2#uer,3 , su resultado se
emplea en la tuber!a de datos"
Store Proce're0 se selecciona un procedimiento almacenado en la cone+in ori/en ,
su resultado se emplea en la tuber!a de datos"
*ue/o de esto seleccionar el la tabla o tablas del ori/en as! como los campos de datos ,
aparecer& la si/uiente pantalla0
-onde se indica el nombre de la tabla2Ta!(e3, la llave primaria2Ve53, la opciones de
creacin de tabla, eliminacin o actualiacin de datos2O$tion#3, el m&+imo de errores
a controlar2*a3 Error#3, el tipo de /rabado2Commit3 , si se copian los atributos
e+tendidos de la tabla de ori/en2E3tene Attri!'te#3"
Manual del Alumno
*Semana # 1@
O!"eto# O(e
.l est&ndar :*. esta construido sobre la base de ob(etos componentes conocidos como
C:B2Component :b(ect Bodel3 #ue permite envolver o encapsular codi/o dentro de
un ob(eto sin necesidad de rescribirlo, /racias a C:B los componentes se pueden
suministrar , compartir entre distintas aplicaciones #ue se e(ecutan en el mismo entorno
o incluso en distintas computadoras"
Manual del Alumno
*Semana # 1O
Pro5ecto
'n pro,ecto es la de$inicin del archivo e(ecutable de la aplicacin" Para traba(ar en
esta &rea presione el botn Cew del PowerPanel lue/o seleccione la $icha Pro(ect ,
lue/o ha/a clic en A$$(ication , clic en botn OV"
6parecer& una ventana, #ue esta dividida en 5 secciones0
E3ec'ta!(e -i(e Name0 permite indicar el nombre del archivo e(ecutable"
Re#o'rce -i(e Name0 permite de$inir el archivo de recursos asi/nado al pro,ecto"
Manual del Alumno
Pro"ect B'i( O$tion#0 indican la $orma como se /enera el pro,ecto al ser compilado o
traducido a len/ua(e ma#uina"
Coe Generation O$tion#0 permiten de$inir el $ormato del archivo e(ecutable en
cdi/o ma#uina2*ac/ine Coe3, /enerar in$ormacin del pro,ecto al
compilarse2Trace In7ormation3, dar in$ormacin de los errores #ue pueden e+istir al
/enerar el pro,ecto2Error Conte3t In7ormation3 , el nivel de
optimiacin2O$timi<ation3"
Li!rar50 *istado de *ibrer!as, deben aparecer todas las librer!as #ue con$orman la
aplicacin, de otro modo ha/a las modi$icaciones en la aplicacin correspondiente"
*a casilla PB0, permite declarar #ue se cree un archivo de *ibrer!a din&mica de
PowerBuilder o puede ser 0LL #ue permite /enerar un archivo de *ibrer!a -in&mica de
.nlace de tipo /eneral para el sistema operativo actual, escribiendo la ubicacin , el
nombre del archivo correspondiente en la seccin Hesource Gile Came"
Para /enerar el archivo e(ecutable presione el botn B'i( "
Manual del Alumno
*Semana # 1T .+amen Ginal

You might also like