Rtf a texto plano
Tengo un campo en la base de datos de tipo blob en el cual se almacena un texto en formato Rtf (Texto enriquecido). Tengo que hacer una función que me extraiga los codigos de control y me devuelva el texto plano (limpio).
Esta función tengo que meterla en una UDF del motor, por lo que no puedo utilizar componentes visuales como el RichEdit. |
Hola glopez,
¿por que no los puedes usar?, crealos en ejecución y los usas, aunque no sean visibles Saludos |
Cuando creo un richedit en ejecución e intento asignarle el texto del campo me dice que el richedit no tiene padre.
|
Pues asígnale un padre hombre!! :D
Al crearlo pones esto:
Saludos |
¿Si?, no lo sabía,
pues prueba a crear un padre (un TPanel, por ejemplo) a ver si consigues algo ... |
He conseguido hacerlo de esta manera pero utilizando componentes visuales creados en tiempo de diseño:
RichEdit1.SetTextBuf(PChar(Tabla.FieldByName('comentarios').AsString)); RichEdit2.SetTextBuf(PChar(RichEdit1.Text)); |
Si hago el codigo anterior pero con componentes creados en tiempo de ejecución el texto me lo devuelve con formato.
|
Prueba con esto:
Con TPanel no se puede "Control has no parent window" ¿alguien sabe por que? ¿por ser descendiente de TWinControl? Un saludo |
Gracias fdelamo funciona muy bien pero al meterlo en el motor va muy lento ya que tiene que crear un form y un richedit en cada linea de la base de datos.
|
Pero entonces, si es tan lento, ¿porque no se lo asignas a tu form donde trabajas? no necesitas crear un nuevo form, sólo el richedit.
Saludos |
Porque este código tengo que meterlo en una dll del motor que se ejecuta en cada linea del motor y allí no tengo ningún form ni puedo crearlo en diseño.
|
Resp
No tengo delphi mano. Por lo qu epuedo decir es una burrada.
Prueba como padre aplication o un casting de la misma xxx.parent := aplication; o xxx.parent := tcontrol(aplication); o xxx.parent := aplication.propiedad; |
La franja horaria es GMT +2. Ahora son las 01:15:27. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi