Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: NemeSys en 21 Febrero 2007, 10:55 am



Título: Como grabar RTF en una BD desde VB?
Publicado por: NemeSys en 21 Febrero 2007, 10:55 am
Hola a todos...

Tengo que hacen un editor de texto formateado con la opcion de insertarle campos para que justo antes de imprimir el documeto escrito aqui estos campos se sustituyan por el contenido de estos campos de la DB.

Habia pensado hacerlo con una RichTextBox para el texto formateado y usar un sistema de etiquetas para los campos, es decir, el texto quedaria algo como:

Don <NOMBRE> <Apellido1> con DNI <DNI> declara que....

De manera que antes de imprimir sustituire cada etiqueta por su contenido de la BD.

El problema me viene cuando voy a guardar este texto en la BD. El texto y las etiquetas se guardan sin problema pero el formato del texto (negrita, tabulados y demas) los pierdo, ya que se guarda como texto llano.

Alguien sabe alguna manera sencilla de guardar texto formateado en un campo de un BD?

Habia pensado hacer un sistema de etiquetas para definir el formato del texto, pero esto me complicaria bastante el trabajo.

Si alguien sabe de una forma "sencilla" de hacerlo soy todo oidos...

Gracias de antemano.


Título: Re: Como grabar RTF en una BD desde VB?
Publicado por: CeLaYa en 22 Febrero 2007, 21:16 pm
pues creo que eso de ponerle etiquetas es lo mejor, de hecho el word asi lo hace, la otra opción sería que usaras la opcion de guardar que trae el RichtTextBox para guardar el texto en un archivo rtf


Título: Re: Como grabar RTF en una BD desde VB?
Publicado por: NemeSys en 28 Febrero 2007, 19:00 pm
Hola,

Gracias por la respuesta CelaYa. Sobre como sustituir campos de la base de datos por etiquetas en el texto, definitivamente lo haré asi.

Para Guardar/Recuperar RTF de un SQL estuve mirando por varias zonas y encontré bastante informacion pero muy confuse e incompleta. En unos sitios decian que debias declara un campo tipo image y guardar el texto rtf ahi, pero no me funcionaba. En otros decian que debias declara un varbinary y lo mismo.

Al final para poder recuperar y guardar rtf lo que hice fue declarar un campo de texto normal y guardar directamente el string de la propiedad RichTextBOx.TextRTF. Asi se conserva el formato del texto en la BD. Para recuperarlo y ver el texto ya formateado, lo unico que hago es leer el campo entero y volcarlo sobre la propiedad RichTextBox.TextRTF y no hay problema.

Antes por eso hago una lectura del texto y filtro las etiquetas por los campos correspondientes a la BD y voilá ya tengo mi texto con sus campillos y sus negrillas :D

Gracias por todo.
Un saludo.
Nemesys

PD: Oye alguien me puede decir que coi le pasa al foro con eso del denial of service? quien ataca? se puede ayudar?