Power Builder

Aldo:
Me ofrecen trabajo para desarrollar una aplicación en power builder 6.0 y de verdad que ni conocía el lenguaje, te puedo decir que programo en visual basic, asp, c++, etc.
Si me puedes enviar un manual básico para poder empezar a desarrollar aplicaciones en este lenguaje...
Gracias Juan Pablo
1

1 Respuesta

143.800 pts. Ingeniero en Sistemas con amplia experiencia en...
Junto con PB vienen los online books que son una buena guía de programación, además la ayuda es bastante completa.
También están los ejemplos del programador.
Aún así podes encontrar manuales básicos en internet.
Si querés que yo te pase algunos que tengo (700kb) necesito una dirección de mail.
---
Te adjunto una rta que le di a alguien que también estaba empezando
---
Saludos
AldoB
Por favor cerrar la pregunta
----------
El secreto de todo en PB está en la herencia, podes ir desarrollando objetos genéricos de los más usados y después sencillamente crear nuevos que hereden de éstos para resolver casos particulares.
Si hablás de datos estás hablando de dw, el objeto más poderoso que tiene PB ya que te permite conectarte a cualquier bd de una manera simple y directa.
Podés crear un obj dw genérico al que le codifiqués los eventos:
1)Dberror (errores de bd)
Acá podés sacar un mensaje que indique el error que ha ocurrido y tal vez genere un log de errores de BD para que lo vea un administrador cada tanto.
Los elementos que necesitás están dados como argumentos del evento, es decir están a tu disposición en el script.
Personalmente acá tengo una función que recibe el sqldbcode y busca en una tabla la traducción de este error (originalmente en el lenguaje del DBMS) al castellano. También informa la fila en la que ocurrió el error (otro de los argumentos)
2)Error
Cuando hay algún error grave.
Acá genero un log con lo que ocurrió ya que me interesa porque generalmente es un error de programación (referencia a obj nulos, etc) y le agregó está línea "action = ExceptionIgnore!" para evitar que se cierre PB
3) Itemerror
(Error en el tipo de dato de una columna)
Acá tengo un case que analiza el tipo de dato de la columna en la que ocurrióo el error y saca un mensaje en castellano, además setea la columna a nulo para que el error no se siga produciendo
...
//una porción de código
código
CHOOSE CASE Upper(ls_datatype)
CASE "LONG","NUMBER","INT","REAL"
decimal null_dec
SetNull(null_dec)
This.SetItem(row, ls_colname, null_dec)
RETURN 3
CASE "DATE"
date null_date
SetNull(null_date)
This.SetItem(row, ls_colname, null_date)
RETURN 3
CASE "DATETIME"
datetime null_datetime
SetNull(null_datetime)
This.SetItem(row, ls_colname, null_datetime)
RETURN 3
END CHOOSE
Código
...
---
Esta dw la uso en todos los lugares donde trabajo con ingreso de datos.
Después de esta dw heredo otra que uso en los listados y que además tiene codificado el retrieveEnd() para que saque un mensaje si no existen registros.
Luego empezás a armar ventanas que contengan estas dw y le agregás botones que trabajen con las dw, ej:
Consultar/Recuperar, Agregar, Quitar, Cancelar, Guardar, Buscar, etc.
Lo primero que podes hacer es una ventana estándar de ABM en la que planteas todas las opciones posibles para lo que son ABMs simples (una tabla) y después heredas de la venta creando ventanas nuevas a las que les asignas el dataobject correspondiente al control dw y listo.
Una dato importante, las windowFunctions permite realizar polimorfismo (es decir que los descendientes sobreescriban y/o extioendan funcionalidad de los ancestros de una manera muy simple y eficiente.
A medida que vas avanzando en el desarrollo te vas a ir dando cuenta de cosas que podes generalizar, en estos casos fíjate donde podes colocar el código correspondiente como para tener que escribirlo una vez y después heredar.
Listo, ya los mandé.
Si no llega avisa.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas