![]() |
Delphi-Version: 5
Drucken klappt! Aber nur eine Seite o.O
Hallöchen!
Zurzeit versuche ich diverse Informationen meines Projektes zu drucken was tadellos funktioniert. ALLERDINGS ist egal wieviele Zeilen vorhanden sind, er bedruckt nur eine Seite und dann ist der druckvorgang beendet... Ich habe entweder hier im Forum oder auf einer anderen plattform folgenden Code benutz.
Delphi-Quellcode:
HAb mir überlegt es mit einer if abfrage zu definieren wenn i > 35 ist dann soll er eine neue seite benutzen. Allerdings ist ab i:=35 jeder durchlauf > 35 und es werden "millionen" Blattserien eingezogen.
procedure TfMainRechner.TBItem1Click(Sender: TObject);
var i, lPageLine, lLineHeight, lLineCount: integer; begin c:=0; if PrintDialog1.Execute then begin Printer.BeginDoc; Printer.Canvas.Font.Name := 'Arial'; Printer.Canvas.Font.Size := 11; lLineHeight := Printer.Canvas.TextHeight('Dummy'); lLineCount := Printer.PageHeight div lLineHeight; for i := 0 to Memo1.Lines.Count -1 do begin if ((i mod lLineCount) = 0) then begin Printer.NewPage; lPageLine := 1; end; if (i = 0) then begin ////////////Angaben zur Tabelle Printer.Canvas.TextOut(50,lPageLine * lLineHeight+1500+25, 'TABELLENWERTE'); Printer.Canvas.TextOut(50,lPageLine * lLineHeight+1575+25, 'Nr.'); Printer.Canvas.TextOut(550,lPageLine * lLineHeight+1575+25, 'datum'); Printer.Canvas.TextOut(1050,lPageLine * lLineHeight+1575+25, 'XXXX'); Printer.Canvas.TextOut(1550,lPageLine * lLineHeight+1575+25, 'XXXX'); Printer.Canvas.TextOut(2050,lPageLine * lLineHeight+1575+25, 'XXXX'); inc(lPageLine); end; Printer.Canvas.TextOut(50, lPageLine * lLineHeight + 1625+25, MemoNr.Lines[i]); Printer.Canvas.TextOut(550, lPageLine * lLineHeight + 1625+25, Memo1.Lines[i]); Printer.Canvas.TextOut(1050, lPageLine * lLineHeight + 1625+25, Memo2.Lines[i]); Printer.Canvas.TextOut(1550, lPageLine * lLineHeight + 1625+25, Memo3.Lines[i]); Printer.Canvas.TextOut(2050, lPageLine * lLineHeight + 1625+25, Memo4.Lines[i]); inc(lPageLine); end; Printer.EndDoc; end; end; Hat jemand eine idee? |
AW: Drucken klappt! Aber nur eine Seite o.O
Müsste es nicht
Delphi-Quellcode:
heißen, wenn alle 35 Zeilen eine neue Seite erzeugt werden soll und i die laufen Zeilenzahl ist?
(i mod 35) = 0
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:20 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz