var : Vielleicht der wichtigste Befehl von allen!

 

Ohne diesen kann man mit dem FLEX-Konzept nicht viel anfangen. Man baut damit beliebige Zeichenfolgen zusammen, die man für igendeinen Zweck braucht. Und nicht nur das, auch Manipulieren kann man damit eine Zeichenfolge. Die Zeichenfolge befindet sich dann in der "internen Variablen", kurz iV. Sehr viele andere Befehle können diese Zeichenfolge anschließend benutzen, das steht jeweils in der Beschreibung der Befehle angegeben. Einfaches Beispiel:   ( Sofort ausprobieren )

 

var "Ihre Datenbank: " B " liegt auf " D

message

 

Der var-Befehl setzt eine Zeichenfolge zusammen, hier unter Nutzung von internen Variablen B und D, und der Befehl  message  zeigt sie dann an.

Das allgemeine Rezept ist also: Zuerst mit   var  einen Inhalt zusammensetzen, dann einen Befehl ohne nachfolgendes Argument geben, der dann aber automatisch den in der iV stehenden Inhalt als Argument benutzt.

[Programmierer  denken vielleicht, daß  var  eine Variable deklariert. Das tut er also nicht, sondern er setzt einen variablen Inhalt zusammen, der dann in einem unbenannten   Bereich steht, den wir "interne Variable" nennen. Im FLEX wird dieser Bereich stets 'implizit', d.h.ohne einen Namen, angesprochen - im Beispiel durch  message.]

 

variable cstring       avanti                                         (Was ist ein  cstring  ? Unbedingt lesen!)

 

Meistens benutzt man nur die Kurzform   var,  die Wirkung ist dieselbe. (Zur Erinnerung: Bei jedem Befehl sind nur die ersten 3 Zeichen wirksam.)

Der  cstring  wird interpretiert und das Ergebnis in die  interne Variable  kopiert. Darin können Kategorie- und Variableninhalte verwendet werden und eine große Zahl von  Sondervariablen .

Ein  cstring  kann in derselben Weise bei dem Befehl    write  verwendet werden.

Fehlt cstring, wird statt dessen der momentane Inhalt der  iV  als  cstring  angesehen und interpretiert, d.h. es entsteht daraus ein neuer Inhalt in der iV.

Was dann in der iV steht, wirkt sich auf den nachfolgenden Befehl aus bzw. wird von diesem verwendet. Bei jedem Befehl ist dies, wie gesagt, angegeben.

Wichtiger Sonderfall: Mit   var ""   wird die iV leer gemacht. So kann man Kategorien löschen: z.B. kann man #uxy oder eine $-Variable so beseitigen:

var ""

ins #uxy       bzw.   ins $name

 

Sonderfall: Steht z.B.  "#123" in der iV und kommt dann der Befehl  var (ohne etwas dahinter), wird der Inhalt der iV interpretiert, und so steht anschließend der Inhalt von  #123  in der iV.

Wenn also z.B. in $kat eine Kategorienummer #173 steht, kann man mit var $kat und direkt danach  var  erreichen, daß man den Inhalt der Kategorie #173 in der iV hat.

 

var +cstring        avanti

Inhalt an die iV hinten anhängen. Hiermit kann man beliebige Inhalte zu einer langen Zeichenfolge verknüpfen,

Beispiel:

var #40 ": " #20          Inhalt von #40 und #20 in iV kopieren mit ": " dazwischen

var +" (" #76 ")"        (Inhalt von #76) an iV hinten anhängen

ins #upt                 iV in #upt speichern (Die iV als solche bleibt erhalten!)

 

Sonderfall:

var Ffilename        avanti

Inhalt der Datei  filename in die iV kopieren. Größe: Maximal 4 Mio. Bytes.

Ab V28.3 kann filename bei a99 auch eine URL sein, und zwar auch eine dynamische. Mehr dazu beim Befehl   get Iurl 

Achtung: im Dateinamen  /  statt \ verwenden, oder aber \\

Indirekte Methode: Wenn der Dateiname nicht konstant ist, sondern z.B. in $name steht, dann:

var "F" $name
var

 

 

Nochmals: Nach einem  var-Befehl steht der Inhalt der iV als "Arbeitstext" für alle anderen Befehle zur Verfügung.

Dieser Inhalt kann z.B. mit einem ins-Befehl in eine Kategorie oder #u-Variable kopiert werden, oder es wird einer derjenigen Befehle gegeben, die den Inhalt dann als Argument benutzen, z.B.  message  oder  ask   oder  yesno oder open . Bei diesen Befehlen steht immer als Kommentar:  Wenn ... fehlt, wird der Inhalt der iV verwendet. 

 

Inhalt der internen Variablen nachträglich verändern

 

var (m-befehle)     Demo 

                In der Klammer stehen sog. Manipulationsbefehle, kurz: M-Befehle)       avanti

                Inhalt der iV mit den M-Befehlen bearbeiten. Es handelt sich um dieselben Befehle, die man hinter einer Kategorienummer einsetzen kann, um deren Inhalt zu manipulieren, siehe unter  cstring 

 

Beispiel:

Meldung ausgeben, welche Datenbank man benutzt und wo sie liegt, dann in einer zweiten Zeile die Uhrzeit .  Gleich ausprobieren 

date

ins #udt

var "Sie benutzen die Datenbank " B " auf dem Verzeichnis " D n

var +"Uhrzeit: " #udt(9,0)

mes