Ajuada! Como salvar o conteudo um TRichEdit

Delphi

26/11/2004

Como faço para salvar o conteudo de um componente TRichEdit em um bando de dados sem que perca a formatação do texto:
Vou dar um exemplo:

//cdsEnviarMEN_CONTEUDO é um campo do tipo BLOB

CdsEnviarMEN_CONTEUDO.AsVariant:= RichEdit1.Lines.Text;

Assim funciona mas o meu Texto perde toda a formantação:
O texto esta assim:

´Oi preciso de [color=red:75a9c18120][b:75a9c18120]ajuda[/b:75a9c18120][/color:75a9c18120].´
mas banco ele salva assim.
´Oi preciso de ajuda. ´
sem cor ou fonte maior.


Lucianob

Lucianob

Curtidas 0

Respostas

Marcelo Saviski

Marcelo Saviski

26/11/2004

Esta é uma aneira, eu nunca usei campos Blob, mas pelo que parece eles podem armazenar uma stream, então, teste para ver se isso abaixo funciona:

[i:0949d9a07e][color=darkblue:0949d9a07e]//Salva o conteúdo do RichEdit[/color:0949d9a07e][/i:0949d9a07e]
var
  Stream: TStream;
begin
  Stream : TMemoryStream.Create
  RichEdit.Lines.SaveToStream(Stream);
  BlobField.LoadFromStream(Stream);
  Stream.Free;
end;


[color=darkblue:0949d9a07e][i:0949d9a07e]//Carrega no RichEdit[/i:0949d9a07e][/color:0949d9a07e]
var
  Stream: TStream;
begin
  Stream : TMemoryStream.Create
  BlobField.SaveToStream(Stream);
  RichEdit.Lines.LoadFromStream(stream);
  Stream.Free;
end;



GOSTEI 0
Reginaldo174

Reginaldo174

26/11/2004

Tenho uma solução meio maluca, mas foi a unica que consegui até hoje.

Faça o seguinte :

- antes de salvar crie um arquivo externo do tipo texto e coloque nele o conteudo do Richedit;
- Depois Leia o arquivo externo em Tmemo;
- Salve o texto que está no conteudo do Tmemo.

Dessa forma é salvo tipo o Html. Com tags que informam a sua formatação.

- Para ler use um DBrichedt comum depois de gravado.


GOSTEI 0
Marcelo Saviski

Marcelo Saviski

26/11/2004

O código que eu coloquei lá em cima seque mais ou menos essa mesma lógica, só que ao invés de slavar num arquivo externo, salva numa Stream, um pedaço de memória temporário.


GOSTEI 0
POSTAR