Ver Mensaje Individual
  #7  
Antiguo 26-08-2004
Avatar de Manuel
Manuel Manuel is offline
Miembro
 
Registrado: may 2003
Ubicación: San Pedro de la Paz/Chile
Posts: 324
Reputación: 22
Manuel Va por buen camino
Cita:
Empezado por roman
Hay dos cosas: en primer lugar el texto antes de la llave '{' de apertura sobra, aunque parece ser que se te pasó al pegar aquí el texto.

Por otro lado, parece que no puedes asignar directamente el texto a Lines.Text sino que debes hacerlo a través de un stream.

Yo lo hice así:

Código Delphi [-]
var
  Stream: TStringStream;

begin
  Stream := TStringStream.Create(Blob);
  try
    Stream.Seek(0, soFromBeginning);
    RichEdit1.Lines.LoadFromStream(Stream);
  finally
    Stream.Free;
  end;
end;

donde Blob sería una variable string con el contenido del campo blob.

Con esto debe cargarse correctamente el texto (con todo y formato) en el RichEdit y ahora sí, RichEdit1.Lines.Text debe contener el texto plano.

Otra cosa, aunque no sé en específico el caso de Interbase, las componentes TBlobField tienen el método SaveToStream con lo que podrías pasar directamente del campo al StringStream.

// Saludos
Gracias una vez más roman: realice lo que me dijiste así:

Stream := TStringStream.Create(TAnotacionesANOTACION.Value);
try
Stream.Seek(0, soFromBeginning);
RichEdit1.Lines.LoadFromStream(Stream);
finally
Stream.Free;
end;
texto := RichEdit1.Lines.Text;

Donde TAnotacionesANOTACION.Value es el campo con el campo blob pero se sigue cargando como rtf, seguramente debería funcionar así, pero por algun motivo sigue así, gracias por la ayuda una vez más.
__________________
Manuel Muñoz L. Trabajando con delphi 7.0 , migrando sistema a Delphi XE8, matando BDE y pasando FIREDAC.
Responder Con Cita