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