Ajuada! Como salvar o conteudo um TRichEdit
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.
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
Curtidas 0
Respostas
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]
[color=darkblue:0949d9a07e][i:0949d9a07e]//Carrega no RichEdit[/i:0949d9a07e][/color:0949d9a07e]
[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
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.
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
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