Visualizar impressao com TPrinter

Delphi

16/03/2004

Olá colegas,

Criei um relatório utilizando a classe TPrinter, e agora gostaria de exibir uma visualização da impressão antes de executar o Printer.EndDoc. Alguém tem alguma idéia de como fazer isso?


Zeus_br77

Zeus_br77

Curtidas 0

Respostas

Vinicius2k

Vinicius2k

16/03/2004

Colega,

Impossível... vc já enviou os dados para a impressora... o EndDoc apenas vai finalizar o Job...

O que vc pode fazer é enviar os dados para um TRichEdit, por exemplo, e imprimir o conteúdo do TRichEdit usando o TPrinter...

o método Canvas.TextOut irá dar a saída nas linhas do TRichEdit...
Exemplo :
procedure TForm1.Button1Click(Sender: TObject);
var i: integer;
begin
  Richedit1.Clear;
  Richedit1.Lines.Add(´teste de impressão linha 1´);
  Richedit1.Lines.Add(´teste de impressão linha 2´);
  Richedit1.Lines.Add(´teste de impressão linha 3´);
  Printer.BeginDoc;
  For i:= 0 to RichEdit1.Lines.Count do
   begin
    Printer.Canvas.TextOut(0,0, RichEdit1.Lines[i]);
    // sua rotina para mudar de linha aqui...
   end;
  Printer.EndDoc;
end; 


mas, se vc usar um TRichEdit é muito mai fácil vc chamar o método Print do próprio TRichEdit...

espero ter ajudado...


GOSTEI 0
Zeus_br77

Zeus_br77

16/03/2004

Bem, já ajudou, mas o que eu queria mesmo era um visualizar impressão, como se faz com o Preview do QuickReport.

Valew.


GOSTEI 0
Vinicius2k

Vinicius2k

16/03/2004

Mas, foi exatamente isso que eu demonstrei... a criação do seu próprio preview...
Entenda que o TPrinter eh de um nível mais baixo, recuros como estes vc terá que construir vc mesmo...
T+


GOSTEI 0
Sremulador

Sremulador

16/03/2004

Amigo migre pro fortes reporter que uni os recursos do quick + impressão para dos entre outros


GOSTEI 0
POSTAR