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