Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Computacin II
Actividad de Aprendizaje N 04
Contenidos:
Objetos datawindows: N-Up, Graph Composite, CrossTab, Group, Label, Rich Text y OLE 2.0 y
TreeView.
Funciones avanzadas de Datawindows.
Desarrollo de una aplicacin integradora.
GRAPH
Muestra una representacin grfica de los datos.
Introduccin a la Programacin
en Power Builder
-. Pg. 30.-
Computacin II
N-UP
Es similar a un reporte de N columnas. Muestra mas de una fila de datos en una lnea de impresin.
RICH TEXT
Se utiliza para incorporar datos dentro de un texto a partir de un archivo en formato RTF. Es til para
la elaboracin de cartas modelo y en la combinacin de correspondencia (mail merge).
COMPOSITE
Permite mostrar simultneamente ms de un objeto DataWindow en un solo control DataWindow.
Introduccin a la Programacin
en Power Builder
-. Pg. 31.-
Computacin II
OLE2.0
Permite especificar una aplicacin externa que se utilizar como un servidor OLE para gestionar la
presentacin del DataWindow.
CROSSTAB
Es una tcnica que se utiliza para analizar datos, presenta los datos como una tabla de dos entradas
donde las etiquetas de filas y columnas representan el dominio de dos variables, y las intersecciones
de filas y columnas el resultado de una operacin ejecutada con una tercera variable.
GROUP
Es un DataWindow tabular que muestra los datos agrupados segn determinado criterio. Las filas son
divididas en grupos, cada uno de los cuales puede tener clculos estadsticos. Representa una
manera fcil para crear objetos DataWindow agrupados.
Introduccin a la Programacin
en Power Builder
-. Pg. 32.-
Computacin II
TREEVIEW
Este tipo muestra la informacin en formato de rbol jerrquico. Disponible desde la versin 10.5.
SetFilter: Esta funcin junto con la funcin filter permite filtrar. Es decir seleccionar
solo los registros que deseamos ver en un datawindows.
Dw_1.Setfilter(Sexo=M)
Filter: Permite que powerbuilder ejecute o realice el filtrado o seleccin de los registros
que cumplan la condicin especificada en SetFilter.
Dw_1.Setfilter(Sexo=M)
Dw_1.Filter()
Introduccin a la Programacin
en Power Builder
-. Pg. 33.-
Computacin II
Introduccin a la Programacin
en Power Builder
-. Pg. 34.-
Computacin II
de una ventana
Ejemplo.- dw_maestro.TriggerEvent(Rowfocuschanged!)
Ejecuta el evento Rowfocuschanged del DataWindow
maestro. Un triggerEvent es un evento de programacin de
un Window.
SetRow().- Posicina o coloca el cursor en la fila de un DataWindow
. Ejemplo.- dw_maestro.SetRow(2)
Coloca o posiciona el cursor el la segunda fila del dataWindow maestro
SetColumn().- Posiciona, coloca el cursor en la columna
especificada. Ejemplo.- dw_maestro.SetColumn(4)
Posiciona el cursor en la columna 4, es decir la columna que esta en la posicin 4,
la no es independiente de las tablas.
dw_maestro.setcolumn(nombre)
Posiciona el cursor en la columna llamada nombre
SetItem(#fila, Nombre Columna, Valor a ingresar).- Ingresa un dato en una fila y columna
indicada en un DataWindow.
ejemplo.- dw_maestro.SetItem(3,C_I,171212874-8)
Ingresa en la fila 3 del DataWindow maestro en la fila C_I la cedula de identidad
171212874-8
Introduccin a la Programacin
en Power Builder
-. Pg. 35.-
Computacin II
columna,Nombre_columna,
-. Pg. 36.-
Computacin II
cadena1
if DataWindow _1.AcceptText( ) = 1
then cadena1=usted ha ingresado un
valor
else
cadena1=usted no a ingresado ningn valor
end if
Modify(string).- Modifica especificaciones sobre DataWindows, estas especificaciones
son cambiadas o pueden ser cambiadas desde un scrip cualquiera, puede aadir quitar objetos
del DataWindow, para proveer especificaciones que el usuario desee o requiera.
Ejemplo:
dw_maestro.modify("datawindow.print.preview.zoom = " + '77')
El ejemplo pone el zoom del DataWindow maestro en un 77 % es decir se
puede incrementar o decrementar el Zoom del datawindow, esto se lo usa
especialmente en los reportes de tipo COMPOSITE, que son aquellos que
sirben para la presentacin de reportes escritos o en pantalla.
dw_cust.Modify("destroy logo")
Este ejemplo borra el mapa binario Bitmap llamado logo del
DataWindow dw_cust.
print().- Imprim lo que se encuentra en el DataWindow. ejemplo:
dw_maestro.print()
Imprime lo que se encuentre en el DataWindow maestro.
Autoscroll.- Esta opcin se la utiliza para que se de un autoscroll en los campos tipo text.
Para el ingreso de datos cuando estos son muy largos y hay que reducir el ancho y ponerlo
para leerlo en lneas, mediante este el cursor sigue a la siguiente lnea automticamente.
Setnull(variable).- Pone nulo o anula variables.
RelativeDate ( date, n ).- Desplaza la fecha ingresada el nmero de das especificados. Date.Fecha ingresada.
N.- Numero de dias a despalzar la fecha
Ejemplo:
Date fecha
Fecha= RelativeDate(1999-01-31, 10)
En fecha se amacenara 1999-02-10, es decir se desplaz 10 das de la
fecha ingresada.
DataWindow.- Este bambien es un tipo de dato al cual se asignan Datawindows. Ejemplo:
Datawindow imprimir
integer filas
imprimir=dw_2
filas= imprimir.rowcount()
Introduccin a la Programacin
en Power Builder
-. Pg. 37.-
Computacin II
Describe.- Se lo usa sobre Datawindos para determinar que propiedades estn asignadas
a ellos, estas pueden ser: impresora, tabla, todos los objetos y propiedades asignadas a
un DataWindow.
Ejemplo: string cadena
cadena = imprime.Describe("DataWindow.Printer")
En cadena se almacena la impresora que esta asignada en el Datawindow,
esta puede ser asignada por el usuario o por el sistema (por defecto).
Printsetup().- Muestra el cuadro de dialogo para seleccionar impresora.
Modify(cadena).- Modifica las propiedades asociadas a un DataWindow, puede adicionar o
mantener objetos del DataWindow.
Ejemplo.- Datrawindow imprime imprime=dw_2
imprime.modify("datawindow.print.copies = "
+ "2")
Determina que el numero de copias que seran impresos es 2 cuando se imprima
el data window mediante el comando print
imprime.modify("datawindow.print.Paper.Size = " + "0")
Establece que el tamao del papel es el seleccionado por Defecto.
imprime.modify("datawindow.print.Page.Range= "+"1 5") Se fijan el rango de paginas que sera impreso
GetFileSaveName ( Titulo, path, archivo {, extension {, filtro } } ).- Muestra el cuadro de
dialogo para salvar, o guardar archivos, sus argumentos son:
Titulo.- Determina el titulo del cuadro de
dialogo
Path.- Establece el path por defecto, este puede ser un valor
nulo
Archivo.- En esta seccion de debe especificar el nombre del archivo que aparecera en
el
cuadro de dialogo, este puede ser un valor nulo, con lo cual el usuario sera el encargado de
asignar un nombre para su archivo
Extension.- Se establece la extensin del archivo que apareceran dentro del cuadro de
dialodo, por ejemplo .TXT, .BAS, .BAK.
Filtro.- Establece el filtro de los archivos que seran desplegados en el cuadro de
dialogo.
Ejemplo: string
archivo,temporal
integer fallo
fallo=GetFileSaveName ("Archivo A Imprimir", archivo, temporal, "PRN",
"Print
(*.PRN),*.PRN")
Find ( expresion, inicio, fin ).- Encuentra la siguiente fila de un DataWindow en el cual se
cumple la condicin especificada.
Expresin.- Una expresin cuyo valor es una expresin de tipo Boolean.
Introduccin a la Programacin
en Power Builder
-. Pg. 38.-
Computacin II
-. Pg. 39.-
Computacin II
-. Pg. 40.-
Computacin II
Binary.
BlobVariable.- El nombre de la variable en la cual esta almacenado el objeto tipo Blob
o Long Binary
BlobColumna.- El nombre de la columna a la cual se le asignara el valor de la variable
Ejemplo
blob objeto
objeto=ole_1.objectdata
dw_1.update() updateblob
cancion
set pista_sonora = :objeto
where cancion_codigo = :1;
Declaramos la variable objeto de tipo Blob, seguidamente asignamos el valor de un objeto
tipo "Ole" que contiene (Grfico, Sonido, Texto, etc ) , y lo asignamos en la variable objeto,
luego asignamos el valor de esta variable a la tabla mediante la secuencia o declaracin
"updateblob". Actualizamos la tabla cancin, la columna pistas_sonora, del registro cuyo
codigo es 1.
Selectblob.- Selecciona un campo tipo Blob o Long Binary
Formato
selectblob
Campo into
:Variable
from Tabla
where cmcn_codigo = :ls_title;
Esta estructura es similar a un select normal del PowerBuilder.
Ejemplo:
blob objeto
selectblob Pista_sonora
into :Objeto
from Cancion
where cancion_codigo = 1;
ole_1.objectdata = Objeto
Declaramos la variable Objeto, luego realizamos la secuencia
cargamos la cancin de la tabla del mismo nombre en la variable
cargamos en un objeto tipo "Ole" para su posterior reproduccin.
SelectBlob,
y
Objeto, y luego la
Introduccin a la Programacin
en Power Builder
-. Pg. 41.-
Computacin II
Ejemplo:
DataWindowChild dw_hijo
dw_detalle.GetChild("mat_codigo", dw_hijo)
Se Crea el DataWindowChild de nombre dw_hijo, de la columna mat_codigo, del
Datawindow dw_detalle.
dwPrimario.ShareData ( dwSecundario ).- Comparte datos entre Datawindows.
Transfiere los datos del primer DataWindow al segundo Datawindow.
Nota.- Los DataWindows deben ser de la misma naturaleza, se debe obtener datos de
la misma tabla.
DwPrimario.- Es el nombre del DataWindow Primario, de este pasaran los datos
al DataWindow Secundario, cuando se destruye este datawindow los datos desaparecen
DwSecundario.-Es el nombre del DataWindow Secundario, es el que va ha recibir los
datos del datawindow primario.
Ejemplo:
dw_lista_x_bodega.retrieve(
1)
DataWindowChild dw_hijo
dw_detalle.GetChild("mat_codigo",
dw_hijo) dw_lista_x_bodega.ShareData
(dw_hijo) dw_detalle.retrieve(codigo)
Dw_lista_x_bodega es de tipo lista (tabla "Material"), el cual recibe como
argumente el codigo de una bodega, dw_hijo es el datawindow hijo de
Dw_detalle (tabla "Detalle").
Este cdigo permite filtrar los datos del dw_lista_x_bodega hacia el
campo mat_codigo, lo que garantiza que los datos que ban ha seleccionar el
usuario
correspondan a la bodega correcta y al material correcto, pues este cdigo responde
a la necesidad de claves compuestas forneas hacia una tercera tabla, el
ejemplo corresponde al Modelo presentado aqu.
Send ( handle, message#, lowword, long ).- Enva mensajes a una ventana para que los
ejecute de forma inmediata.
Ejemplo
Send(Handle(this),256,9,Long(0,0))
Return 1
Este ejemplo cambia de item (siguiente campo) cuando se presiona un enter, este cdigo
debe ser colocado en un nuevo evento el cual cuyo identificador es
(pbm_dwnprocessenter)
pbm_dwnkey.-Este identificador de evento lo podemos utilizar para determinar que tecla
fue presionada sobre un datawindow.
pbm_dwnprocessenter.- Este identificador de eventos se le puede utilizar para
determinar cuando se presion un enter sobre un
datawindow.
If (condicion,Verdadero, Falso).- Esta funcin se la utiliza dentro de los campos asociados
Introduccin a la Programacin
en Power Builder
-. Pg. 42.-
Computacin II
a un Datawindow, para verificar el valor del campo, y segn la condicin se efecta algn
evento sobre el campo.
Condicin.- Es la tpica condicin del una estructura if, pero en este caso se tiene que
ingresar nicamente los valores validos de los campos que estemos asociando.
Verdadero.- Este valor ser retornado si la condicin es
verdadera. Falso.- Es el valor que ser retornado si la condicin
resulta falsa. Ejemplo:
if ( salario> =2000.000, rgb(255,0,0),rgb(0,255,0))
Este ejemplo cambia el color de la letra del campo si el salario es mayor a 2000.000
lo pinta de color Rojo, Si es menor lo pinta de verde, este ejemplo debe ser colocado
en las propiedades, del campo en color o backcolor, pues nicamente estos campos
ban ha aceptar este ejemplo.
if ( Sexo ="M", "Masculino","Femenino")
Si en el campo Sexo se encuentra la letra M se escribir Masculino en dicho campo,
caso contrario se escribir Femenino, esto puede ser util para reportes, este comando
se lo escribe o ingresa en Validation del campo asociado a un datawindow.
Match( string, textpattern ).- Se lo utiliza para determinar que tipo de caracteres son
validos dentro de una cadena de caracteres, esta funcion retorna True si se cumple con lo
especificado y false en caso contrario.
String.- La cadena que se necesita o desea validar.
Textpattern.- La cadena que contiene la validacin.
^.- Este carcter se lo usa para determinar el inicio de la cadena.
$.- Se lo usa para determinar el final de la cadena
Ejemplo.match( gettext(), "^[0-9][0-9][0-9]$" )
Este ejemplo se lo usara para validar el ingreso de una clave que contenga 3
nmeros,
este se los debera colocar en la validacin de la columna dentro de un
datawindow, para asegurarse que se muestre el error al cambiarse de campo a campo.if
Match(sle_1.text, "^[A-Za-z]") = False then messagebox("Error","No se aceptan
numeros",Information!)
end if
En este ejemplo match se lo usa para validar el texto ingresado en
(SingleLineEdit)
donde se requiere que se ingresen solo letras y no nmero.
Introduccin a la Programacin
en Power Builder
-. Pg. 43.-
Computacin II
Introduccin a la Programacin
en Power Builder
-. Pg. 44.-
Computacin II
Artculos
EMPLEADOS
Introduccin a la Programacin
en Power Builder
-. Pg. 45.-
Computacin II
BIBLIOGRAFA.
Carrasco Muoz, Joel. Power Builder 11.5 . Edit. Editores A&C. Segunda Edicin. Per 2008.
Pillaca Ruben. Power Builder Avanzado. Edit. Megabyte SAC. Primera Edicin. Per 2008.
Castaeda L. Juan Jos. Power Builder 9.0 Full Database. Edit. Megabyte. Primera Edicin.
2004.
Carrasco Muoz, Joel. Power Builder 7.0 Nivel II. Edit. Editores A&C. Primera Edicin. Per
2002.
Introduccin a la Programacin
en Power Builder
-. Pg. 46.-