FastReport: Logo auf Kopien unterdrücken mit der Variable Copy: Unterschied zwischen den Versionen

Aus GEVITAS
Wechseln zu: Navigation, Suche
(Logo auf Kopien ausblenden)
(Beispiele)
 
Zeile 52: Zeile 52:
 
Dazu klicken Sie einmal (kein Doppeklick!) auf das Objekt. Im Objekt-Inspektor links schaltet man auf Ereignisse um:
 
Dazu klicken Sie einmal (kein Doppeklick!) auf das Objekt. Im Objekt-Inspektor links schaltet man auf Ereignisse um:
  
 +
[[Datei:FastReport_Lieferschein_Variable_Copy_05.png]]
  
 
+
Doppelklicken Sie auf die Zeile '''OnBeforePrint'''. Dann geben Sie folgenden Code ein:
 
 
Dann gibt man folgenden Code ein:
 
  
 
   
 
   
 
  procedure pictureBasisKopfLogoOnBeforePrint_inherited(Sender: TfrxComponent);
 
  procedure pictureBasisKopfLogoOnBeforePrint_inherited(Sender: TfrxComponent);
 
  begin
 
  begin
 +
    // Das Logo erst man einschalten. Unten wird es u.U. wieder ausgeschaltet!
 
     pictureBasisKopfLogo.Visible := True;
 
     pictureBasisKopfLogo.Visible := True;
 
   
 
   
Zeile 70: Zeile 70:
 
   '''  pictureBasisKopfLogo.Visible := False;'''
 
   '''  pictureBasisKopfLogo.Visible := False;'''
 
  end;
 
  end;
 +
 +
 +
Der Code schaltet das Logo erst mal '''ein'''. Die folgenden Zeilen schalten das Logo u.U. aus. Hier ist es so, dass das Logo über das '''Kennzeichen1''' ausgeschaltet werden kann, wenn dort '''Nein''' steht.
 +
 +
In den folgenden Zeilen wird das Logo ausgeschaltet, wenn die Kopie größer als 0 ist.
 +
 +
  
 
=== Hinweis "Kopie" ===
 
=== 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.
+
Man 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:
 
Beispiel:

Aktuelle Version vom 28. Februar 2016, 22:25 Uhr

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

  • In diesem Report gibt es schon eine Kategorie ("InterneVariablen"). Klicken Sie diese Kategorie an und dann auf dem Button Neue Variable anlegen. Wenn es in Ihrem Report keine Katagorie gibt müssen Sie zuerst eine neue anlegen. Eigene Variablen können nur in einer eigenen Kategorie angelegt werden! Dieses Video zeigt, wie das geht.


Klicken Sie auf Variable bearbeiten:

FastReport Lieferschein Variable Copy 03.png


Geben Sie den Variablen-Namen "Copy" ein und den Standard-Ausdruck 0:

FastReport Lieferschein Variable Copy 04.png


  • Achten Sie auf die genaue Schreibweise!

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 klicken Sie einmal (kein Doppeklick!) auf das Objekt. Im Objekt-Inspektor links schaltet man auf Ereignisse um:

FastReport Lieferschein Variable Copy 05.png

Doppelklicken Sie auf die Zeile OnBeforePrint. Dann geben Sie folgenden Code ein:


procedure pictureBasisKopfLogoOnBeforePrint_inherited(Sender: TfrxComponent);
begin
   // Das Logo erst man einschalten. Unten wird es u.U. wieder ausgeschaltet!
   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;


Der Code schaltet das Logo erst mal ein. Die folgenden Zeilen schalten das Logo u.U. aus. Hier ist es so, dass das Logo über das Kennzeichen1 ausgeschaltet werden kann, wenn dort Nein steht.

In den folgenden Zeilen wird das Logo ausgeschaltet, wenn die Kopie größer als 0 ist.


2.2 Hinweis "Kopie"

Man 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