Autor Beitrag
cherry
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 136

WinXP - Professional
RAD Studio 2009
BeitragVerfasst: Do 11.08.05 10:53 
Schönen guten Tag allerseits...

Ist Situation:

Ich habe einen Quickreport erstellt er besteht aus folgenden Band's:

.PageHeader
.TitleBand
.QRGroup1
.DetailBand1
.rbGroupFooter
.PageFooter

is ja auch nicht so wichtig...

auf jeden Fall möchte ich gerne zwei Sachen herausfinden:

Problem

1. Wie kann ich In der Fusszeile ausgeben Seite x / y,
dabei soll aber y nicht die Gesammtzahl aller Seiten darstellen,
sondern die Gesamtanzahl der Seiten für diese Gruppe

2. Ganz normal Seite x / y
dabei weis ich nicht wie ich auf y komme.

Vielen Dank für deine Mithilfe...
schon ein dummer Spruch is was ganz feines! :D
Stefan.Buchholtz
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 612

WIN 2000, WIN XP, Mac OS X
D7 Enterprise, XCode, Eclipse, Ruby On Rails
BeitragVerfasst: Do 11.08.05 11:07 
Das Problem hatte ich auch schon, und die einzige Lösung, auf die ich gekommen bin, ist den Report zweimal zu erzeugen - der erste Durchlauf, um die Anzahl der Seiten zu ermitteln, der zweite für den eigentlichen Druck. Das bedeutet, dass die Reporterzeugung ca. doppelt so lange braucht wie normal. Mir ist aber leider keine Methode bekannt, wie man zuverlässig die Anzahl der Seiten eines QuickReports vorhersagen könnte.

Die Reporterzeugung ohne Druck machst du mit Prepare, das sieht dann so aus:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
  Report.Prepare;
  PageCount := Report.Printer.AvailablePages;
  Report.QRPrinter.Free;
  Report.QRPrinter := nil;


Die Ermittlung der Seitenzahl pro Gruppe ist etwas komplexer - du könntest die Seite, auf der eine Gruppe anfängt während des Prepare-Laufs in OnBeforePrint-Event der Gruppe ermitteln und so die Anzahl der Seiten für jede Gruppe berechnen. Das müsstest du in einem Array oder so zwischenspeichern und dann während des eigentlichen Drucks ausgeben.

Stefan
cherry Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 136

WinXP - Professional
RAD Studio 2009
BeitragVerfasst: Do 11.08.05 11:15 
Danke erstmal für deine Bemühungen.

Sieht ziemlich schlecht aus was!? :(
Von Delphi her auch ein bisschen schlecht bestückt. Zum Beispiel
die TQRSysData Komponente sollte diese Sachen gleich mitliefern!

Na dann, ich versuchsmal auf deine Art, bei meinem Report kann ich das aber
wohl vergessen, der hat schon jetzt viel zu lange !!!

THX
cherry Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 136

WinXP - Professional
RAD Studio 2009
BeitragVerfasst: Do 11.08.05 14:20 
user profile iconStefan.Buchholtz hat folgendes geschrieben:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
  Report.Prepare;  
  PageCount := Report.Printer.AvailablePages;  
  Report.QRPrinter.Free;  
  Report.QRPrinter := nil;



Funktioniert zwar, aber dauert wie befürchtet viel viel viel zu laaaaaaaange!!!

hat mir sonst noch wer einen Hinweis?
Eigentlich sollte das ja kein Problem sein, denn ganz unten wenn
der Report geöffnet ist werden ja auch alle Seiten gezählt.
Zudem ist auch im Druckdialog die Anzahl Seiten vorhanden, weiss jmd
wie ich die da rauskriege?

Meno, ist voll zum Kotzen :?