Sitios que en el día a día me parecen interesantes, pero que no tengo tiempo de revisar en el momento, así que los registro en este blog de tal forma que pueda leerlos posteriormente.

viernes, mayo 18, 2007

El soporte para RTF en power podría ser mejor... (parte 8)

En defensa del Datawindow RTF (dw-RTF) hay que decir que muchos de los métodos, sino casi todos, le aplican a él mismo. Y la verdad sea dicha esto está muy bien implementado hasta donde he probado.



Luego combinando un dw-RTF con la técnica del anterior post (parte 7) se puede combinar información de un dw-RTF con texto RTF proveniente de otra fuente (un control RTF o un campo de la base de datos).



Esto ya es un avance por que al menos permite un dw-RTF contenga datos RTF insertados mediante la técnica de posicionar el cursor buscando una marca en el dw-RTF y reemplazándola por una cadena vacía.



Pero ante un avance un nuevo desafío: El dw-RTF tiene muy pocas posibilidades de posicionar texto en el documento y más específicamente el hecho de que no pueda manejar tablas... Sin embargo esto tiene una solución en tiempo de diseño:
Dado que se puede insertar un documento en el pintor del dw-RTF, entonces si se quiere insertar una tabla de n filas por m columnas lo que se hace es que en un documento de open-office o word en un documento en blanco se inserta una tabla de n filas por m columnas se salva el documento, en formato word o rtf, y luego se inserta en tiempo de diseño en el dw-RTF y listo.



Al menos PoberBuilder 10.5.1 build 6627 es capaz de insertar documentos con tablas en un dw-RTF y desplegarlos muy bien... aunque quien sabe que pasa con diseños complejos de tablas como se comporte esta funcionalidad.



Lo más importante es que en tiempo de diseño el dw-RTF respeta el posicionamiento de las tablas.



Esto es en tiempo de ejecución; pero lo mismo se puede hacer por programa tanto en el control RTF como en el dw-RTF con la función insertdocument(...).



Esta función permite insertar documento en varios formatos: RTF, Word, HTML, ... HTML, ... si si si HTML !!



Y el datawindow en si no puede guardar su contenido en formato HTML?. Pues claro que si !, entonces si yo salvo un datawindow "grid" en formato html y con insertdocument() lo inserto en un dw-RTF entonces logro combinar un dw-RTF con otros datawindows y con texto RTF todo en un solo dw-RTF.


Sencillo no?



No tanto, tiene sus arandelas sueltas, pero se puede resolver.



Ahora no tengo mucho tiempo, pero cuando pueda les pongo un ejemplo más visual.





J.



Powered by ScribeFire.

jueves, mayo 10, 2007

Manejo de puertos seriales en Visual Basic

Está muy interesante el artículo, sobre todo lo que tiene que con los problemas al registrar el control activeX mscomm32.ocx. Este control se puede usar en Power Builder, pero por lo que he leído al registrarlo tiene problemas, que en esta página parecen solucionar:
Comunicación serie usando Visual Basic
J.



Powered by ScribeFire.

viernes, mayo 04, 2007

El soporte para RTF en power podría ser mejor... (parte 7)

Un compañero me mostró en lo que ha estado trabajando al lidiar con controles RTF y la verdad es que me parece una muy buena alternativa. La técnica es como sigue:
  • Se crea un documento RTF (por alguna otra opción) que servirá de plantilla para el reporte que queramos generar posteriormente. Dicha plantilla contendrá el contenido constante (lo que no cambia en cada reporte) y ciertas marcas (o tag's como le suelen decir por ahí). Algo que sea algún identificador único.



  • Luego al momento de generar el reporte, en un control RTF en blanco se carga la plantilla RTF creada previamente (con copyRTF() y todo lo demás).



  • Luego se usan funciones find (rte_1.find()) para "seleccionar" las marcas creadas dentro del RTF y aquí la cosa se pone buena:



  • Se usa entonces un replace vacio para borrar la marca (rte_1.replacetext( "" )) y dejar el cursor posicionado en un sitio específico!.



  • Luego con el mismo replacetext (no estando ya nada seleccionado) se puede comenzar a "insertar texto en control", usando si es el caso funciones de formato de texto.
Ahí está la técnica. Se pueden usar varias marcas (tags), para ubicar el cursor y desde ese punto insertar algún contenido dinámico que se requiera.



Con el control RTF también es posible insertar campos que se puede compartir de un datawindow (o datastore supongo) y con esto se podrían poner campos de la base de datos sin mayor problema.



Eso lo bueno... ahora lo malo... (siempre hay algo malo no?).



Si lo que se va a escribir en el control RTF tiene un formato complejo, como la información de un datawindow por ejemplo entonces la cosa se complica... por la naturaleza dinámica de las cosas. Si lo que se va a generar es estático (no varía, sobre todo en posición), esta técnica serviría para combinar cualesquiera "textos RTF" en un informe determinado, porque se puede usar copyRTF() en un control RTF cuantas veces se requiera. La cuestión es posicionar el cursor dentro del control que ya vimos como.



Para varia el informe que necesito hacer es mucho más complicado que lo anterior... luego habría que inventarse alguna otra técnica, en el camino.



Sin embargo las cosas pintan bien con estos métodos...





J.



Powered by ScribeFire.

jueves, mayo 03, 2007

El soporte para RTF en power podría ser mejor... (parte 6)

Un gurú de Power B++ ;) que conocemos nos comentó que alguna vez tuvo un problema similar (aunque más sencillo) en el que tenía que combinar texto RTF y datos de la base de datos para imprimirlos luego... algo como un pagaré, o algo así por estilo...



