como imprimir RichEdit

Delphi

02/03/2006

galera como eu imprimo o conteudo do RichEdit que está gravado em um campo blob na tabela?

[quote:2f943fdf9e=´Moderação´][color=red:2f943fdf9e]Título editado por Massuda

Removido: ´pelo amor de deus´[/color:2f943fdf9e][/quote:2f943fdf9e]


Crcam

Crcam

Curtidas 0

Respostas

Edilcimar

Edilcimar

02/03/2006

quer utilizar que tipo de impressão, dos ou windows?


GOSTEI 0
Crcam

Crcam

02/03/2006

o sistema trabalha em ambiente windows e devera ser impresso em impressoras jato de tinta colorido.

eu costumava usar o rave mas ele é incompativel com campo blob não sei mais o que fazer tenho um RichEdit no sistema p/ arquivos texto com imagens e formatação so que não tenho ocmo imprimir os dados


GOSTEI 0
Edilcimar

Edilcimar

02/03/2006

para imprimir uma imagem
Printer.Canvas.Draw(80,20,Image1.Picture.Graphic);
para imprimir um texto
Printer.Canvas.TextOut(20,20,´Meu Texto!´);
para imprimir um memo
Printer.Canvas.TextOut(10,20,Memo1.Lines[NumeroLinha]);


GOSTEI 0
Crcam

Crcam

02/03/2006

