Variable in FLEX
Interne Variable (kurz iV) acon
Diese gehört zu den wichtigsten Elementen des FLEX-Konzepts!
Die iV ist eine temporäre Textvariable (Zeichenfolge), die nur so lange besteht, bis sie durch einen weiteren Befehl überschrieben wird. Das geschieht z.B. durch die Befehle ask , date und vor allem var . Die Ergebnisse dieser und anderer Befehle stehen automatisch in der iV und können direkt danach benutzt werden.
Die iV wird immer nur indirekt angesprochen, nicht mit einem Namen - das vereinfacht einiges.
Man verwendet die interne Variable in der Regel sofort z.B. in einem insert -Befehl (z.B. insert #98 , um den iV-Inhalt in das Datenfeld #98 zu kopieren).
Bei vielen Befehlen wird, wie gesagt, automatisch etwas in die iV geschrieben, das steht jeweils in der Beschreibung der Befehle. Das Befehlsergebnis kann entweder mit dem nächsten Befehl direkt verwendet werden, denn viele Befehle nehmen als Default-Argument automatisch den iV-Inhalt, so z.B. find , oder man speichert den Inhalt mit ins #uxy in einer Uservariablen #uxy, siehe unten.
Beispiel:
Die Ergebnismenge zu dem Personennamen bilden, der im Feld #40 des aktuellen Satzes steht:
var "per " #40 // Den Namen in die iV kopieren, mit "per " davor
find // in der iV steht nun ein Suchbefehl, führe diesen aus
Interne Zahlenvariable (kurz --> iZ ), acon
Interner Zähler , acon
Das sind zwei Zahlen, die für Berechnungen verwendet werden können. Sie werden zu Beginn jedes FLEXes auf 0 gesetzt. Der Unterschied: z ist eine ganze Zahl, Z eine Dezimalzahl. Ansonsten gibt es ab V27.2 den komfortablen Rechenbefehl eval , mit dem beliebige arithmetische Ausdrücke ausgewertet werden können.
In var-Befehlen werden diese Zahlen durch Z bzw. z angesprochen, um die Werte in eine Zeichenfolge einzubauen.
Wenn einer der Werte länger aufbewahrt werden soll, muß man ihn in einer Uservariablen speichern (s.u.). Das geht so:
var Z
ins #uxy
Zurück in die iZ bekommt man den Wert mit
var #uxy
Z=
Sondervariable acon
Es gibt eine Anzahl von Variablen, die man in den Befehlen var und write verwenden kann. Diese sind im Text über cstrings beschrieben.
Uservariable acon
Will man die iV länger aufbewahren, dann
mit ins #uxy in die Uservariable #uxy kopieren. Und
mit var #uxy von dort später wieder zurück in die iV.
Die Namen der " Nutzervariablen " sind auf 2 Zeichen beschränkt! x und y können aber beliebige Zeichen sein. #uab ist nicht dasselbe wie #uaB, #uAb oder #uAB, das sind vielmehr 4 unabhängige Werte!
Warum aber die Einschränkung auf 2buchstabige Namen? Diese Variablen sind zugleich innerhalb der Export- und Indexparameter verfüg- und verwendbar. Wenn dort eine solche Variable gesetzt wird, etwa in den Anzeige- oder Indexparametern, hat man sie anschließend auch in FLEX zur Verfügung.
Die mitgelieferten FLEXe nutzen i.d.R. die Variablen #uvX (v = Kleinbuchstabe, X = Großbuchstabe).
Freie Variablen
Die Windowsprogramme - nicht acon - können neben den Uservariablen auch noch beliebig viele Zeichenfolgen in sog. Freien Variablen speichern. Diese haben Namen, die mit $ beginnen und länger als zwei Zeichen sein können! Über die Einzelheiten informiert eine eigene Dokumentation .
Mehrfachleerzeichen acon
Hinweis: um Mehrfach-Leerzeichen innerhalb des iV-Textes zu beseitigen --> Befehl spaces