Fortbildungskurs 13.2 FLEX - Was ist das? Wie geht das? So heißt die Makro-Sprache des allegro-Systems. Eine Makro-Sprache wird heute auch oft "Skriptsprache" genannt. Der Name tut nichts zur Sache: merken Sie sich nur, daß man mit FLEX Vorgänge automatisieren kann, die man sonst über die Tastatur und Maus alle Schritt für Schritt von Hand ausführen müßte. Mit ein paar Unterschieden ist FLEX in den Programmen a99/alcarta und avanti verwendbar. Die Unterschiede stehen in den Befehlsbeschreibungen Die Dokumentation, das "FLEXikon", ist umfassend und aktuell: h flex eingeben. >>HeißTip als Alternative: v flex eingeben. Schon morgen machen Sie Ihre erste eigene FLEX-Datei! Heute leisten wir uns lieber erst etwas Theorie... FLEX ist eine Sammlung von fast 100 Befehlen, mit denen man genau beschreiben kann, was gemacht werden soll. Zum Beispiel können fast alle Buttons und Menüpunkte statt von Hand auch von einem FLEX-Befehl ausgelöst werden! FLEX wird auch eine Befehlsfolge genannt, die man mit FLEX zusammen- gestellt hat. Das kann ein einziger Befehl sein oder über 1000. Es heißt dann "Der FLEX", nicht "Das FLEX". Ein FLEX ist also etwas ähnliches wie ein Programm. Das kann der Computer aber nicht selber ausführen, sondern er braucht a99 oder alcarta (oder avanti) dafür. Jetzt wollen Sie sofort etwas selber ausprobieren? Dann geben Sie mal in das Schreibfeld von a99 ein (kopieren Sie die folgende Zeile hier raus und rein ins Schreibfeld): x var "Diese Datenbank hat " t " Saetze"\message ... dann [Enter] drücken Das x ganz vorne sagt dem Programm: hier kommt ein FLEX, keine Dateneingabe! Darauf folgen zwei FLEX-Befehle, getrennt durch den \ Der erste Befehl ist: var "Diese Datenbank hat " t " Saetze" Damit wird ein Text erzeugt und in einen internen Bereich geschrieben. Der Text besteht aus den Wörtern "Diese Datenbank hat " und " Saetze", und dazwischen wird eine Zahl gesetzt, die sich aus dem Buchstaben t ergibt: das Programm weiß, daß mit dem t die Gesamtzahl der Sätze gemeint ist. Wer gute Augen hat, sieht: das t steht nicht innerhalb der Anführungs- zeichen! Und das ist entscheidend! Was zwischen "..." oder '...' steht, wird als normaler Text genommen, alles andere wird auf besondere Weise interpretiert, eben z.B. t als Gesamtzahl der Sätze. Aber wo ist der Text - wie kann man diesen "internen Bereich" sehen? Dafür ist der zweite Befehl gedacht: message Damit wird der interne Text in einer Meldungsbox angezeigt, die man nur mit "Enter" oder [OK] wieder wegbekommt. Wenn Sie nur schnell die Gesamtzahl wissen wollen, können Sie auch eingeben: x var t\mes Dann kommt die nackte Zahl ohne das verbale Drumherum. Oder wenn Sie wissen wollen, wo denn genau die Datenbank eigentlich liegt, dann geben Sie ein: x var D\mes Denn das D steht für den Namen des Datenverzeichnisses. Die Liste aller dieser Sonderbezeichnungen kriegen Sie so: h xcstring Da erfahren Sie also, was mit den Zeichen gemacht wird, die nicht zwischen "..." oder '...' stehen, sondern außerhalb. Und Sie erraten schon: FLEX-Befehle kann man auf bis zu drei Buchstaben kürzen, so z.B. "mes" statt "message". (Nur bei dem sehr gefährlichen Befehl "erase" geht das nicht.) Der Befehl "var" (in Langform: "variable") ist der wichtigste von allen!! Damit kann man sich jede ganz beliebige Zeichenfolge zusammenstellen, um anschließend etwas damit zu machen. Mit h xvar holt man sich die Beschreibung. Mit dem zweitwichtigsten Befehl, "insert" (Kurzform: "ins") kann so eine Zeichenkette dann von dem internen Bereich in eine Kategorie oder in eine dauerhafte Variable kopiert werden. Die namen solcher Variablen beginnen mit #u und darauf folgen zwei beliebige Zeichen (mehr aber nicht), z.B. #uab, #ucD, #uEf, #uK7, #u5T. Und richtig: #uab, #uaB, #uAb oder #uAB sind 4 verschiedene Variablen. Zum Ausprobieren mal eingeben: x var "Unwichtiges Buch"\insert #31\show rec\disp Sie sehen schon, was dann passiert... (Mit Alt+w geht's wieder weg) Her mit der ganzen Befehlsliste? Mit h xa kommt die alphabetische Liste aller Befehle, jeder davon ist anklickbar und man erhält sofort seine genaue Beschreibung. Für den Anfang aber ganz klar besser: v flex eingeben! Das ist eine ViewListe, und darin kann man auch suchen (==> Lektion 8.1). Die Sache mit dem Eingeben von x usw. ist aber nur als Hilfe zum Testen gedacht! Damit kann man jeden Befehl oder eine Folge von mehreren schnell mal ausprobieren. Normalerweise schreibt man eine Folge von Befehlen in eine Datei vom Typ .FLX, jeweils ein Befehl pro Zeile. Viele davon werden mitgeliefert und liegen bei Ihnen auf dem Unterverzeichnis FLEX! Diese FLEXe werden alle automatisch aus Hilfetexten oder ViewListen heraus aktiviert, oder bei bestimmten Vorkommnissen. FLEX-Dateien sind ganz gewöhnliche Textdateien! Bearbeiten kann man sie mit dem X-Editor (Handbuch Anh.D). Wenn z.B. jemand den Drucker-Button drückt, wird der FLEX onprint.flx ausgeführt, wenn der Formulare-Button gedrückt wird, kommt onforms.flx zum Einsatz. Alle mitgelieferten FLEX-Dateien enthalten Kommentare, damit Sie bei Bedarf oder um was zu lernen den Ablauf genau nachvollziehen können. Und wie setzt man eine FLEX-Datei mit der Hand in Betrieb? Ausprobieren: Mit Eingabe von X dbinfo starten Sie den FLEX dbinfo.flx (großes X! Dann weiß a99: das ist eine FLEX-Datei, die muß ich mir zuerst suchen und dann ausführen). Ganz neues Beispiel in V25.5: kalender.flx für den Kalender. Geben Sie ein: X kalender oder z.B: X kalender 200607 (ein Fall für sehr fortgeschrittene FLEXperten). Wo müssen sie liegen, die FLEX-Dateien? Die Reihenfolge ist DbDir ProgDir\FLEX ProgDir Startverz. Wo das Programm sie zuerst findet, da nimmt es sie. Wie kann man einen Hilfetext so präparieren, daß darin anklickbare FLEXe eingebaut sind? Diese sog. "Flips" findet man in fast allen Hilfetexten des Standardpakets. Wie man es selber macht, steht in help.rtf unter dem Titel "RTF-Hilfeseiten". Geben Sie h help Ein schönes Beispiel behandeln wir in Lektion --> 13.4. Wie kann man die acht Flip-Buttons (unter dem Auswahlfeld) mit eigenen FLEXen belegen? Das steht in xflip.rtf (h xflip eingeben) Beispiele dafür: _initial.flx (im FLEX-Verz.) >>> SuperTip: Einfache Beispiele ohne Arbeit ausprobierbar <<< Eine Anzahl von einfachen Beispielen zum sofortigen Ausprobieren gibt es in einer dafür präparierten Datei: h flexw eingeben! Man setzt den Cursor in eine der numerierten Beispielzeilen (nein, in die Zeile direkt unter der Nummer!), dann nur noch Alt+9 drücken, und schon wird die Zeile ausgeführt. Und nun geben Sie h flex ein. Denn da steht eigentlich alles drin... |