FastReport: Logo auf Kopien unterdrücken mit der Variable Copy
Inhaltsverzeichnis
1 Allgemeines
Beim Drucken eines Formulares stellt das GEVITAS-Druckprogramm ("GevitasFormPrint") die Variable Copy zur Verfügung, in der die Kopie-Nummer des Ausdrucks enthält, wenn man im Druckprogramm mehrere Kopien ausgewählt hat.
Damit kann man z.B. das Firmenlogo auf den Kopien unterdrücken und/oder auf den Kopien den Text "KOPIE" drucken.
- Diese Variable wird nur beim Drucken des Reports gefüllt! Bei der Vorschau oder dem Export enthält die Variable immer 0!
Copy enthält:
- 0 = Original wird gedruckt oder Vorschau angezeigt.
- 1 = Erste Kopie wird gedruckt.
- 2 = Zweite Kopie wird gedruckt.
usw.
2 Beispiele
Man öffnet den Report im Designer und legt mit Report ⇒ Variablen eine neue Variable mit dem Namen "Copy" an.
- Achten Sie auf die genaue Schreibweise! Als Standard-Ausdruck gibt man 0 an.
Nun kann man die Variable benutzen, um z.B. das Logo auf den Kopien auszublenden.
2.1 Logo auf Kopien ausblenden
Wir nehmen an, dass es im Report ein Grafik-Objekt "pictureBasisKopfLogo" gibt, das das Firmenlogo beinhaltet. Dieses Logo soll nun auf den Kopien unterdrückt werden.
Dazu verwendet man folgenden Code:
procedure pictureBasisKopfLogoOnBeforePrint_inherited(Sender: TfrxComponent); begin pictureBasisKopfLogo.Visible := True; // Logo per Kennzeichen unterdrücken: if <AuftragsKopf."KENNZ1"> = 'Nein' then pictureBasisKopfLogo.Visible := False; // Auf der Kopie das Logo unterdrücken: if ( <Copy> > 0 ) then pictureBasisKopfLogo.Visible := False; end;
2.2 Hinweis "Kopie"
Mann kann ein Textfeld (Memo-Feld) in den Report einfügen und als Text z.B. das Wort "K O P I E [Copy]" festlegen.
Beispiel:
Dann verwendet man folgenden Code, um das Memo-Feld nur auf den Kopien auszugeben:
procedure pictureBasisKopfLogoOnBeforePrint_inherited(Sender: TfrxComponent); begin MemoKopie.Visible := False; // Auf der Kopie das Memo unterdrücken: if ( <Copy> > 0 ) then MemoKopie.Visible := True; end;
Beide Codes zusammengenommen ergaben dann:
procedure pictureBasisKopfLogoOnBeforePrint_inherited(Sender: TfrxComponent); begin pictureBasisKopfLogo.Visible := True; MemoKopie.Visible := False; // Logo per Kennzeichen unterdrücken: if <AuftragsKopf."KENNZ1"> = 'Nein' then pictureBasisKopfLogo.Visible := False; // Auf der Kopie das Memo unterdrücken: if ( <Copy> > 0 ) then begin MemoKopie.Visible := True; pictureBasisKopfLogo.Visible := False; end; end;