Trick 51: Gesetzt
den Fall ...
Aufgabe: Für eine Sitzung
bestimmte Werte voreinstellen, die jederzeit
in jedem FLEX bereitstehen, um Unterscheidungen aller Art
treffen zu können.
Warum: Bei den immer
umfangreicheren Funktionssystemen, die man sich
mit FLEX basteln kann, ist es oft erwünscht, je nach Situation
unterschiedlich reagieren zu können.
Lösungen:
1. kann man schon im
_start.flx jede beliebige Variable besetzen und
diese dann jederzeit
heranziehen,
2. Auch kann man in einem eigenen
Initialisierungs-FLEX beliebig
viele Einstellungen
für Spezialanwendungen vornehmen.
Beispiele sind
o-init.flx und a-init.flx für Erwerbung / Ausleihe.
Welche Variablen eignen sich dazu?
Grundsätzlich zwar auch die
#u-Variablen mit kleinen Buchstaben,
aber besser sind die relativ neuen
$-Variablen (mit großem Anfangs-
buchstaben!), denn diese
können längere Namen haben, bei denen dann
weniger leicht eine Kollision mit
einer schon vorhandenen Variablen
passieren kann. Warum große
Anfangsbuchstaben? Weil nur diese
Variablen während der ganzen
Sitzung erhalten bleiben, die kleinen
aber nur während der Laufzeit
des FLEXes.
$-Variablen können, genau wie
die #u-Variablen, leicht belegt und
für Prüfungen genutzt
werden.
Das Belegen geht so:
$Abc 1
belegt die Variable $Abc mit dem
Wert 1.
Das Prüfen geht so:
Möglich ist, bisher
undokumentiert, der Befehl
if $xyz
<befehl>
Der <befehl> wird nur
ausgeführt, wenn $xyz belegt ist. Also genauso
wie es mit #u-Variablen geht und
mit Datenfeldern!
Wenn dagegen nicht die Existenz,
sondern der Inhalt zu prüfen ist,
verfährt man so:
var $Xyz
if "1" jump
label1
if "pqr" jump
label2
Hinweis
Trick 17 zeigt, wie man Setzungen
aus der INI-Datei entnehmen kann. Das
klappt zwar einwandfrei, ist aber
unnötig betulich, wenn man die
hier dargestellten
Möglichkeiten ausnutzt.