FastReport: Anlegen und verwenden von Variablen im Report: Unterschied zwischen den Versionen

Aus GEVITAS
Wechseln zu: Navigation, Suche
(Ändern eines Variablen-Werts im Report-Code)
(Ändern eines Variablen-Werts im Report-Code)
Zeile 70: Zeile 70:
 
Im Code kann man einer Variable einen Wert zuweisen mit dem Kommando  
 
Im Code kann man einer Variable einen Wert zuweisen mit dem Kommando  
  
  <nowiki>Set( <VariablenName>,'Wert' )</nowiki>
+
  <nowiki>Set( 'VariablenName','Wert' )</nowiki>
 
   
 
   
 +
 +
'''Wichtig:'''<br>
 +
 +
Wenn man einer Variablen einen String-Wert (Text) zuweise will, muss man den Wert zwischen ein einfaches Anführungszeichen '''<nowiki>'</nowiki>''' setzen!
 +
 +
Bei einem konstanten Text geht das je einfach (s.o.), schwieriger wird es, wenn man z.B. ein Datenbank-Feld zuweisen will.
 +
 +
Würde man
 +
 +
<nowiki>Set( 'VariablenName','<RückgabBisDatumUhrzeit>' )</nowiki>
 +
 +
schreiben, so würde nicht das Feld zugewiesen werden sondern der Text "<RückgabBisDatumUhrzeit>"!!! Deshalb muss man in diesem Fall die seltsame Konstruktion verwenden:
 +
 +
