Formatação de campos no Interbase

03/04/2003

0

Pessoal.

Eu estou desenvolvendo uma aplicação onde eu tenho dois RichEdit que precisam ter informações de formatação diferentes.

Por exemplo: em um dos RichEdit eu tenho o texto ´a casa caiu´ e quero que apenas a palavra casa fique em negrito.

Durante a execução do programa eu sei como fazer isso, o meu problema é gravar esta informação no banco de dados, pois quando eu precisar acessar essa informação novamente o banco precisa retornar a palavra casa em negrito.

Eu criei para os RichEdit campos do tipo Blob com subtype text ( já tentei com binario também ) e não funcionou.

Na verdade, eu não sei se ele não está gravando ou se quando eu mando ele carregar o RichEdit com a informação eu estou fazendo isso de forma incorreta.

Alguém pode me ajudar ? Eu estou precisando disso o mais rápido possível, eu tenho que entregar esse sistema amanhã para o meu cliente.


Obrigado.
Cleber


Cleber.sanchez

Cleber.sanchez

Responder

Posts

04/04/2003

Anonymous

Vc deve usar BLOB sub type TEXT


Apenas, tenha certeza de gravar no campo o TEXTO FORMATADO do RichEdit (Texto RTF) e não o Texto Puro.

um ex:

procedure TFormX.SaveRichText;
var
Stm: TStream;
begin
RichEdit1.PlainText := False;
Stm := TMemoryStream.Create;
try
RichEdit1.Lines.SaveToStream(Stm);
Stm.Position := 0;
TBlobField(IBQuery1.FieldByName(´CAMPO_BLOB´)).LoadFromStream(Stm);
finally
Stm.Free;
end;
end;


Abraço


Responder

04/04/2003

Cleber.sanchez

Boa tarde !

Eu estou usando o campo do tipo BLOB com subtype TEXT, agora, em relação ao código que você me mandou ocorrem dois erros:

1. Eu estou utilizando procedures para gravar os dados no Interbase,
então eu passo direto parâmetros para o Interbase e peço para ele
executar a procedure. Se eu substituir a linha que você comenta da
Quary pelo parâmetro da procedure ele me retorna um erro dizendo:
´Access Violation´.

2. Caso eu execute o mesmo procedimento que você comenta na
mensagem ele me retorna um erro dizendo: ´Failed to Save Stream´.


Você sabe o que eu poderia estar fazendo para resolver isso ?


Abraços.
Cleber


Responder

04/04/2003

Anonymous

Bom... não saquei bem.... mas, digamos q vc grava o memo por um SQL (usando IBSQL) da forma:

insert into TABELA (codigo, doc) values (:codigo, :doc)

então, vc pode atribuir o parâmetro DOC (tipo Blob) com o código q mostrei!

e então executar o IBSQL


Abraço


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar