Sesion 4_Objetos Datawindows Avanzados
-
Upload
melvin-saavedra-zegarra -
Category
Documents
-
view
366 -
download
11
description
Transcript of Sesion 4_Objetos Datawindows Avanzados
![Page 1: Sesion 4_Objetos Datawindows Avanzados](https://reader033.fdocuments.net/reader033/viewer/2022061312/55cf8ed3550346703b9605f8/html5/thumbnails/1.jpg)
Universidad Nacional del Santa Ingeniería de Sistemas e Informática Computación II
Introducción a la Programación -. Pág. 30.- Mg. Carlos Eugenio Vega Moreno en Power Builder
OBJETOS DATAWINDOW AVANZADOS. Objetivos:
Conocer los objetos datawindows avanzados de powerbuilder.
Conocer las funciones datawindows avanzadas para realizar transacciones.
Aplicar las funciones a los objetos datawindows de powerbuiler.
Desarrollar una aplicación integradora con los objetos datawindows.
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 aplicación integradora.
OBJETOS DATAWINDOWS AVANZADOS
LABEL
Se utiliza para generar etiquetas similares a las etiquetas de correo.
GRAPH
Muestra una representación gráfica de los datos.
Actividad de Aprendizaje Nº 04
![Page 2: Sesion 4_Objetos Datawindows Avanzados](https://reader033.fdocuments.net/reader033/viewer/2022061312/55cf8ed3550346703b9605f8/html5/thumbnails/2.jpg)
Universidad Nacional del Santa Ingeniería de Sistemas e Informática Computación II
Introducción a la Programación -. Pág. 31.- Mg. Carlos Eugenio Vega Moreno en Power Builder
N-UP
Es similar a un reporte de N columnas. Muestra mas de una fila de datos en una línea de impresión.
RICH TEXT
Se utiliza para incorporar datos dentro de un texto a partir de un archivo en formato RTF. Es útil para
la elaboración de cartas modelo y en la combinación de correspondencia (mail merge).
COMPOSITE
Permite mostrar simultáneamente más de un objeto DataWindow en un solo control DataWindow.
![Page 3: Sesion 4_Objetos Datawindows Avanzados](https://reader033.fdocuments.net/reader033/viewer/2022061312/55cf8ed3550346703b9605f8/html5/thumbnails/3.jpg)
Universidad Nacional del Santa Ingeniería de Sistemas e Informática Computación II
Introducción a la Programación -. Pág. 32.- Mg. Carlos Eugenio Vega Moreno en Power Builder
OLE2.0
Permite especificar una aplicación externa que se utilizará como un servidor OLE para gestionar la
presentación del DataWindow.
CROSSTAB
Es una técnica 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 operación ejecutada con una tercera variable.
GROUP
Es un DataWindow tabular que muestra los datos agrupados según determinado criterio. Las filas son
divididas en grupos, cada uno de los cuales puede tener cálculos estadísticos. Representa una
manera fácil para crear objetos DataWindow agrupados.
![Page 4: Sesion 4_Objetos Datawindows Avanzados](https://reader033.fdocuments.net/reader033/viewer/2022061312/55cf8ed3550346703b9605f8/html5/thumbnails/4.jpg)
Universidad Nacional del Santa Ingeniería de Sistemas e Informática Computación II
Introducción a la Programación -. Pág. 33.- Mg. Carlos Eugenio Vega Moreno en Power Builder
TREEVIEW
Este tipo muestra la información en formato de árbol jerárquico. Disponible desde la versión 10.5.
FUNCIONES AVANZADAS DE DATAWINDOWS
SetFilter: Esta función junto con la función 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 selección de los registros
que cumplan la condición especificada en SetFilter.
Dw_1.Setfilter(“Sexo=‘M’”)
Dw_1.Filter()
![Page 5: Sesion 4_Objetos Datawindows Avanzados](https://reader033.fdocuments.net/reader033/viewer/2022061312/55cf8ed3550346703b9605f8/html5/thumbnails/5.jpg)
Universidad Nacional del Santa Ingeniería de Sistemas e Informática Computación II
Introducción a la Programación -. Pág. 34.- Mg. Carlos Eugenio Vega Moreno en Power Builder
FilteredCount: Devuelve la cantidad de registros que no se han seleccionado con la
función SetFilter, es decir los que están ocultos.
Dw_1.FilteredCount()
SetSort: Esta función junto con la función Sort permite ordenar los registros en un
datawindows.
Sort: Esta función permite que powerbuilder ejecute o realice la ordenación indicada con
SetSort.
Ejemplo 1
Dw_1.SetSort(“nombre”)
Dw_1.Sort()
Ejemplo 2
Dw_1.SetSort(“nombre D”)
Dw_1.Sort()
GetItemNumber(Fila, Nombre Columna).- Obtiene un dato numérico de una fila y columna especificada del DataWindow
GetItemDecimal(Fila, Nombre Columna).- retorna el dato tipo decimal de una fila de una columna especificada del DataWindow.
GetItemDate(Fila, Nombre Columna).- retorna el dato tipo Date de una fila de una columna especificada del DataWindow.
GetItemTime(Fila, Nombre Columna).- retorna el dato tipo Hora de una fila de una columna especificada del DataWindow.
GetItemDateTime(Fila, Nombre Columna).- lee el contenido de una campo tipo Fecha y Hora de una fila de una columna especificada de un DataWindow. GetItemString(Fila, Npmbre Columna).- Obtiene un data tipo cadena de una fila y columna especificada en el DataWindow
GetRow().- Regresa o reporta el número de la fila en la que se encuentra el cursor.
Getcolumn().-Regresa o reporta el número de la columna en la que se encuentra el cursor.
GetColumnName( ).- Obtiene el nombre de la columna del DataWindow que está enfocada, o en la que se encuentra el cursor.
Ejemplo:
String nombre
Nombre=dw_maestro.GetcolumnName()
Obtiene el nombre de la columna enfocada, por ejemplo si está enfocado el
campo código, en nombre se almacenará (Código).
GetClickedColumn.- Obtiene el número de columna al hacer clic o doble clic en un DataWindow.
![Page 6: Sesion 4_Objetos Datawindows Avanzados](https://reader033.fdocuments.net/reader033/viewer/2022061312/55cf8ed3550346703b9605f8/html5/thumbnails/6.jpg)
Universidad Nacional del Santa Ingeniería de Sistemas e Informática Computación II
Introducción a la Programación -. Pág. 35.- Mg. Carlos Eugenio Vega Moreno en Power Builder
GetClickedRow.- Obtiene el número de la fila al hacer clic o doble clic en un DataWindow.
GetText.- Devuelve el texto del campo donde se encuentra el cursor.
GetSqlSelect. Devuelve la instrucción SQL que se ha generado al crear el DataWindow
especificado.
ScrollNextPage. Muestra la página siguiente en el DataWindow.
ScrollPriorPage. Muestra la página anterior en el DataWindow.
TriggerEvent().- Ejecuta o dispara cualquier evento que este sea de una ventana desde cualquier ScripT (un evento es click, rowfocuschanged,etc).
Ejemplo.- dw_maestro.TriggerEvent(Rowfocuschanged!)
Ejecuta el evento Rowfocuschanged del DataWindow maestro. Un triggerEvent es un evento de programación de
un Window.
SetRow().- Posicióna 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 posición 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’
SetRowFocusIndicator. Selecciona un indicador para el registro seleccionado de un DataWindow. Estos indicadores pueden ser: Off: no muestra ningún indicador. FocusRect! : Muestra un rectángulo como indicador. Hand! : Muestra una mano como indicador. Ejemplo: Dw_1.SetRowFocusIndicator(indicador) Modify. Modifica cualquier componente de un datawindow. Ejemplo: Dw_1.Modifiy(“código.visible=false”) Dw_1.Modifiy(“vencimiento.color=255”)
![Page 7: Sesion 4_Objetos Datawindows Avanzados](https://reader033.fdocuments.net/reader033/viewer/2022061312/55cf8ed3550346703b9605f8/html5/thumbnails/7.jpg)
Universidad Nacional del Santa Ingeniería de Sistemas e Informática Computación II
Introducción a la Programación -. Pág. 36.- Mg. Carlos Eugenio Vega Moreno en Power Builder
IF(IsRowNew(),0,1).- Se lo usa para que un campo especifico se active o se desactive.
Ejemplo: Se lo usa para que el usuario no pueda cambiar algún campo como el campo de código. Este comando se lo escribe o coloca dentro de un campo (seleccione atributos del campo, luego en “protec” escriba el comando IF(IsRowNew(),0,1)
SetRedraw(boolean).- Controla la autograbación de los datos (Activa o desactiva
DataWindow).
Ejemplo dw_maestro.SetRedraw(false) Desactiva el DataWindow maestro, para que no se puedan ingresar datos o para que no se muevan por el DataWindow mediante la barra de scroll. cuando de ingresan datos en un DataWindow detalle.
FindRequired(primary!, fila, columna, Nombre_Columna, bolean).- Encuentra la primera columna que tenga un valor requerido (valor que se debe ingresar
siempre), reporta la fila y la columna del valor requerido que aun no tiene un valor ingresado, además reporta el nombre de la columna, fila tiene que ser una variable de tipo long. Ejemplo: long fila=1
integer columna=1 string nombre_columna
dw_maestro.FindRequired(primary!,fila, columna,Nombre_columna,
true)
Devuelve el nombre de la columna en Nombre_Columna en este caso,
además regresa la fila y la columna correcta (correspondiente); si no ingreso el
valor de la cédula de identidad en nombre_columna estaría almacenado “C_I”, y la
posición en la que se encuentre la fila y la columna.
SetFocus().- Enfoca una fila especificada de un DataWindow, el enfoque se da de uno en uno es decir de DataWindow en DataWindow.
Ejemplo.- dw_maestro.SetFocus(5)
Enfoca la fila 5 del DataWindow maestro
SetRowFocusIndicator().- Cambia el diseño del cursor(puntero) Ejemplo.- dw_maestro.SetRowFocusIndicator(Hand!)
Dibuja una mano cuando se enfoca luego de setfocus
ModifiDataWindow.EditStile.EditMask.- Esta no es una instrucción de la dirección que el programador debe usar para cuando quiere ingresar una máscara de edición. Ejemplo: (97-09-02)
Edición de una mascara para una fecha, lo que aparece es ( - - ). Esto se lo hace dentro de los DataWindows y sobre las columnas.
AcceptText( ).- Determina si en el data window se han ingresado todos los valores de
las columnas requeridas, este devuelve el mensaje de error almacenado en el columna que
no tiene o no se ha ingresado el valor requerido. Ejemplo: string
![Page 8: Sesion 4_Objetos Datawindows Avanzados](https://reader033.fdocuments.net/reader033/viewer/2022061312/55cf8ed3550346703b9605f8/html5/thumbnails/8.jpg)
Universidad Nacional del Santa Ingeniería de Sistemas e Informática Computación II
Introducción a la Programación -. Pág. 37.- Mg. Carlos Eugenio Vega Moreno en Power Builder
cadena1
if DataWindow _1.AcceptText( ) = 1 then cadena1=”usted ha ingresado un valor”
else
cadena1=”usted no a ingresado ningún valor” end if
Modify(string).- Modifica especificaciones sobre DataWindows, estas especificaciones
son cambiadas o pueden ser cambiadas desde un scrip cualquiera, puede añadir 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 presentación 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 opción 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 líneas, mediante este el cursor sigue a la siguiente línea automáticamente.
Setnull(variable).- Pone nulo o anula variables.
RelativeDate ( date, n ).- Desplaza la fecha ingresada el número de días 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 días 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()
![Page 9: Sesion 4_Objetos Datawindows Avanzados](https://reader033.fdocuments.net/reader033/viewer/2022061312/55cf8ed3550346703b9605f8/html5/thumbnails/9.jpg)
Universidad Nacional del Santa Ingeniería de Sistemas e Informática Computación II
Introducción a la Programación -. Pág. 38.- Mg. Carlos Eugenio Vega Moreno en Power Builder
Describe.- Se lo usa sobre Datawindos para determinar que propiedades están 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 tamaño 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 extensión 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 condición especificada. Expresión.- Una expresión cuyo valor es una expresión de tipo Boolean.
![Page 10: Sesion 4_Objetos Datawindows Avanzados](https://reader033.fdocuments.net/reader033/viewer/2022061312/55cf8ed3550346703b9605f8/html5/thumbnails/10.jpg)
Universidad Nacional del Santa Ingeniería de Sistemas e Informática Computación II
Introducción a la Programación -. Pág. 39.- Mg. Carlos Eugenio Vega Moreno en Power Builder
Inicio.- La fila de inicio desde donde se inicia la búsqueda.
Fin.- La última fila en la cual culminara la busqueda.
Nota.- El valor que es devuelto es de tipo long, si no se ha encontrado alguna fila que satisfaga la condición el valor que se retorna es 0.
Ejemplo.- fila long
fila=Dw_1.find("Emp_nombre= 'Pablo'",1, DW_1.RowCount())
DECLARE CursorName CURSOR FOR SelectStatement
{USING TransactionObject}
;
Se lo usa para crear listas de una tabla, estas listas pueden ser recorrida registro por registro.
CursorName.- El nombre de la lista que se creara. SelectStatement.- Selección de los campos usando un select del sql, la lista se formara con los
campos que conforman el select.
TransactionObject.- El nombre del objeto de la transacción, se lo usa cuando se usa una
transacción del tipo SQLCA Ejemplo:
DECLARE c1 CURSOR FOR
SELECT cod_testigo, nombre
FROM Testigo;
Crea un cursor (lista) llamado c1, el cual esta formado por 2 campos cod_testigo, y nombre de la tabla testigo.
FETCH NEXT Cursor | Procedure INTO HostVariableList
Recorre el cursor (lista), este recorrido se lo hace de forma
secuencial. Cursor.- Nombre del cursor que se recorrerá. HostVariableList.- Las variables en las cuales se almacenaran los campos de la lista que se esta recorriendo. Ejemplo:
integer i,n,cod
string nom
DECLARE c1 CURSOR FOR SELECT cod_testigo, nombre FROM Testigo;
select count(*)
into :n
from testigo;
OPEN c1;
for i= 1 to n
FETCH NEXT c1 INTO :cod, :nom;
sle_1.text=string(cod) sle_2.text=nom
next
CLOSE c1;
Se crea el cursor, se cuenta el numero de registros, se abre el cursor, y se recorre
![Page 11: Sesion 4_Objetos Datawindows Avanzados](https://reader033.fdocuments.net/reader033/viewer/2022061312/55cf8ed3550346703b9605f8/html5/thumbnails/11.jpg)
Universidad Nacional del Santa Ingeniería de Sistemas e Informática Computación II
Introducción a la Programación -. Pág. 40.- Mg. Carlos Eugenio Vega Moreno en Power Builder
el cursor (lista), luego se presenta cod, nom, y se lo presenta en pantalla, al final
se cierra el cursor.
ModifiedCount ( ).- Determina el numero de filas que han sido ingresada en un datawindow, reporta 0 si no se ha hecho ningún ingreso. Ejemplo:
Long numero
Numero= dw_1. ModifiedCount ( )
Retorna el numero de filas que han sido modificadas
ChangeMenu ( nombre ).- Cambia el menú asociado a la ventana Nombre.- Corresponde al
nuevo nombre del menú que se quiere cambiar. Ejemplo
Open(w_menu) W_menu.CangeMenu(Secundario)
Cambia el menú asignado a la pantalla w_menu por otro denominado secundario.
SqldbCode.- En esta variable de transacciones se almacena el número del error que
ha ocurrido sobre al base datos, se lo emplea para determinar si ha ocurrido un
error, especialmente sobre un datawindow en el evento "dberror".
DbError.- Este evento esta disponible en los DataWindows, y se dispara si ocurre y se detecta un error.
Ejemplo:
if dw_1.update()=1 then
commit;
else
rollback; end if
Este código es el típico en un botón de grabación o de guardado de datos, si
ocurre un error al salvar o guardar datos, es decir que (dw_1.update() <> 1)
el evento inmediato posterior que se dispararía seria (DbError). El código siguiente
debería ir en e evento DbError.
messagebox("Error","Ha ocurrido un error Sobre la Base",stopsign!)
return 1
Return 1.- Impide la ejecución del mensaje enviado por el motor de la base de datos.
Blob.- Es un tipo de dato Binario Largo, es usado para grabar una ilimitado cantidad de datos, por ejemplo ( Imágenes, documentos de palabras, sonidos, etc)
UPDATEBLOB .- Actualiza los registros de una tabla que contenga un campo de tipo binario largo o una columna de tipo Blob
Formato:
UPDATEBLOB TablaNombre
SET BlobColumna = BlobVariable; TablaNombre.- El nombre de la tabla a la cual se quiere acuatizar el campo tipo Blob o
Long
![Page 12: Sesion 4_Objetos Datawindows Avanzados](https://reader033.fdocuments.net/reader033/viewer/2022061312/55cf8ed3550346703b9605f8/html5/thumbnails/12.jpg)
Universidad Nacional del Santa Ingeniería de Sistemas e Informática Computación II
Introducción a la Programación -. Pág. 41.- Mg. Carlos Eugenio Vega Moreno en Power Builder
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 (Gráfico, Sonido, Texto, etc ) , y lo asignamos en la variable objeto,
luego asignamos el valor de esta variable a la tabla mediante la secuencia o declaración
"updateblob". Actualizamos la tabla canción, 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 SelectBlob, y
cargamos la canción de la tabla del mismo nombre en la variable Objeto, y luego la
cargamos en un objeto tipo "Ole" para su posterior reproducción.
Dw_nombre.GetChild ( Nombre, variable ).- Provee una referencia a un DataWindow hijo o a un reporte de un DataWindow de tipo Composite, por lo cual se podrá manipular las funciones de un DataWindow normal
Dw_nombre.- El nombre del datawindow que contiene un hijo como datawindows (un datawindow de tipo DopDropDataWindow)
Nombre.- El nombre de la columna que contiene el
datawindow
Variable.- El nombre de la variable de tipo DataWindow a la cual se le asignara o grabara la referencia del data window.
![Page 13: Sesion 4_Objetos Datawindows Avanzados](https://reader033.fdocuments.net/reader033/viewer/2022061312/55cf8ed3550346703b9605f8/html5/thumbnails/13.jpg)
Universidad Nacional del Santa Ingeniería de Sistemas e Informática Computación II
Introducción a la Programación -. Pág. 42.- Mg. Carlos Eugenio Vega Moreno en Power Builder
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 código 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 código responde
a la necesidad de claves compuestas foráneas hacia una tercera tabla, el
ejemplo corresponde al Modelo presentado aquí.
Send ( handle, message#, lowword, long ).- Envía 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 código
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 función se la utiliza dentro de los campos asociados
![Page 14: Sesion 4_Objetos Datawindows Avanzados](https://reader033.fdocuments.net/reader033/viewer/2022061312/55cf8ed3550346703b9605f8/html5/thumbnails/14.jpg)
Universidad Nacional del Santa Ingeniería de Sistemas e Informática Computación II
Introducción a la Programación -. Pág. 43.- Mg. Carlos Eugenio Vega Moreno en Power Builder
a un Datawindow, para verificar el valor del campo, y según la condición se efectúa algún
evento sobre el campo.
Condición.- Es la típica condición 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 condición es verdadera. Falso.- Es el valor que será retornado si la condición resulta falsa. Ejemplo:
if ( salario> =2´000.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 2´000.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 validación.
^.- Este carácter 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 usaría para validar el ingreso de una clave que contenga 3 números,
este se los debería colocar en la validación 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 número.
![Page 15: Sesion 4_Objetos Datawindows Avanzados](https://reader033.fdocuments.net/reader033/viewer/2022061312/55cf8ed3550346703b9605f8/html5/thumbnails/15.jpg)
Universidad Nacional del Santa Ingeniería de Sistemas e Informática Computación II
Introducción a la Programación -. Pág. 44.- Mg. Carlos Eugenio Vega Moreno en Power Builder
DESARROLLO DE UNA APLICACIÓN.
Teniendo en cuenta los conceptos aprendidos previamente elabore la siguiente aplicaciòn. La
aplicación consiste en mostrar los estilos de DataWindow que tiene PowerBuilder. La asignación del
nombre del objeto datawindows se realizara en tiempo de ejecución.
Para desarrollar la siguiente aplicación se utilizo BD librería.db creado previamente.
Tablas de la Base de Datos Libreria
![Page 16: Sesion 4_Objetos Datawindows Avanzados](https://reader033.fdocuments.net/reader033/viewer/2022061312/55cf8ed3550346703b9605f8/html5/thumbnails/16.jpg)
Universidad Nacional del Santa Ingeniería de Sistemas e Informática Computación II
Introducción a la Programación -. Pág. 45.- Mg. Carlos Eugenio Vega Moreno en Power Builder
Artículos
EMPLEADOS
![Page 17: Sesion 4_Objetos Datawindows Avanzados](https://reader033.fdocuments.net/reader033/viewer/2022061312/55cf8ed3550346703b9605f8/html5/thumbnails/17.jpg)
Universidad Nacional del Santa Ingeniería de Sistemas e Informática Computación II
Introducción a la Programación -. Pág. 46.- Mg. Carlos Eugenio Vega Moreno en Power Builder
BIBLIOGRAFÍA.
Carrasco Muñoz, Joel. “Power Builder 11.5 “. Edit. Editores A&C. Segunda Edición. Perú 2008.
Pillaca Ruben. “Power Builder Avanzado”. Edit. Megabyte SAC. Primera Edición. Perú 2008.
Castañeda L. Juan José. “Power Builder 9.0 Full Database”. Edit. Megabyte. Primera Edición.
2004.
Carrasco Muñoz, Joel. “Power Builder 7.0 Nivel II“. Edit. Editores A&C. Primera Edición. Perú
2002.