Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Werkzeuge (https://www.delphipraxis.net/63-sonstige-werkzeuge/)
-   -   Rave Druck nur auf der letzten Seite (https://www.delphipraxis.net/141651-rave-druck-nur-auf-der-letzten-seite.html)

MPö 13. Okt 2009 11:11


Rave Druck nur auf der letzten Seite
 
Der Report hat Kopf und Positionsdaten.
Es soll ein bestimmter Textblock nur auf der letzten Seite erscheinen.
Dieser Textblock darf nicht auf 2 Seiten aufgeteilt werden.
Der Textblock soll immer am Seitenende stehen.
Er darf aber auch direkt im Anschluss an die Positionszeilen stehen.
Im zu erstellenden Report passen max. 15 Positionszeilen auf eine Seite.
Falls 15 Positionszeilen oder weniger kann alles auf die 1. Seite gedruckt werden.
Falls der Report über 15 Positionszeilen hat soll mindestens eine Postionszeile auf der letzten Seite stehen.
Den Seitenumbruch bei 15 Positionszeilen ereiche ich, indem ich die Region entsprechend klein mache.

Wie kriege ich nun den Textblock mit mindestens eine Positionszeile auf die letzte Seite?

Derzeit steht dieser Textblock in einer eigenen Region / Databand /Section.
Auf das DataBand könne man verzichten, indem alle Daten in Param.Felder gefüllt werden.
der Versuch im Event-Editor die Section nur zu drucken, falls Report.TotalPages erreicht sind
schlug fehl wegen Compilerfehler.
Ich finde keine Dokumentation über diese pascalähnliche Sprache.
Wie kann ich mein Ziel erreichen?

MPö 5. Nov 2009 10:54

Re: Rave Druck nur auf der letzten Seite
 
mit RAVE-Mitteln habe ich keine Lösung gefunden.

Die Lösung sieht jetzt aus wie folgt:
Die Region wurde auf Seitenlänge des Reports erweitert.
Das Datenband, mit dem Textblock, der auf die letzte Seite soll, kommt in die Region.
Es wird ein zusätzlichen Datenband eingerichtet mit einen neuen DataView
Das Datenband hängt über MasterDatView am Positions-DataView, das gedruckt wird.

Nach einer Zeilenanzahl, die unter Berücksichtigung des Textblockes, auf einer Seite Platz hat,
wird in Delphi ein Datensatz geschrieben und dabei das Memofeld(Blob) des Datensatzes mit einer Zeilenanzahl mit Leerzeilen gefüllt, dass der nächste Positionssatz auf eine neue Seite kommt.


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:43 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-2025 by Thomas Breitkreuz