FastReport: Logo auf Kopien unterdrücken mit der Variable Copy

Aus GEVITAS
Wechseln zu: Navigation, Suche

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.

FastReport Lieferschein Variable Copy 01.png


FastReport Lieferschein Variable Copy 02.png


FastReport Lieferschein Variable Copy 03.png


FastReport Lieferschein Variable Copy 04.png


  • 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:

FastReportMemo Kopie .png


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;

3 Links