Mostrando entradas con la etiqueta Variables y Objetos. Mostrar todas las entradas
Mostrando entradas con la etiqueta Variables y Objetos. Mostrar todas las entradas

lunes, 7 de mayo de 2018

Texto en Item de control Toolbar Strip de PB Ultimate Suite

Recibí un correo de un compañero que también trabaja con PB Ultimate Suite, en la cual preguntaba como se puede tener uno o algunos items con texto en el control Toolbar Strip.

Pues este es el código:

En el evento Constructor del objeto (u_cst_toolbarstrip, heredado en la ventana) codificamos:

Long ll_Aceptar

ll_Aceptar = uo_toolbar.of_AddItem('Aceptar', n_cst_imagelist.Accept, 'Aceptar')
uo_toolbar.of_AddSeparator()
uo_toolbar.of_AddItem('First', n_cst_imagelist.VCRFirst, 'Primera')
uo_toolbar.of_AddItem('Prior', n_cst_imagelist.VCRPrior, 'Anterior')
uo_toolbar.of_AddItem('Next', n_cst_imagelist.VCRNext, 'Siguiente')
uo_toolbar.of_AddItem('Last', n_cst_imagelist.VCRLast, 'Ultima')

This.of_displaytext(ll_Aceptar, True,1)

(*) n_cst_imagelist es un objeto no visual, en la que tengo constantes de tipo string que tienen como valor la ruta de las imágenes que uso en mi aplicación.

Porque tener las este objeto no visual para constantes pues:

1. Por orden, es mas fácil darle mantenimiento, si en algún momento se quiere cambiar el valor de la constante.
2. Puedo usar una constante,en cualquier parte de mi aplicación.
3. Evito cargar constantes al iniciar la aplicación. He visto muchas aplicaciones que declaran constantes como variables globales, recuerden que al ejecutar la aplicación carga todas las variables globales.

Así se declara:

















Así logramos tener un item con texto en el control Toolbar Script:

martes, 11 de marzo de 2014

Creando TabPage usando Custom Visual - User Objects

PowerBuilder se caracteriza por ser la mejor herramienta de programación orientada a objetos y por tal debemos explotarla; es fácil ver muchas aplicaciones con objetos en cantidad que cumplen la mismas funcionalidades o los mismos objetivos, aplicaciones sin herencias, sin polimorfismo es decir sin programación orientada a objetos.

Un tiempo trabaje con las famosas PFC y quede maravillado, pero hay cosas que no me agradaron por su complejidad por tal empece a desarrollar librerias con objetos y funcionalidades similares, mas flexibles, mejores de entender y codificar a mi conveniencia.

Una de ellas fue el uso de TabPages, para esto he creado un TabPage ancestro del cual solo heredo. Para crearlo seguimos los siguientes pasos:


1 - Clic en New del PowerBar y escogemos Custom Visual del Tab PB Object.


2 - Luego de dar clic en OK nos mostrara el Custom Visual - User Object creado que a simple vista es muy similar a un Window Object, continuamos y grabamos con el nombre u_tabpage.


Un TabPage no puede trabajar solo este debe estar contenido en un Tab Control, entonces creamos un Tab Control ancestro. Para crearlo seguimos los siguientes pasos:

1 - Clic en New del PowerBar y escogemos Standar Visual del Tab PB Object.



2 - Escogemos Tab.


3 - Grabamos con el nombre u_tab

Listo, recordemos que u_tab es el Tab Control (Contenedor) ancestro y u_tabpage es el Tabpage (Pestaña o Page) ancestro.

Como asociamos el u_tabpage al u_tab de la siguiente manera:

Clic derecho sobre u_tab, seleccionamos Insert User Object


El trabajo de Tab Control y TabPage con User Object visuales es el mismo que el de tener una ventana y colocar un Tab Control del PowerBar. Un ejemplo de estos en tiempo de ejecución:


domingo, 27 de noviembre de 2011

Aplicaciones PowerBuilder 10.5 con Kodigo PowerBuilder Framework

Anteriormente ya había publicado sobre Kodigo PowerBuilder Framework en el año 2008, pero recién es en este año que llego a usarlo y a conocer mejor sus bondades, claro que aun hay mucho por conocer de este Framework. He desarrollo dos aplicaciones ya con Kodigo y los resultados fueron muy buenos, no solo por conseguir una interface agradable para el usuario, si no también porque Kodigo maneja bien la Programación Orientada a Objetos.

Actualmente he desarrollado unas fuentes con Kodigo, he implementado nuevos objetos y nuevas funcionalidades a algunos de sus objetos de Kodigo v3.3.1.5 y he migrado todo a PowerBuilder 10.5, bueno lo que empezó como un tema de investigación y de ejemplo termino siendo mis actuales fuentes de desarrollo (por ahora se quedaron en stand by mis queridas BFC ya mencionare de ellas).

Espero tras este post contactar con otras personas que utilicen Kodigo y poder intercambiar ideas y experiencias.

Creando archivos ejecutables en PowerBuilder Classic 12.0

En este post explicare la forma de crear archivos ejecutables en PowerBuilder Classic 12.0

1 - Para crear los PBD's o archivos ejecutables, tenemos que crear un objeto Project.

2 - En la pestaña General en Executable File Name, ubicamos la ruta y el nombre del archivo ejecutable

