Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 13-02-2007
glopez glopez is offline
Miembro
 
Registrado: ago 2003
Ubicación: Huelva
Posts: 76
Poder: 21
glopez Va por buen camino
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.
Responder Con Cita
  #2  
Antiguo 13-02-2007
fdelamo fdelamo is offline
Miembro
 
Registrado: oct 2005
Ubicación: Sotoca de Tajo - Guadalajara (ESP)
Posts: 86
Poder: 19
fdelamo Va por buen camino
Hola glopez,

¿por que no los puedes usar?, crealos en ejecución y los usas, aunque no sean visibles

Saludos
__________________
Sotoca Web
Responder Con Cita
  #3  
Antiguo 13-02-2007
glopez glopez is offline
Miembro
 
Registrado: ago 2003
Ubicación: Huelva
Posts: 76
Poder: 21
glopez Va por buen camino
Cuando creo un richedit en ejecución e intento asignarle el texto del campo me dice que el richedit no tiene padre.
Responder Con Cita
  #4  
Antiguo 13-02-2007
Avatar de Bicho
[Bicho] Bicho is offline
Miembro Premium
 
Registrado: jul 2003
Ubicación: Inca - Mallorca
Posts: 1.776
Poder: 22
Bicho Va por buen camino
Pues asígnale un padre hombre!!

Al crearlo pones esto:

Código Delphi [-]
RichEdit1.Parent := Panel1 
// Aquí pones el componente que le quieres asignar como padre, 
// yo he puesto un panel ya que es lo más usual, 
// pero tambien puedes asignarle directamente el form1.

Saludos
Responder Con Cita
  #5  
Antiguo 13-02-2007
fdelamo fdelamo is offline
Miembro
 
Registrado: oct 2005
Ubicación: Sotoca de Tajo - Guadalajara (ESP)
Posts: 86
Poder: 19
fdelamo Va por buen camino
¿Si?, no lo sabía,

pues prueba a crear un padre (un TPanel, por ejemplo)

a ver si consigues algo ...
__________________
Sotoca Web
Responder Con Cita
  #6  
Antiguo 13-02-2007
glopez glopez is offline
Miembro
 
Registrado: ago 2003
Ubicación: Huelva
Posts: 76
Poder: 21
glopez Va por buen camino
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));
Responder Con Cita
  #7  
Antiguo 13-02-2007
glopez glopez is offline
Miembro
 
Registrado: ago 2003
Ubicación: Huelva
Posts: 76
Poder: 21
glopez Va por buen camino
Si hago el codigo anterior pero con componentes creados en tiempo de ejecución el texto me lo devuelve con formato.
Responder Con Cita
  #8  
Antiguo 13-02-2007
fdelamo fdelamo is offline
Miembro
 
Registrado: oct 2005
Ubicación: Sotoca de Tajo - Guadalajara (ESP)
Posts: 86
Poder: 19
fdelamo Va por buen camino
Prueba con esto:

Código Delphi [-]
var
  a: TRichEdit;
  p: TForm;
begin
  p := TForm.Create(nil);
  a := TRichEdit.Create(p);
  a.Parent := p;
  a.Lines.LoadFromFile('c:\Documento.rtf');
  a.PlainText := True;
  a.Lines.SaveToFile('c:\Documento.txt');
  a.Free;
  p.Free;

Con TPanel no se puede "Control has no parent window" ¿alguien sabe por que? ¿por ser descendiente de TWinControl?

Un saludo
__________________
Sotoca Web
Responder Con Cita
  #9  
Antiguo 13-02-2007
glopez glopez is offline
Miembro
 
Registrado: ago 2003
Ubicación: Huelva
Posts: 76
Poder: 21
glopez Va por buen camino
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.
Responder Con Cita
  #10  
Antiguo 13-02-2007
Avatar de Bicho
[Bicho] Bicho is offline
Miembro Premium
 
Registrado: jul 2003
Ubicación: Inca - Mallorca
Posts: 1.776
Poder: 22
Bicho Va por buen camino
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
Responder Con Cita
  #11  
Antiguo 13-02-2007
glopez glopez is offline
Miembro
 
Registrado: ago 2003
Ubicación: Huelva
Posts: 76
Poder: 21
glopez Va por buen camino
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.
Responder Con Cita
  #12  
Antiguo 15-02-2007
Avatar de rastafarey
rastafarey rastafarey is offline
Miembro
 
Registrado: nov 2003
Posts: 927
Poder: 21
rastafarey Va por buen camino
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;
__________________
Todo se puede, que no exista la tecnología aun, es otra cosa.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Base de datos de texto plano sin BDE andre Conexión con bases de datos 8 08-07-2010 12:48:00
Obtener Texto plano de un campo blob Manuel Firebird e Interbase 12 06-10-2006 00:01:53
Texto plano a RTF FunBit Varios 3 19-09-2006 08:48:37
TRichEdit y texto plano aranel OOP 1 09-12-2005 12:26:52
Imprimir en modo texto plano triskel Impresión 2 19-09-2003 09:39:43


La franja horaria es GMT +2. Ahora son las 21:31:54.


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
Copyright 1996-2007 Club Delphi