miércoles, 15 de junio de 2011

Creando nuestro menu - m_frame_ancst

Aplicaciones MDI - El objeto Menú :

Intercambio de múltiples documentos (MDI) es un estilo de aplicación en la que los usuarios pueden abrir múltiples ventanas de documentos (hojas) en una sola ventana (la ventana de marco MDI) y moverse entre las hojas. Las hojas son generalmente del mismo tipo y tienen características comunes o usos.


Insertando MenuItem y Sub Item al objeto menu m_frame_ancst
modificando sus propiedades ToolbarItem, agregando iconos como
Text = '&Buscar'
MicroHelp = 'Abrir Lista para Buscar'
ToolbarItemText = 'Buscar Registro'
ToolbarItemName = 'custom050!'



Ademas esto tambien se puede hacer por codigo power script.


Desglozando mas la vista :




Trabajando con el menu Archivo \ Registro \ Buscar :

Dandole click asi como :



y Empesamos a ingregar el siguiente codigo en el script :



NOTA.- PostEvent, al invocar la ventana hija lee el evento de la ventana hija ue_buscar y lo va ejecutar el codigo que pongamos. para es necesario que la ventana tenga este evento de usuario ue_buscar para poder programarlo.

SetMicroHelp, nos visualiza en la parte inferior del menu un mensaje definido por nosotros en este caso sera Buscar Registro...

Trabajando con el menu Archivo \ Registro \ Nuevo :


y Empesamos a ingregar el siguiente codigo en el script :



Asi sucesivamente hasta llegar a la ruta  

Trabajando con el menu Archivo \ Registro \ Salir :



y Empesamos a ingregar el siguiente codigo en el script :


NOTA.- El evento Close , Cerrar la ventana Principal o cerrar el Sistema.


Agregando la w_calculadora en el menu Ayuda sub item Calculadora
del menu m_frame_ancst .


y Empesamos a ingregar el siguiente codigo en el script :

Este codigo nos permite Abrir la ventana en el marco del menu
Opensheet(w_calculadora, Parentwindow,0,Original!).
mas detalle del openSheet lo puedes encontrar en la ayuda del PB.

Dando una vista previa a nuestro menu m_frame_ancst :





Hemos aprendido a abrir una ventana como hija dentro del menu OpenSheed y ademas programar en el menu con el evento clicked().

miércoles, 8 de junio de 2011

Creando nuestra ventana w_frame - Heredado de w_base

Vamos aplicar la herencia con PB, nos ubicamos en w_base y damos click en Inherit


* Grabamos la ventana heredada de w_base con el siguiente nombre  w_frame :



Como nos damo cuenta si una ventana ha sido heredada de otra ?
El encabezado de cada ventana abierta nos dice si ha sido heredada.



Tambien la parte del codigo de la ventana padre se diferencia por otro color (w_base).


Agregando los eventos de usuario comunes que luego enlazaremos con cualquier menu.

ue_nuevo      (Nuevo Registro)
ue_buscar     (Buscar Registro)
ue_eliminar   (eliminar Registro)





ue_guardar    (Guardar Registro)
ue_imprimir   (Imprimir )
ue_anular     (Anular Registro)

martes, 7 de junio de 2011

Creando nuestra ventana base - w_base

Para Agregar funciones nos ubicamos en la Pestaña Function List.

Creamos la una ventana y lo grabamos con el nombre w_base


Le agregamos dos Funciones a la ventana w_base

of_posicion :
Esta funcion nos ubica la ventana donde nosotros queremos que aparesca.


of_centrar :
Centrar la ventana y enviando las cordenas a la funcion of_posicion.


lunes, 6 de junio de 2011

DataWindow - Standard Visual Parte III

dw_enter :

Los usuarios insistan en usar la tecla Enter para moverse de campo a campo en la Datawindow.

Normalmente los usuarios piden esta característica porque esta es la tecla que usan habitualmente o porque la posición de la tecla Enter es más cómoda que la tecla de tabulación.


Declaramos un evento mapeado a pbm_dwnprocessenter




Añadimos el siguiente código:
Send( Handle(this),256,9,Long(0,0))
Return 1

dw_key :

El datawindow te responda a cualquier tecla del teclado y programarlo para que obedesca cuando presiones la tecla Enter, la tecla Suprimir, la tecla F1, etc..

Declaramos un evento mapeado a pbm_dwnkey


LoseFocus() :

Este Evento es propio del control, cuando pierda el enfoque le decimos que reestablesca los datos.







miércoles, 1 de junio de 2011

DataWindow - Standard Visual Parte II

Abriendo el objeto u_dw creado (Standard Visual DataWindow Ancestro) para comenzar agregar eventos de usuario.


Agregar User Event dentro de u_dw (Standard Visual DataWindow Ancestro)

Nos Ubicamos en la pestaña Event List para comenzar ingresar  User Event ó Eventos de Usuario.


Nos saldra una pantalla asi como esta :


Damos click derecho nos saldra un menu contextual de Add

Agregamos los Eventos de Usuario ue_nuevo, ue_eliminar, ue_recuperar, ue_guardar, ue_anular, ue_imprimir, ue_ordenar, ue_guardarcomo, ue_filtrar, ue_nuevo_siguiente, ue_eliminar_siguiente.

ue_ordenar : Lo utilizaremos cuando queremos ordenar los encabezados del datawindows


ue_filtrar : Lo utilizaremos cuando queremos filtrar la informacion del datawindows.




ue_nuevo_siguiente : Lo utilizaremos como si fuera un evento siguiente al evento ue_nuevo, este evento se crea primero por que parte del codigo del evento ue_nuevo lo esta referenciando y no lo podemos nada de codigo por que eso lo vamos a utilizar cuando ya heredamos.
Este evento para se pueda ejecutar tienes que mandarle un parametro al_row tipo LONG




ue_nuevo : Lo utilizaremos cuando queremos agregar nueva fila al datawindows, ademas este evento devuelve un parametro de retorno tipo LONG.




ue_eliminar_siguiente : Lo utilizaremos como si fuera un evento siguiente al evento ue_eliminar, este evento se crea primero por que parte del codigo del evento ue_eliminar lo esta referenciando.
No utilizaremos ningun parametro de retorno.




ue_eliminar : Lo utilizaremos cuando queremos eliminar una fila al datawindows, ademas este evento devuelve un parametro de retorno tipo LONG.



Quedaria de esta manera nuestro eventos Event List pintados de  un color amarillo y en la parte superior los ubica:


Y los eventos que tan solo se crearon y no se codificaron la herramienta PB los visualiza pintados de  un color negro y en la parte inferior los ubica.


Toda Nuestra Libreria quedaria asi de esta manera :



DataWindow - Standard Visual - Parte I

Los Standard Visual - User Object heredan caracteristicas de un control Standar de PowerBuilder.

El cual nos permite establecer eventos, funciones, variables predifinas lo mas comun que pueda tener un Control datawindows.

Con tan solo con heredar ya tendriamos nuestro datawindows programado al 100%.

Creando un Standard Visual - User Object

Para crear un Standard User Object, presionamos click en el icono New del PowerBar y escogemos Standar Visual del Tab PB Object.



Creando un DataWindow User Object
Escogemos Datawindow


Grabamos el DataWindow User Object base o ancestro con nombre u_dw .

El Control Datawindow

Introducción al control Datawindow

PowerBuilder incorpora en su lista de controles los más habituales de cualquier entorno de desarrollo, commandbuttons, checkboxes, radiobuttons, etc…, pero además de todos ellos incorpora un control propio para el manejo de los datos que tenemos en nuestro objeto Datawindow.

Este control debidamente enlazado con un objeto Datawindow nos permitirá realizar tareas de manipulación de los datos que se encuentren en el tales como
lectura, escritura, filtrado, agrupaciones y ordenaciones.



Creación de un control Datawindow

Para crear un control Datawindow simplemente hay que elegirlo dentro de la lista de controles disponibles en nuestra barra de tareas y colocarlo en un objeto visual de nuestra aplicación.