Fortbildung: FLEX

Bernhard Eversberg ev at buch.biblio.etc.tu-bs.de
Do Aug 26 10:07:33 CEST 2004


Die zweite Runde der Fortbildung in Potsdam steht bevor und das Thema FLEX dort 
auf der Agenda. Zu diesem einen Bereich, zu den anderen jedoch nicht, schieben 
wir hiermit noch eine Fortbildungs-Mail nach, weil dieses Thema nicht nur die 
PotsdampilgerInnen ansprechen dürfte:
-------------------------------------------------------------------------------

Fortbildungskurs

   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 von Hand durchfü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 ist umfassend und aktuell:   h flex  eingeben.
HeißTip als Alternative:   v flex  eingeben.

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 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 geben:

     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: 

     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.

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. 
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.

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).

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

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!) und dann nur noch  Alt+9  drücken - schon
wird die Zeile ausgeführt.

Und nun geben Sie   h flex   ein. Denn da steht eigentlich alles drin...




Bernhard Eversberg
Universitaetsbibliothek, Postf. 3329, 
D-38023 Braunschweig, Germany
Tel.  +49 531 391-5026 , -5011 , FAX  -5836
e-mail  B.Eversberg at tu-bs.de  




Mehr Informationen über die Mailingliste Allegro