Flip-Jobs = Flobs

Bernhard Eversberg EV at buch.biblio.etc.tu-bs.de
Mi Feb 3 11:17:12 CET 1999


ALFA usw. : a99 und alcarta erweiterbar
=======================================

Wie bereits angekuendigt, wurde ueber die ALFA-Frage in allgemeinerer Form
nachgedacht. Jetzt ist das Konzept fertig und wird umgesetzt. Man wird,
das ist der wesentliche Punkt, hinter einem Flip in Zukunft auch eine
Befehlsfolge verstecken koennen. Was fuer Befehle? "avanti"-Befehle! Nicht
alle, aber die sinnvollen, und ein paar, die bei "avanti" nicht sinnvoll
sind. Registerspruenge und Ergebnismengenbildung (find-Befehle) sind ja
eh als Flips schon da, brauchen also in diesem Zusammenhang nicht auch noch
eingebaut zu werden). Summa summarum wird also damit eine Art Makrosprache
geschaffen.

Fuer dieses neue Konzept musste noch ein passender Name her. Diese Huerde
wurde ebenfalls genommen. Bleibt nur noch die Programmierung. Das wird noch
bis morgen brauchen. Als Beispiel wird es dann die Realisierung der ALFA-
Funktionen geben. Das jedoch ist dann nur noch ein ganz kleines Beispiel...


Flip-Jobs = Flobs
-----------------

Ein Flip kann einen Job enthalten. 
Der Fliptext muss mit "x " beginnen, dahinter folgt der eigentliche Job. 
Das Ganze nennt sich kurz "Flob".
Ein Job besteht aus einer Kette von Befehlen (mindestens einer), getrennt
durch das Zeichen '\'.
Der Flob-Text kann auch in einer Datei untergebracht werden. Diese wird
dann mit dem Fliptext "X <Dateiname>" aktiviert.


Es gibt folgende Befehle:

message Text
   Text wird in einer Messagebox angezeigt und 
   muss mit OK bestaetigt werden

yesno Frage
   Wenn die Frage mit Nein beantwortet wird, 
   wird der Job abgebrochen

#xycText
   Die Kategorie #xyzText wird in den aktuellen Satz eingefügt
   Wenn Text leer ist, wird #xyz geloescht.

$a+#xyzText
   Das Teilfeld $a mit Inhalt Text wird an die Kategorie #xyz angehaengt

$a-#xyzText 
   Wenn $a existiert, wird es ersetzt, sonst wird $aText an #xyz angeh.
   Wenn Text leer ist, wird $a aus #xyz beseitigt.

put
   Der aktuelle Satz wird gespeichert

put new
   Der aktuelle Satz wird als neuer Satz gespeichert

erase
   Der aktuelle Satz wird gelöscht

new
   Es wird ein neuer, leerer Datensatz angelegt. Nachfolgend manuelle   
   Eingabe oder #-Befehle

copy 
   Datensatz wird als neue Kopie behandelt. Nachfolgend: #-Befehle,
   dann put.

download
   Aktuellen Satz exportieren (wie ueber Menue Export)

ask |iprompt
   Aufforderung, etwas einzugeben. Die eingegebene Zeichenkette wird in einer
   internen Variablen gespeichert.
   Fuer die Eingabe erscheint ein kleines Dialogfenster mit einer 
   Eingabezeile.
   i = Nummer des Index, der aufgeblaettert wird, wenn man [Index] drueckt
   prompt = Aufforderungstext

form i
   Formular i wird aufgeblaettert (i = 1...)
   (in der Reihenfolge der .FRM-Datei)

ziel #xyz
   Inhalt der internen Var. zu einer Kategorie ergaenzen
   
ziel $a+#xyz
   Teilfeld a mit Inhalt der internen Var. an #xyz ahaengen

ziel $a-#xyz
   Teilfeld a ersetzen, wenn es vorh. ist, sonst anhaengen
   wenn die Variable leer ist: loeschen


Beispiel eines Jobs:

yesno Satz loeschen?\erase
   Wird OK gedrueckt, wird der Satz geloescht


Tip: Die Flobs werden (es sind ja Flips) im Hintergrundspeicher 
untergebracht, unter #uZi. Diese Variablen koennen mit der Hand eingegeben 
und modifiziert werden! Man kann sich also z.B. einen Flob in #uZ1 anlegen. 
Die Flips in #uZ0 bis #uZ9 koennen auch ueber Alt+i ausgeloest werden, d.h. 
es braucht dafuer keine #uYi und keine anklickbare Zeile in der Anzeige zu 
geben. Man gibtalso z.B. im Schreibfeld ein:

  #uZ9x ask |9Name?\ziel #98a\yesno Speichern?\put

dann wird nach einem Namen gefragt (der bei Bedarf im Register 9 gesucht
werden kann) und die Speicherung erfolgt in #98a. Vor dem Abspeichern
wird um Bestaetigung ersucht.
Derselbe Job kann in einer Datei stehen, z.B. FLOB1.TXT:

ask |9Name?
ziel #98a
yesno Speichern?
put

Diese wuerde dann aktiviert, wenn man  #uZ9X FLOB1.TXT
eingibt und dann Alt+9 drueckt.


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