Fórum Formatar Texto #196378
21/11/2003
0
Olá, Alguém sabe como guardar num banco de dados o texto formatado de forma que quando seja exibido novoamente toda formatasção de cor, fonte, estilo continue a mesma que foi salvo?
Estou usando tabela paradox e o campo é Formatted Memo.
Se alguém souber, agradeço a ajuda.
Estou usando tabela paradox e o campo é Formatted Memo.
Se alguém souber, agradeço a ajuda.
Rost
Curtir tópico
+ 0
Responder
Posts
01/12/2003
Info.wtomfs
Fiz isto com um Richedit ve se dá certo!!!
Não esquecer de deixar a propriedade do RichEdit PlainText = False;
{ =============
Para gravar no Banco............
==================== }
Var Ms : TMemoryStream;
// Atribui o texto formatado em uma variável MemoryStream
MS := TMemoryStream.Create;
RichEditMensagem.Lines.SaveToStream(MS);
// Grava os dados da variável no banco
// Sua query e seu campo.LoadFromStream := a variável
// Grava a tabela
Qry_Clientes.Insert;
Qry_ClientesMemorando.LoadFromStream := MS;
Qry_Clientes.Post;
// Limpa a variável da memória
MS.Free
{ =============
Para Recuperar do Banco............
==================== }
Var Ms : TMemoryStream;
MS := TMemoryStream.Create;
// Atribui os dados do banco na variável
Qry_ClientesMemorando.SaveToStream(MS);
// Joga o texto de volta para o RichEdit
RichEditMensagem.Lines.LoadFromStream(MS);
// Tira a Variável da memória
MS.Free;
OBS...
Se vc quiser utilizar um DBRichEdit vc não precisará utilizar esta rotina de capturar os dados do banco, aponte o dbrichedit para o campo que contém o texto rtf e já éra. Só não pode esquecer de deixar a propriedade Plaintext do richedit como False;
Espero ter ajudado!!!
Não esquecer de deixar a propriedade do RichEdit PlainText = False;
{ =============
Para gravar no Banco............
==================== }
Var Ms : TMemoryStream;
// Atribui o texto formatado em uma variável MemoryStream
MS := TMemoryStream.Create;
RichEditMensagem.Lines.SaveToStream(MS);
// Grava os dados da variável no banco
// Sua query e seu campo.LoadFromStream := a variável
// Grava a tabela
Qry_Clientes.Insert;
Qry_ClientesMemorando.LoadFromStream := MS;
Qry_Clientes.Post;
// Limpa a variável da memória
MS.Free
{ =============
Para Recuperar do Banco............
==================== }
Var Ms : TMemoryStream;
MS := TMemoryStream.Create;
// Atribui os dados do banco na variável
Qry_ClientesMemorando.SaveToStream(MS);
// Joga o texto de volta para o RichEdit
RichEditMensagem.Lines.LoadFromStream(MS);
// Tira a Variável da memória
MS.Free;
OBS...
Se vc quiser utilizar um DBRichEdit vc não precisará utilizar esta rotina de capturar os dados do banco, aponte o dbrichedit para o campo que contém o texto rtf e já éra. Só não pode esquecer de deixar a propriedade Plaintext do richedit como False;
Espero ter ajudado!!!
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)