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

Aus GEVITAS
Wechseln zu: Navigation, Suche
K (Hinweis "Kopie")
(kein Unterschied)

Version vom 28. Februar 2016, 21:35 Uhr

1 Allgemeines

Beim Drucken eines Formulares stellt das GEVITAS-Druckprogramm ("GevitasFormPrint") eine Variable zur Verfügung,

Die Variable Copy enthält die Kopie-Nummer des Ausdrucks, wenn man im Druckprogramm mehrere Kopien ausgewählt hat.

  • 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
1 = Erste Kopie
2 = Zweite Kopie

usw.


2 Beispiel

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

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