PDA

Ver la Versión Completa : Modificar qrRichText


aig
18-06-2003, 10:49:01
Hola.

Tengo un qr con el que imprimo una carta almacenada en un fichero rtf. Mi problema es que quiero sustituir una cadena determinada, por ejemplo [dato], por un dato perteneciente al cliente para el que va dirigida la carta.

En el beforePrint trato el qrRichText como un text (carta.lines.text) y no tengo ningún problema para sustiuir la cadena que busco por un dato y asignarlo de nuevo a carta.lines.text.

Pero cuando se imprime la carta aparece un margen que llega hasta la mitad del documento.

¿Sabeis cual puede ser el problema?.
¿O existe otra solución para realizar esto?.

Saludos.
Carlos.

Combat-F2D
18-06-2003, 11:19:52
exite algo en el foro de como variar una cadena mediante los componentes d ela paleta server; no obstante, exite un componente freeware denominado Ekrtf (si mal no recuerdo), que hace maravillas con los ficheros RTF, inclusive tomando directamente los datos desde un DataSet;

si te interesa y no los localizas, hazmelo llegar

Combat-F2D
18-06-2003, 11:19:53
exite algo en el foro de como variar una cadena mediante los componentes d ela paleta server; no obstante, exite un componente freeware denominado Ekrtf (si mal no recuerdo), que hace maravillas con los ficheros RTF, inclusive tomando directamente los datos desde un DataSet;

si te interesa y no los localizas, hazmelo llegar

aig
18-06-2003, 12:18:05
Creo que el problema está al tratar el qrRichText como un string. En ese momento se pierden los caracteres de control que se importaron desde el rtf y por eso varia el font original y los saltos de líneas.

La solución ha esto debería pasar por modificar el rtf antes de cargarlo en el qrRichText, pero no quiero que se modifique la plantilla original de la carta.

He visto algo sobre variables tStream. Esto puede ser la solución pero no sé muy bien como utilizarlas.

¿Alguna sugerencia?

aig
19-06-2003, 10:55:39
Para no modificar los saltos de líneas ni el font originales del rtf se debe reemplazar una cadena dentro del tqrRichText tratandolo línea a línea como un string.

Es decir el StringReplace se debe hacer sobre qrRichText1.lines.strings[i] en lugar de hacerlo sobre qrRichText1.lines.text.

Saludos.