Lo que había hecho era no usar un datawindow RTF, ni uno Composite por que se dió cuenta, como ya sabemos todos, que esto es un pereque... de marca mayor!



Lo que hizo fue entonces usar el control RTF. Uno que había pegado encima de un datawindow free-form (creo) todo dentro de una ventana... igual como lo hemos hecho todos. El truco estuvo en mandar a escribir el texto que necesitaba dentro del control RTF!. Es decir el control en si ya tiene el texto en formato RTF, y digamos que de alguna forma con los métodos propios del Control RTF había pegado lo que necesitaba...



Bueno esto es al menos una luz. Mi compañero que ha trabajado más en Power B++ ya había intentado esto pero en un datawindow RTF para insertar una firma (un gráfico) y le tocó dar un mundo de vueltas para insertarle una firma... con el dichoso bitmap()... Y obviamente el reporte que necesitamos tendría mucho más trabajo haciéndolo así a pie pues es más complejo. Por eso no ha vuelto sobre el mismo camino, similar, al que nos sugirió nuestro gurú.



Pero el detalle está en que el control RTF tiene una función print ! ( rte_1.print()... y otras variantes...). Luego tal vez, ahondando en la funcionalidad del control RTF (atributos y métodos) y algo de código en power (que no tenga que ver con "super trucos" como XSLFO) se pueda hacer algo !...




Amanecerá y veremos... o como dije antes ... back to basics.



J.



Powered by ScribeFire.

Por fín me acordé de uno de los mejores refranes que haya escuchado nunca

E incluso mejorado !!
Tres muchos y tres pocos destruyen a los hombres locos:

  1. Mucho hablar y poco saber.
  2. Mucho gastar y poco tener.
  3. Mucho presumir y poco valer.
Originalmente se lo escuché a un profesor de filosofía en el colegio y simpre me había acordado a medias... Ahora con un poco de ayuda (Internet) ya me acuerdo:
Tres cosas matan al hombre, Mucho hablar y poco saber; Mucho gastar y poco tener; Mucho ostentar y poco valer.



Obviamente el que encontré en la botica de la abuela está mucho mejor!
J.



Powered by ScribeFire.

martes, mayo 01, 2007

El soporte para RTF en power podría ser mejor... (parte 5)

Esto no parece ser una alternativa de corto plazo !!.

Que locura... aprender todo un lenguaje solo para generar en un archivo pdf texto rtf en conjunto con información de datawindows...

En cualquier caso si alguien se anima aquí van unos muy buenos enlaces al respecto:
http://www.cafeconleche.org/books/bible2/chapters/ch18.html
http://www.w3schools.com/xslfo/default.asp
http://www.xslfo.info/reference.aspx
http://www.renderx.com/tutorial.html
http://en.wikipedia.org/wiki/XSLFO
http://www.editix.com/
J.

Powered by ScribeFire.

El soporte para RTF en power podría ser mejor... (parte 4)

Como alternativa se menciona que es posible usar XSLFO para "diagramar" el contenido de varios datawindows y finalmente generar un pdf que junte todo en un solo reporte final.

Suena como una luz... pero: XSLFO... no... que complique... si esa es la alternativa para juntar texto rtf y varias datawindow... que pereque !. Tal vez para los que ya dominen XML, y XSLT y/o XSL esta sea una alternativa.

Yo diría que esta es una de las últimas alternativas que yo intentaría. Quien sabe que es más complicado si hacer esto así o con un ole dw... (lo más seguro es que el camino con ole dw's sea uno perdido)

En definitiva cada vez más la cosa se oscurece.

Bueno yo creo que toca que hechar pa'tras... cuando uno está en estas encrucijadas lo mejor es retomar el camino recorrido mirar si una cosa le sirve pa'otra o al menos convencerse de por que una alternativa no va a funcionar... a lo mejor me de una inspiración como a Andrew Wiles jajaja! .

J.

Powered by ScribeFire.

Discurso de Steve Jobs

Este es el discurso que Steve Jobs dió en una ceremonia de graduación en la universidad de Stanford en Estados unidos:
Muy, muy, muy bueno.

J.


Powered by ScribeFire.

Soluciones con PowerBuilder (Español)

En este sitio "http://conpb.blogspot.com/" hay unos tips muy interesantes de power-builder y lo mejor de todo es que está en español.





J.





Powered by ScribeFire.

El soporte para RTF en power podría ser mejor... (parte 3)

Tratar de desplegar el contenido de un texto RTF guardado en la base de datos en un datawindow OLE... es un reto!... un compañero en defenitiva se cansó de intentarlo.



El detalle está con la aplicación que manejará el contenido (al igual con los blob field). Con wordpad no. Con Open office menos (se bloquea y punto... ;) ). Con word 2003 parece que hay posibilidad... pero entonces en donde se despliegue la aplicación tendría que estar instalado... mejor dicho no es la mejor de las opciones que uno desearía.



En fin... hora de pedirle cacao al jefe, para que nos consiga una pequeña capacitación en ole dw o rtf o blob fields o mejor dicho alguna pista; con algún guru de power.



Por ahora... nada a la vista, ni siquiera en los foros "oficiales" de power.





J.



PD: Amanecerá y veremos !





Powered by ScribeFire.