Fórum Como imprimir os dados de um DBGrid??? #196031
19/11/2003
0
Tô cuma dúvida cruel....
Como faço para definir a área de impressão de um Dbgrid, tendo um Edit como cabeçalho? Tipo assim... o Edit fica no topo da página c/ um nome e abaixo dele tem uma tabela (Paradox 7) num dbgrid...
Por favor, alguém me explique desde de o começo... como que cria o componente de impressão, como chamar o menu de impressora e como imprimir... sou novato em Delphi (no caso meu, uso o Delphi 5).
Desde já agradeço a atenção e a paciencia...
Maluco Tubaina
Curtir tópico
+ 0Posts
19/11/2003
Marcelo.c
Neste caso, o ideal seria você pegar uma apostila em:
www.clubedelphi.com.br/apostilas/apostilas.asp
Gostei + 0
20/11/2003
Maluco Tubaina
Grato!
Gostei + 0
21/11/2003
Marcelo.c
O código abaixo foi passado pelo [b:79f05ea9b6]Carnette[/b:79f05ea9b6] em outro Post.
Impressão Com o TPrinter:
procedure TForm1.BitBtn1Click(Sender: TObject); var Linha:integer; Tamanho:integer; Coluna:integer; begin Printer.Orientation := poLandscape; Printer.BeginDoc; Printer.Canvas.Pen.Width := 5; Printer.Canvas.Font.Name := ´Times New Roman´; Printer.Canvas.Font.Size := 10; Linha := 20; Coluna:= 20; Tamanho := Printer.Canvas.TextWidth(´a´); Table1.First; while not Table1.Eof do begin if Linha = 20 then begin Coluna := 20; Printer.Canvas.TextOut(0,Linha,´Relação de Clientes´); Linha := Linha - Printer.Canvas.Font.Height + 5 ; Printer.Canvas.TextOut(Coluna,Linha,´Cod´); Coluna:= Coluna + (Tamanho * 5 ); Printer.Canvas.TextOut(Coluna,Linha,´Nome´); Coluna:= Coluna + (Tamanho * 30); Printer.Canvas.TextOut(Coluna,Linha,´Endereço´); Coluna:= Coluna + (Tamanho * 30); Linha := Linha - Printer.Canvas.Font.Height + 5 ; end; Coluna := 20 ; Printer.Canvas.TextOut(Coluna,Linha,Table1.FieldByName(´Codigo´).AsString); Coluna:= Coluna + (Tamanho * 5 ); Printer.Canvas.TextOut(Coluna,Linha,Table1.FieldByName(´Nome´).AsString); Coluna:= Coluna + (Tamanho * 30); Printer.Canvas.TextOut(Coluna,Linha,Table1.FieldByName(´End´).AsString); Coluna:= Coluna + (Tamanho * 30); Linha := Linha - Printer.Canvas.Font.Height + 5 ; Table1.Next; if Linha > Printer.PageHeight-20 then Begin Printer.NewPage; Linha := 20; end; end; Printer.EndDoc; end;
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)