[dois porens...


RichEdit é imagem + texto
e o pior dessa forma como montar uma estrutura de impressão pois já existe um padrão feito no rave so esse campo deu problema


GOSTEI 0
Aerreira

Aerreira

02/03/2006

Num sistema meu antigo, ainda em Paradox/QuickReport, eu edito os textos incluindo formatação e imagens, e salvo como RTF. Para imprimir os RTFs uso o seguinte:

- Crio um QuickReport e coloco nele um QRRichText
- Chamo esse QRRichText de qrTexto
- Coloco em sua propriedade ´ParentRichEdit´ = ´fmMovExa.mTXT´
- No form fmMovExa (que chamará o QR) coloco um RichEdit e chamo ele de mTXT

No botão OnClick do botão Print do form fmMovExa, coloco:
   mTXT.clear;
   mTXT.plaintext := false;
   if FileExists(ExtractFilePath(application.ExeName)+´laudo.rtf´) then
      mTXT.lines.loadfromfile(ExtractFilePath(application.ExeName)+´laudo.rtf´);
   if mtxt.lines.Count = 0 then
      showmessage(´O laudo ainda não foi criado.  Clique em Edita Laudo.´)
   else
      relLaudo.preview;
   mTXT.plaintext := true;


A diferença aí é que seu texto vem de um Blob, mas acho bastará carregar o blob para dentro o mTXT.


GOSTEI 0
Aerreira

Aerreira

02/03/2006

Caixa de Entrada :: Mensagem De: CRCAMPOS Para: aerreira Enviada: Sex Mar 03, 2006 10:00 am Assunto: como imprimir RichEdit rtf??? é um tipo de campo de tabela ? me desculpe a ignorância mas nunca tinha ouvido falar motivo pelo qual eu estou armazenando em campo blob....


RTF é Rich Text Format, um formato para documentos, assim como DOC. É um arquivo contendo um documento no formato RTF. O RichEdit do delphi salva o documento formatado justamente no padrão RTF.

ps: procure responder ou perguntar sempre pelo próprio tópico do forum, assim todos podem acompanhar o andamento do problema/solução.


GOSTEI 0
Crcam

Crcam

02/03/2006

deixa ver se entendi dessa forma eu não estaria gravando o arquivo na tabela?


GOSTEI 0
Aerreira

Aerreira

02/03/2006

deixa ver se entendi dessa forma eu não estaria gravando o arquivo na tabela?


Sim, você não estaria gravando na tabela, estaria trabalhando com os arquivos diretamente no disco. Acho que o ideal seria armazenar na sua tabela apenas o path/nome do arquivo para referência e deixar o arquivo no HD e não dentro do blob.


GOSTEI 0
Aerreira

Aerreira

02/03/2006

Mas lembre-se: isso é apenas uma opinião, vc pode fazer com blob mas a solução será um pouco diferente.


GOSTEI 0
Aerreira

Aerreira

02/03/2006

Dê uma olhada nesse tópico, tem coisa que pode te interessar lá:
http://forum.clubedelphi.net/viewtopic.php?t=26984


GOSTEI 0
Crcam

Crcam

02/03/2006

vou ver o link mas infelizmente a forma que foi implementado isso na mepresa não é permitido quaisquer informação armazenada fora do banco de dados pois já tem toda uma rotina de criptografia


GOSTEI 0
Crcam

Crcam

02/03/2006

não sei se me perdi no assunto deles mas eles estão impromindo um arquivo alocado numa pasta acho que não se encaixa no meu dilema

outra coisa que não entendi é uma ferramenta que faz a formatação e edição do texto que eles comentam???

e sabe o que é pior se eu tiver de montar a impressão via codigo como eu monto o padrão que já existe. pois ele foi feito tudo no rave logos informações essas coisas basicas de relatórios com kilos de informações


GOSTEI 0
Martins

Martins

02/03/2006

não sei se me perdi no assunto deles mas eles estão impromindo um arquivo alocado numa pasta acho que não se encaixa no meu dilema outra coisa que não entendi é uma ferramenta que faz a formatação e edição do texto que eles comentam??? e sabe o que é pior se eu tiver de montar a impressão via codigo como eu monto o padrão que já existe. pois ele foi feito tudo no rave logos informações essas coisas basicas de relatórios com kilos de informações


Vc está armazenando em um Blob certo, então vc não poderia trazer do blob para um QRDBRichText?


GOSTEI 0
Aerreira

Aerreira

02/03/2006

Bom, pelo que eu entendi vc tem um relatório com um monte de detalhes, tudo funcionando bem com Rave e não há interesse/necessidade de mudar tudo para outra coisa completamente diferente, sua necessidade agora é colocar nele um RichText e não está conseguindo, certo?

Aqui no help do Rave (não uso o Rave ainda), encontrei muita coisa sobre Memo. Basta você adicionar um componente [b:4d7be694fc]DataMemo[/b:4d7be694fc] ao seu form, ligar a propriedades [b:4d7be694fc]DataView[/b:4d7be694fc] e [b:4d7be694fc]DataField [/b:4d7be694fc] ao seu Blob e marcar [b:4d7be694fc]ContainsRTF[/b:4d7be694fc] como TRUE. De resto, acho que não terá nenhum problema.


GOSTEI 0
Martins

Martins

02/03/2006

Bom, pelo que eu entendi vc tem um relatório com um monte de detalhes, tudo funcionando bem com Rave e não há interesse/necessidade de mudar tudo para outra coisa completamente diferente, sua necessidade agora é colocar nele um RichText e não está conseguindo, certo? Aqui no help do Rave (não uso o Rave ainda), encontrei muita coisa sobre Memo. Basta você adicionar um componente [b:731dd030a3]DataMemo[/b:731dd030a3] ao seu form, ligar a propriedades [b:731dd030a3]DataView[/b:731dd030a3] e [b:731dd030a3]DataField [/b:731dd030a3] ao seu Blob e marcar [b:731dd030a3]ContainsRTF[/b:731dd030a3] como TRUE. De resto, acho que não terá nenhum problema.


Boa solução colega, apesar de eu tb não usar Rave ainda, me pareceu bem interessante a solução postada por vc.


GOSTEI 0
Crcam

Crcam

02/03/2006

eu já tinha feito isso....

ai da invalido no preview. ai dou refresh no dataviews ai ele corrige de memo p/ blobfild component. so que não tem cristo que arraste ele no formulário
estou dias nessa e não saio.

me fale uma coisa RichEdit so da p/ armasenar em blob ou oleno access?


GOSTEI 0
POSTAR