3 - En la pestaña Libraries seleccionamos las librerias (*.pbl)

4 - En la pestaña Versión colocamos las propiedades de nuestro producto, para el ejemplo dejamos los que establece PowerBuilder.

5 - Una vez ubicados en la pestaña Run estamos listos para desplegar o crear los archivos ejecutables, dar clic a la opción Deploy Project del PowerBar. No es necesario dar un inicio (Start in).

Este ejemplo también es valido para PowerBuilder 11.5.

domingo, 29 de agosto de 2010

Transaction Object

Un Transaction Object u Objeto Trasacción es un objeto no visual que contiene la información necesaria para conectarse a una base de datos. El objeto Transaction tiene muchas propiedades, estas se usan de manera diferente segun la base de datos a la cual se desea conectar.

Las Propiedades del Objeto Transaction se dividen en:

Propiedades para la comunicación de base de datos

PropiedadTipoDescripción
DBMS String Nombre del DBMS
Database String Nombre de la Base de Datos
UserID String Nombre de usuario o identificador de usuario
DBPass String Contraseña que se utiliza para conectarse a la base de datos
Lock String Nivel de bloqueo
LogID String Nombre o identificador de usuario que se conectará al servidor
LogPass String Contraseña utilizada para conectarse al servidor
ServerName String Nombre del Servidor
AutoCommit Boolean Activa el procesamiento de transacciones True / False
DBParm String Especifica un DBMS

Propiedades que retornan información:

PropiedadTipoDescripción
SQLCode Long

El código de éxito o de error de la operación más reciente.

0 = Exito

100 = No existe un conjunto de resultados obtenidos

-1 = Error

SQLNRows Long Número de filas afectadas
SQLDBCode Long Especifica código de error del DBMS
SQLErrText String Especifica mensaje de error del DBMS
SQLReturnData String Especifca el DBMS

domingo, 18 de enero de 2009

User Object

Una de las principales características de la programación orientada a objetos es la reutilización. En una aplicación, que normalmente tiene una selección de controles u objetos, que fundamentalmente realizan la misma tarea, dispersos en todo el diseño.

Existen dos tipos de User Object:

1 - Visual User Objects

  • Custom Visual
  • External Visual
  • Standard Visual

2 - No Visual(Class)

  • Custom Class
  • Standard Class

Desplegando o creando archivos ejecutables

En este post explicare la forma mas practica que utilizo para desplegar o crear archivos ejecutables (PBD's, PowerBuilder Dynamic Libraries):

1 - Para crear los PBD's o archivos ejecutables, tenemos que crear un objeto Project.

2 - Ya creado el objeto Project, en el Painter del mismo:

  • 1: Executable File Name, Nombre del Archivo Ejecutable
  • 2: Rebuild, elegir Full
  • 3: Activar los PBL's que seran PBD's
Painter del Objeto Project

3 - Realizado todo lo anterior en el PowerBar dar click al icono Desploy para generar los PBD's

Espero sea de utilidad, cualquier duda o comentario solo escriban que gustoso respondere.

viernes, 18 de julio de 2008

Llamando a Eventos de Usuario

Para llamar Eventos de Usuario o User Events en PowerBuilder contamos con 2 funciones que nos permitiran trabajar de manera facil:
  • TriggerEvent()

Sincrono

  • PostEvent()

Asíncrono

TriggerEvent

Dispara un evento asociado con el objeto especifico.

Sintaxis

objectname.TriggerEvent ( event )

Valores de Retorno

  • 1 El Evento existe y existe un script para él.
  • -1 Evento no válido para ObjectName o no hay script para el evento ObjectName

Ejemplo

Parent.TriggerEvent("ue_new")

PostEvent

Adiciona un evento al final de la cola del evento para el objeto.

Sintaxis

objectname.PostEvent ( event )

Valores de Retorno

  • TRUE Existe un evento con un strng.
  • FALSE Evento no válido para objecto o no hay script para el evento.

Ejemplo

Parent.PostEvent("ue_save")

Creando un Objeto Función

El Objeto Funciones (Function Object) nos permiten hacer más fácil la programación. Un objeto función es definida por el usuario.

Creando un Objeto Función
  • Click en el icono New del PowerBar
  • Click en el icono Function del Tab PB Object, luego click en OK
    • Dentro del Painter del Objeto Función, podremos realizar la codificación que necesitamos. (Para el ejemplo f_pc_user es una funcion que no tiene argumento)

    Painter Funcion

    Como esta función me devuelve el nombre del usuario de la pc, solo para tomar un ejemplo la quiero visualizar en el Titulo del Window Principal, entonces en el Open de este coloco:

    This.Title = f_pc_user()

    Como dije antes f_pc_user no tiene argumento, cuando un Objeto Función tiene argumento o argumentos se debe hacer asignar valores dentro de los parentisis ( ) .

    jueves, 17 de julio de 2008

    Creando Librerías - PowerBuilder Library's (PBL)

    Para crear una libreria o PBL de manera rapida debemos seguir los sgtes pasos:

    • Click derecho sobre el Workspace, elejimos Properties.
    • Nos mostrara la sgte ventana Properties of Target

      1 - Click en New...

    2 - Escribimos el nombre de la librería.

    3 - Click en Guardar.

    • Luego click en Apply y en OK, eso es todo listo.