<nowiki>Set( 'VariablenName','''' + <RückgabBisDatumUhrzeit> + '''' )</nowiki>
 +
 +
 +
Das erste '''<nowiki>'</nowiki>''' leitet den String ein. Die beiden nachfolgenden '''<nowiki>'</nowiki>''' ergeben zusammen '''ein <nowiki>'</nowiki>''', das letzte '''<nowiki>'</nowiki>''' beendet den String.
 +
 +
 
Beispiele:
 
Beispiele:
  

Version vom 5. Juli 2017, 11:33 Uhr

1 Allgemeines

Eine Variable in FastReport ist eine Art "Platzhalter" mit einem bestimmten Namen. Die Variable hat einen variablen Wert/Inhalt, daher der Name.

1.1 Systemvariablen

Es gibt Systemvariablen, die von FastReport zur Verfügung gestellt werden, z.B.

[Page]
Die aktuelle Seiten-Nummer
[TotalPages]
Die höchste Seiten-Nummer. Damit diese einen Wert zeigt, muss in den Report-Optionen die Option "Zweipass" eingeschaltet sein! In diesem Fall wird der Report zweimal ausgeführt: Das erste Mal "im Stillen", ohne dass der Report ausgegeben wird. Danach "weiß" der Report die Gesamtseitenzahl und gibt den Report nun aus. Dieses zweimalige Ausführen des Reports dauert natürlich etwas länger. Deshalb sollte man die Option nur einschalten, wenn man die Gesamtseitenzahl auch wirklich braucht!
[Date]
Das aktuelle Datum
[Time]
Die aktuelle Zeit
[Line]
Die Zeilen-Nummer (Datensatz-Nummer) eines Detail-Bandes.

1.2 Eigene Variablen

Eigene Variablen kann man z.B. dazu verwenden, in einem Report einen bestimmten Wert zu berechnen, z.B. aus der Menge und dem Gewicht das Gesamt-Gewicht.


1.3 Programm-Variablen

Diese Variablen stellt das Programm zur Verfügung, siehe GevitasFormPrint Variablen.

Die Namen dieser Variablen sind festgelegt und müssen genau so angelegt werden, wie beschrieben!


2 Anlegen einer Variablen

Zum Anlegen einer Variablen klickt man auf das Menü Report ⇒ Variablen. In diesem Fenster kann man die eigenen oder Programm-Variablen anlegen:

FastReport Variablen Fenster Bsp.png

Jede Variable, die man selbst anlegt, muss zu einer bestimmten Kategorie gehören, im Beispiel oben "EigeneVariablen".

Wenn es noch keine gibt, muss man diese mit dem Button oben links zuerst anlegen. Der Name der Kategorie ist beliebig. Wenn man in einem Report viele Variablen hat, kann man auch mehrere Kategorien anlegen und die Variablen passend dazu anlegen.

Die Kategorien dienen nur der besseren Übersicht. Die Namen der Variablen müssen eindeutig sein, d.h. keine Variable darf so heißen wie eine andere, auch wenn diese in einer anderen Kategorie ist!

Wenn Sie eine neue Variable anlegen wollen, klicken Sie auf:

FastReport Variablen Fenster Neu.png

Die Variable wird erst mal als "New Variable1" in den Baum eingefügt. Klicken Sie diesen Eintrag an und drücken F2. Dann geben Sie der Variable einen aussagekräftigen Namen.

Im Eingabefeld Ausdruck können Sie der Variable einen Vorgabe-Wert geben, müssen das aber nicht!

Variablen in FastReport sind typenfrei (sog. "Varianten"), d.h. der Typ des Inhalts (Zahl, Text, Datum usw.) muss nicht festgelegt werden! Erst wenn man die Variable verwendet (z.B. etwas damit berechnet), wird der Typ festgelegt:

  • Wenn man die Variable zum Rechnen benutzt, wird diese als Zahl betrachtet.
  • Wenn man die Variable im Report ausgibt, wird sie als Text behandelt. Gibt man jedoch ein Zahlenformat oder ein Datumsformat vor, wird die Variable automatisch umgewandelt.


3 Ausgeben einer Variable im Report

Eine Variable kann ganz einfach per Drag And Drop aus dem Reiter "Variablen" in den Report eingefügt werden.


4 Ändern eines Variablen-Werts im Report-Code

Im Code kann man einer Variable einen Wert zuweisen mit dem Kommando

Set( 'VariablenName','Wert' )

Wichtig:

Wenn man einer Variablen einen String-Wert (Text) zuweise will, muss man den Wert zwischen ein einfaches Anführungszeichen ' setzen!

Bei einem konstanten Text geht das je einfach (s.o.), schwieriger wird es, wenn man z.B. ein Datenbank-Feld zuweisen will.

Würde man

Set( 'VariablenName','<RückgabBisDatumUhrzeit>' )

schreiben, so würde nicht das Feld zugewiesen werden sondern der Text "<RückgabBisDatumUhrzeit>"!!! Deshalb muss man in diesem Fall die seltsame Konstruktion verwenden:

Set( 'VariablenName','''' + <RückgabBisDatumUhrzeit> + '''' )


Das erste ' leitet den String ein. Die beiden nachfolgenden ' ergeben zusammen ein ', das letzte ' beendet den String.


Beispiele:

  // Wenn Uhrzeit-Bis leer: Variable entsprechend zusammenstellen:
  if <AuftragsKopf."VA-BisZeit"> = '' then
    Set( <RückgabBisDatumUhrzeit>,'' )
  else
    Set( <RückgabBisDatumUhrzeit>,' um ' + <AuftragsKopf."VA-BisZeit"> + ' Uhr' );


  Set( <MeineZahlenVariable>,17 )







5 Links

Siehe:

  • Der schnellere aber etwas komplizierte Weg, Variablen in einen Report einzufügen, wird hier beschrieben.


FastReport Seitenformat FastReport Daten, Tabellen und Felder FastReport Tabellen der Reports Beispiele:
FastReport Bands FastReport Objekte und Elemente eines Reports FastReport: Abhängige Formatierung von Feldern Ladeliste/Packliste mit FastReport
Standard-Formular-Texte Steuerung des Report mit Auftragskennzeichen Summen im Report bilden Leasing-Liste
FastReport Farb-Konstanten Namensgebung der Datenbank-Tabellen und -Felder Tipps und Tricks Inventar-Liste
REFLEX Standard-Reports Etikettendruck Allgemeines Mehrsprachige Formulare mit FastReport Geräte-Liste
GEVITAS Label-Print Installation GEVITAS-Carnet Videos zu FastReport