BeRuby te paga por navegar

martes, 24 de febrero de 2009

Log de Aplicaciones en Power Builder: aclarando algunas dudas


Hola a todos, este post es dedicado a un lector.Así abrimos la categoría consultorio, donde si Dios me ilumina y uds tienen paciencia, podré responder al 0,001 de las preguntas ^_^.

Tengo un archivo de configuración con el cual me conecto a la base de datos, pero quisiera saber cómo uso el objeto log que tanto mencionas porque aún no logro crear un log de errores


Aclaración previa:Power Builder 9 o 10.

Ok. primero vas declarar al objeto logger como variable global

uo_logger log

Con esto ya lo tenemos disponible para todo el ambito de la aplicación.
Luego en el evento Open de nuestra aplicación lo creamos con create:
uo_logger log= create uo_logger

Bueno, ahora vayamos al código del objeto logger



En el enlace al final te dejo la librería, la carpeta utils con el bat, la carpeta log y el ejemplo de como tendrían que ser las entradas al archivo.
Todos estos archivos y carpetas deberían estar en la raíz de tu app.
La idea de este código es la siguiente.
  • Buscar en el archivo siscom.ini el directorio donde esta la carpeta log.
  • Crear un archivo con un nombre estático seguido por un discriminador, yo use la fecha y la hora. los archivos se nombran de la siguiente manera...
VGMlog-08_01_2009_11-56-25.log
VGMlog-08_01_2009_12-12-17.log etc etc.
  • Para crear un archivo nuevo utilizo un bat (porque no encontré una función de creación de archivos en PB).
  • El código del .bat es el siguiente: echo %1 > %2 (una pavada).
  • En el codigo también busco la ruta de la carpeta utils para usar el bat.
  • Para ejecutar el comando utilizo un objeto no visual uo_syncproc.
Eso sería basicamente lo que hace esa parte que es la principal.
Aca dejo un nuevo rar con los archivos y carpetas mencionadas logger.rar

Si ves que te está costando demasiado te sugiero investigar el manejo de archivos en power builder, en esencia todo se basa en eso.
Parte dos:

Aprovechando la oportunidad de escribirte y tu experiencia me gustaría preguntarte cómo puedo indicar un salto de línea (Carriage Return) cuando mando a escribir una cadena usando la función WriteFile(); y finalmente cómo puedo crear archivos pdf.


Con respecto a el quiebre de línea:
Ejemplo: messagebox('Generación de Documentos de Venta','Fallo en recuperación de condiciones de venta.~nError: ' + sqlca.sqlerrtext, StopSign!)
con el caracter ~n es el quiebre de página.

Con respecto a exportar a pdf acá te dejo un enlace
http://www.todoexpertos.com/categorias/tecnologia-e-internet/programacion/power-builder/respuestas/1976499/exportar-datawindows-a-pdf

Bueno ojalá que te sirva algo de todo esto Augusto.Como consejo investiga, investiga investiga.
Un abrazo.












2 comentarios:

  1. Its very excellent post about PowerBuilder Development. I found many more important tips about Powerbuilder. thanks for sharing.

    ResponderEliminar
  2. Nice post about PowerBuilder programming services. And most of important points are discuss in this post. thanks for sharing all information about Powerbuilder.

    ResponderEliminar