Este Blog esta orientado a difundir todas las bondades que ofrece esta herramienta de Desarrollo. Mi propósito es colaborar con ustedes y compartir mis conocimientos y ponerlos al servicio de los cibernautas
martes, 21 de junio de 2011
Creando w_inicio nuestra ventana principal
Creando w_frame_ancst como plantilla
Nuestra ventana w_inicio nos va servir como main() de nuestro formulario.
heredamos de nuestro objeto ventana w_frame_ancst y lo guardamos como w_inicio.
Anexando nuestro menu m_frame_ancst a nuestra ventana w_inicio,
el m_frame_ancst se definio en la sesion anterior.
Anexando la aplicación el siguiente codigo :
El evento Open el siguiente codigo open(w_inicio)
lunes, 20 de junio de 2011
Creamos w_dw heredado de w_frame
Esta ventana lo heredamos de w_frame y lo guardamos con el siguiente w_dw .
Haciendo un grafico podemos observar que nuestra ventana presenta 2 niveles de herencia.
Jalamos y pegamos el objeto datawindows (u_dw) en la ventana w_dw ya creada.
Si revisamos la propiedades del objeto ventana w_dw, nos visualiza las propiedades del dw_1 ha sido heredado ancestor (u_dw).
Revisando el script del objeto control dw_1
w_dw heredado de w_frame |
Jalamos y pegamos el objeto datawindows (u_dw) en la ventana w_dw ya creada.
Si revisamos la propiedades del objeto ventana w_dw, nos visualiza las propiedades del dw_1 ha sido heredado ancestor (u_dw).
dw_1 herencia u_dw |
Revisando el script del objeto control dw_1
w_dw script |
Este objeto dw_1 ha heredado todos los eventos de u_dw.
jueves, 16 de junio de 2011
Botones de Mantenimiento de Menu
Manteniendo la estructura de nuestra interfaces desde un inicio, hacemos un descripción y funcion de los distintos botones de Menu.
Descripción de los botones de mantenimiento :
Descripción de los botones de mantenimiento :
Buscar :
Nuevo :
Nuevo Registro |
Crea un nuevo registro y abre los campos de la ventana actual para el ingreso de datos.
Modificar Registro |
Modifica el registro de una ventana activa, los datos modificables pueden ser nombres, descripciones, fechas, códigos.
Anular :
Imprime los registros, documentos ingresados al módulo, el usuario puede escoger la impresora destino y esta
opción es configurable de acuerdo al requerimiento del usuario
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 :
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...
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).
* 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.
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 :
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
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.
Nos Ubicamos en la pestaña Event List para comenzar ingresar User Event ó Eventos de Usuario.
Nos saldra una pantalla asi como esta :
ue_filtrar : Lo utilizaremos cuando queremos filtrar la informacion del datawindows.
Toda Nuestra Libreria quedaria asi de esta manera :
Agregar User Event dentro de u_dw (Standard Visual DataWindow Ancestro)
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_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.
Suscribirse a:
Entradas (Atom)