FastReport: Anlegen und verwenden von Variablen im Report
Inhaltsverzeichnis
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:
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:
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' )
Beispiel:
// Wenn Uhrzeit-Bis leer: Variable entsprechend zusammenstellen: if <AuftragsKopf."VA-BisZeit"> = '' then Set( <RückgabBisDatumUhrzeit>,'' ) else Set( <RückgabBisDatumUhrzeit>,' um ' + <AuftragsKopf."VA-BisZeit"> + ' Uhr' );
5 Links
Siehe:
- Der schnellere aber etwas komplizierte Weg, Variablen in einen Report einzufügen, wird hier beschrieben.