FLEX
Dokumentation der Makrosprache
Tip: Strg+f = Finden, Strg+g = Weitersuchen
FLEX ist eine Skript- oder Makrosprache für das allegro-System. Fast alle Vorgänge, die man mit der Hand auslösen kann, sind auch über einen FLEX-Befehl ausführbar, aber auch noch viele andere.
Die Befehlssprache des avanti -Servers ist weitgehend kompatibel und ist in diese Dokumentation integriert; auf Besonderheiten wird jeweils hingewiesen. (Aber: Nicht das Programm avanti selber führt FLEX-Befehle aus, sondern das Konsolprogramm acon , das vom avanti-Server zu dem Zweck aufgerufen wird. In einer älteren Version war das noch anders.)
Voll-Dokumentation Kurz-Dokumentation
Alphabetisches Gesamtregister Alphabetische Liste der Befehlswörter
Für den Einstieg gibt es ein
Und für Fortgeschrittene eine Sammlung von Tricks:
Das Wichtigste zuerst:
Es gibt eine interne Variable (kurz iV). Das ist eine temporäre Zeichenfolge, die nur so lange besteht, bis sie durch einen weiteren Befehl überschrieben wird. Das geschieht z.B. durch die Befehle ask , message , yesno und ganz besonders variable. Diese vier sollte man zuerst lernen (der vierte ist der wichtigste!) und dabei die Methode, wie man mit der iV umgeht. Dazu wird eine Anzahl von ganz einfachen Beispielen bereitgestellt, die man bequem sofort ausprobieren kann.
Die iV hat und braucht keinen Namen, das vereinfacht einiges.
Man verwendet die interne Variable in der Regel sofort z.B. in einem insert-Befehl, z.B. insert #98 , um die iV in die Kategorie #98 zu kopieren.
Der zweitwichtigste Befehl ist insert . Will man einen momentanen iV-Inhalt länger aufbewahren, dann kopiert man ihn mit insert #uxy in eine Uservariable #uxy. Und mit var #uxy von dort später wieder zurück in die iV zu weiterer Verwendung.
Viele der FLEX-Befehle nutzen automatisch den Inhalt der iV, wenn nichts anderes angegeben ist, z.B. find oder open und viele andere.
Außerdem gibt es eine interne Zahlenvariable (kurz iZ), die für Berechnungen verwendet werden kann.
NEU ab V25.6: Freie Variablen . Auch dieser werden mit insert belegt. Im Gegensatz zu den Uservariablen sind sie aber nicht in den Exportparametern verwendbar.
Nur die Kurzformen sind "amtlich"
Alle Befehlswörter außer erase kann man bis auf die ersten drei Buchstaben kürzen. Der Rest des Befehlswortes darf sogar anders lauten, nur die ersten drei Zeichen sind signifikant. Z.B. ist keychk statt keycheck möglich, aber auch key klappt. Anders gesagt: Nur die dreibuchstabigen Formen (sog. "Trigramme" oder "Triliterale") sind die offiziellen Befehle, der Rest ist optional, ist Konzession an Verständlichkeit und Lesbarkeit, wird vom Programm aber ignoriert.
Tip: Immer ein Fenster mit der Demo-Datenbank zusätzlich öffnen. In diesem Fenster kann man dauernd die FLEX-Dokumentation geöffnet haben. Im Schreibfeld h xa eingeben, dann kommt die Liste aller Befehle. Jeden kann man anklicken, um seine Beschreibung zu erhalten.
Ein FLEX-Makro ist eine Befehlsfolge und wird kurz FLEX genannt, der FLEX (nicht die oder das). Wenn eine solche Befehlsfolge dauerhaft aufbewahrt werden soll, speichert man sie in einer Datei vom Typ .flx (siehe unten D.)
A. Einen FLEX von Hand eingeben
(erfordert mindestens Berechtigung access=4 in der INI-Datei )
Der einfachste Weg, einen FLEX einzugeben und sofort auszuführen, ist die unmittelbare Eingabe im Schreibfeld. Man muß "x " vorweg setzen und die einzelnen Befehle mit \ trennen.
Oder: ein großes "X " vorweg setzen und den Namen einer FLEX-Datei dahinter (siehe D).
Beispiel: Geben Sie im Schreibfeld ein (und dann Enter)
x ask Ihr Name bitte\message
oder x var "Die Datenbank liegt auf: " D\mes
In der Praxis ist das nur in wenigen Fällen sinnvoll, sehr wohl aber zum Lernen und Testen, weil man so am schnellsten etwas ausprobieren kann.
Der zweit-einfachste Weg, einen FLEX zu erstellen und auszuführen ist folgender; er wird dann aber auch für mehrfache Verwendung gespeichert:
1. Befehlsfolge im Schreibfeld eingeben, vorn am Anfang #uXi mit einer Ziffer i=0, 1, ... 9
Beispiel: man gibt im Schreibfeld ein
#uX9 x message Index 1 wird gezeigt\index |1 shakesp
Enter drücken. Der FLEX wird in Variable #uX9 gespeichert
2. Ausführen: Alt+Ziffer (Alt+9 für das Beispiel, um #uX9 zu aktivieren)
3. Ändern: Alt+r um den Reservespeicher zu sehen, Zeile #uX9 auswählen, dann [Enter]; Befehle ändern, nochmals [Enter] zum Zurückspeichern.
Auf diese Weise kann man sich bis zu 10 FLEX-Makros einrichten. Sie werden dann zusammen mit den Phrasen abgespeichert (Datei phrase.a99) und bleiben somit für nachfolgende Sitzungen erhalten. Die Makros 1 bis 8 liegen dann auf den Flip-Buttons links vom Schreibfeld! Deren Beschriftung kann man mit dem Befehl flip ändern. Um z.B. auf den Button 8 die Beschriftung "Sonder" anzubringen, gibt man ein: flip 8&8 Sonder (Die Angabe &8 bewirkt, daß auf dem Button eine unterstrichene 8 erscheint, und nur dann kann er mit Alt+8 ausgelöst werden.
Nur die FLEXe in den Variablen #uXi kann man mit der Alt-Taste auslösen, sie haben also eine Sonderstellung. Auf andere Weise kann aber auch die Strg-Taste beim FLEXen helfen, siehe C.
Noch ein Beispiel. Geben Sie ein: #uX0 set d
Von da an können Sie mit Alt+0 das Anzeigefeld zwischen groß und normal schalten. (Kann man mit F11 aber sowieso).
B. Einbettung in Hilfedateien oder Anzeigeparameter
Andere Wege, FLEXe bereitzustellen, sind das Einbetten in Hilfedateien oder in die Anzeigeparameter. Das jedoch sind Aufgaben für den Allegrologen. Im Gesamtpaket sind viele vorbereitete Hilfedateien wie z.B. doku.rtf oder catger.rtf, die man als Muster heranziehen kann.
Beispiel: Geben Sie im Schreibfeld ein: h alf.rtf (statt nur h alf), dann sehen Sie auch die eingebetteten FLEXe (die Zeilen am Ende, die mit '?' anfangen).
Sie erkennen, daß die Flip-Texte immer vorn und hinten durch einen "accent grave" begrenzt sind, und daß in den Zeilen unten, die mit ? beginnen, immer genau der Fliptext wiederholt wird und dann mit = der FLEX-Befehl angeschlossen ist. Das Zeichen \ ist in den Flip-Zeilen meistens durch ersetzt. Hier wirkt er als Befehlstrenner.
C. FLEXe im Phrasenspeicher
Zum Dritten kann man FLEXe im Phrasenspeicher unterbringen! Wird dann die Phrase angefordert, wird statt dessen der FLEX ausgeführt.
Beispiele: wenn in der Datei PHRASE.A99 steht:
6 (steht für Strg+f)
x var #uSW(1,0)\ins #uSW\var "="\ask +Suchwort?=#uSW\help\ins #uSW
7 (steht für Strg+g)
x var ">" #uSW(1,0)\ins #uSW\help
Dann wird mit Strg+f die Phrase 6 und mit Strg+g die Phrase 7 ausgeführt. Und zwar braucht dabei der Cursor nicht im Schreibfeld zu sein, das klappt auch, wenn er woanders ist.
Aber Achtung: die Werte 8,9,10,13,27 dürfen nicht belegt werden, das sind die Funktionen "Backspace", "TAB", "Enter", "Return" und "Esc". Einige Werte sind in der mitgelieferten PHRASE.A99 durch Sonderbuchstaben belegt, z.B. Strg+p = ç. Noch nicht belegt: 2 5 15 17 23 25 ( Strg+b e o q w y)
Wenn man aber dennoch Phrase 9 belegt, würde man diesen FLEX auch mit der TAB-Taste auslösen!
Phrasen können statt mit der Hand oder durch Eintragung in die Datei PHRASE.A99 auch aus einem FLEX heraus mit dem FLEX-Befehl phrase belegt werden (s.u.)
D. FLEX-Dateien
Eine FLEX-Befehlsfolge kann in einer Datei stehen, diese sollte dann den Typ .flx haben. Für avanti/acon ist .job üblich.
Jeder Befehl muß auf einer neuen Zeile ganz vorn beginnen.
Besonderheit: Zeilen, die mit Leerzeichen beginnen, gelten in a99 nicht, in acon aber doch.
Auf einen if-Befehl können mehrere Befehle auf derselben Zeile folgen, die dann mit ; zu trennen sind.
Eine solche Datei wird aufgerufen, wenn man z.B. die Flip-Variable #uXi bzw. #uZi mit X statt mit x beginnen läßt,
Beispiel: #uX1X o-bestel.flx. Mit Alt+1 wird dann o-bestel.flx ausgelöst.
FLEX-Dateien können auch von außen aktiviert werden (Hilfsprogramm FLEX.EXE), dann spricht man von einem ExFLEX. Mehr dazu unter H. und activate .
Von Hand startet man eine FLEX-Datei name.flx, indem man im Schreibfeld eingibt X name . Probieren Sie es mal mit Eingabe von X euro oder X cockpit oder X dbinfo .
FLEX-Dateien können im Datenverzeichnis liegen, im Programmverzeichnis oder auch im Arbeitsverzeichnis des Nutzers. Zusätzlich gibt es die Möglichkeit, an das Programmverzeichnis ein Unterverzeichnis FLEX anzuhängen und dort FLEX-Dateien zu lagern. Bei der Installation werden dort die Standard-FLEXe der Auslieferung abgelegt.
Die Suchreihenfolge für FLEXe ist: DbDir / ProgDir\FLEX / ProgDir / Lokal
Ein besonderer FLEX ist der MyFlex, den man in der INI-Datei einrichten kann. Wenn dort steht:
MyMenu=Sonderfunktion
MyFlex=X meinflex.flx
Dann erscheint oben im Menü vor dem Punkt "Löschen" der eigene Punkt "Sonderfunktion", und er bewirkt die Auslösung des meinflex.flx.
Eine Befehlsdatei für das Konsolprogramm acon wird Jobdatei genannt und sollte die Namensendung .job erhalten. Man läßt eine solche Datei name.job ausführen, indem man z.B. in einem DOS-Fenster eingibt:
acon -jname .
E. AutoFLEXe
Eine Sonderstellung haben die Variablen #uX:, #uX; und #uX= . Wenn man sie aus den Anzeigeparametern heraus mit einem FLEX belegt, wird dieser sofort nach Fertigstellung der Anzeige ausgeführt. Im Falle von #uX: nur dann, wenn gerade kein Index- und kein Ergebnisfenster geöffnet ist, im Falle #uX; aber ohne Einschränkung sofort. #uX= dagegen wird vor dem Ausführen der Anzeigeparameter abgearbeitet; der Satz ist in dem Moment schon im Arbeitsspeicher. Man belegt es sinnvollerweise im _START.FLX.
Die Variablen #uX: und #uX; werden übrigens nach Ausführung sofort gelöscht, #uX= dagegen nicht.
F. SonderFLEXe für Start und Ende der Sitzung
Zwei FLEXe nehmen eine Sonderstellung ein, wenn sie existieren: _start.flx und _endflx.flx. Sie werden direkt nach dem Start bzw. unmittelbar vor Ende der Sitzung ausgeführt.
_start.flx kann man nutzen, um sofort bestimmte Vorbesetzungen von #u-Variablen, Flip-Buttons oder Phrasen vorzunehmen. In der INI-Datei kann man mit dem Befehl StartFLEX= auch mehrere, durch ; getrennte FLEX-Dateinamen angeben, diese FLEXe werden dann beim Start nacheinander abgearbeitet.
Das Einrichten von Programmierten Validierungen ist nicht jedermanns Sache, muß man doch dafür die Exportsprache meistern.
Deshalb gibt es, zumindest für den wichtigen Punkt direkt vor dem Speichern des Datensatzes, den PV-FLEX. Ist ein solcher vorhanden, wird er bei Druck auf [Speichern] ausgeführt. Das eigentliche Speichern muß dann in Form eines "put" in den FLEX eingebaut sein. Ansonsten kann man im PV-FLEX jede erdenkliche Aktion durchführen, um den aktuellen Satz vor dem Speichern zu prüfen und zu behandeln.
Der Name der PV-FLEX-Datei ist beliebig. Als Standort kommen die für FLEXe insgesamt möglichen Verzeichnisse in Frage, je nach Gutdünken.
Und so wird der PV-FLEX aktiviert: in der INI-Datei gibt es den Befehl SaveAsk=0/1, wo die Werte "0" (nicht fragen) bzw. "1" (immer fragen) möglich sind. Außer diesen Werten kann man aber auch schreiben:
SaveAsk=X pruef
wenn pruef.flx der Name der PV-FLEX-Datei ist, oder auch
SaveAsk=x FLEX-Befehlsfolge
wenn es sich um eine kurze Befehlsfolge handelt (bis 127 Zeichen).
Es muß also "X " bzw. "x " auf SaveAsk= folgen, wenn ein PV-FLEX ausgeführt werden soll!
Weil aus einem FLEX heraus auch externe Programme gestartet werden können, ist es ganz klar, daß diese erweiterte PV-Möglichkeit äußerst mächtig ist.
Im Vergleich mit relationalen Datenbanken kommt diese Methode dem sog. "Trigger"-Konzept gleich. Dieses ermöglicht bei RDBMS, daß die Datenbank bei jeder Veränderung gewisse Bedingungen prüft und dann in bestimmten Fällen programmierte Aktionen durchführt.
H. ExFLEXe : Aufträge von außen
Einem laufenden a99 oder alcarta kann auch von außen ein FLEX-Auftrag erteilt werden! Einen solchen nennt man ExFLEX. Er besteht aus einer normalen FLEX-Datei, und das Senden derselben an a99 besorgt ein Hilfsprogramm namens FLEX.EXE. Ist check.flx der auszuführende FLEX, dann gibt man im DOS-Fenster den Befehl
flex check
und a99 führt dann check.flx aus.
Mehr dazu in einem eigenen Text .
In einer eigenen Datei findet man eine Reihe von einfachen Beispielen zum sofortigen Ausprobieren.
Nach einer Standard-Installation hat man die Verzeichnisse c:\allegro\FLEX und c:\allegro\HELP. Darauf findet man zahlreiche Beispiele, die für bestimmte Aufgaben mitgeliefert werden. An der Datei super.rtf kann man beginnen, die Zusammenhänge kennenzulernen: Man gibt im Schreibfeld ein
h super.rtf , dann sieht man das Supervisor-Menü und darunter die Aufrufe der eingebetteten FLEXe bzw. weiteren Hilfedateien. So kann man auch bei den anderen Hilfedateien vorgehen, z.B.
h adm.rtf eingeben, dann sieht man, welche FLEXe jeweils dahinter stecken.
Die mitgelieferten FLEX-Dateien liegen alle auf c:\allegro\FLEX.
Deshalb folgen hier nur wenige weitere Beispiele als Muster für eigene Aktionen.
Wichtig:
Eingerückte Zeilen gelten als Kommentare und werden vom System nicht beachtet! Zur Verdeutlichung erscheinen die wirksamen Zeilen in Fettschrift. (In einer FLEX-Datei ist eine solche Hervorhebung nicht möglich.)
Beispiel 1 : Ergebnismenge durcharbeiten
Aufgabe : Man hat eine Ergebnismenge und möchte in jedem Satz das Feld #31 bearbeiten.
Den ersten Satz der Erg.Menge holen
first
:anfang
Kategorie #31 zum Bearbeiten vorlegen
ask bitte bearbeiten (Esc : Schleife abbrechen)=#31
Wenn man mit Esc beendet hat, Bearbeitung beenden
if cancel end
Sonst den bearb. Text wieder in #31 kopieren
insert #31
und den Satz dann (mit Nachfrage) wieder speichern
Put
Nächsten Satz holen
next
Wenn's noch einen gibt, dann zurück zum Anfang der Schleife
if yes jump anfang
Man kann auch die gesamte Datenbank durcharbeiten lassen. Rezept dazu in einem anderen Hilfetext .
Beispiel 2 : Teil-Automatisierung einer Bearbeitung
Die Aufgabe ist folgende: Man hat eine Menge Datensätze zu bearbeiten, die man jeweils über die Inventarnummer aufruft, dann eine bestimmte Kategorie hinzufügt oder ändert und den Satz dann wieder abspeichert - manchmal aber auch nicht.
Annahme: es gibt ein Register INV im Index 9 mit der Inventarnummer.
Dazu eignet sich ein FLEX nach diesem Muster:
Inventarnummer abfragen (Vorgabe: Inhalt von #uib) Index 9 bei Druck auf [Index]
:anfang
ask |9Inventarnummer=#uib
Ist die Eingabe leer? Dann Abfrage wiederholen
if "" jump anfang
Wurde [Esc] gedrückt? Dann Ende
if cancel end
Eingegebene Nummer wieder in #uib kopieren:
insert #uib
Text der internen Variablen zusammensetzen aus "inv " und #uib
var "inv " #uib
und als find-Befehl ausführen (d.h. "find inv ...")
find
Kategorie #xyz mit Inhalt Text einfügen in den geladenen Satz
#xyz Text
den so veränderten Satz anzeigen
disp
sho rec
Fragen, ob er gespeichert werden soll
yesno Speichern?
und Speicherung ausführen, wenn Antwort "OK"
if yes put
Statt der beiden letzten Befehle kann man auch Put setzen, dann kommt ebenfalls die Aufforderung zur Bestätigung
Beispiel 3 : Eingabe-Unterstützung
Neue Datensätze sollen immer schon mit einer Anzahl fester Kategorien vorbesetzt werden. Statt über die Formulartechnik kann man auch einen FLEX anlegen, indem man im Schreibfeld eingibt:
#uX3x new\#nn1 Text1\#nn2 Text2\#nn3 Text3\trans #nn4\form 2
Dadurch wird zuerst ein neuer (leerer) Satz angelegt, dieser mit drei vorbereiteten Kategorien belegt, Kategorie #nn4 wird aus dem Hintergrundspeicher übernommen, dann Formular 2 aktiviert für die weitere Eingabe. Mit Alt+3 aktiviert man diesen FLEX. Man sieht leicht, wie man dieses Beispiel ausbauen kann.
Man kann mehrere solche FLEXe für unterschiedliche Satztypen anlegen.
Beispiel 4 : Export der aktuellen Ergebnismenge
Aufgabe: Es soll mit Hilfe von P-W.APR (Ausgabe im RTF-Textformat) die Ergebnismenge in die Datei LISTE.RTF geschrieben werden, wobei die Hilfsdatei LONGHEAD.RTF vorangestellt und am Ende noch als Abschluß die Zeichen }}} anzufügen sind.
Dateinamen für den Export setzen
export f liste.rtf
Dateikopf zuerst ausgeben
write Flonghead.rtf
Parameter laden
export p p-w
Ergebnismenge ausgeben
export set
Abschlußzeichen:
write "}}}"
Jetzt kann die fertige Datei sofort von WinWord aus eingelesen werden.
Es gibt eine Anzahl von FLEXen, die automatisch vom System in bestimmten Fällen aufgerufen werden. Dadurch wird mehr FLEXibilität gewonnen. Keiner von diesen muß unbedingt vorhanden sein! Wenn einer fehlt, fehlt eben dessen Funktion. Änderungen an diesen FLEXen erfordern besondere Umsicht, das ist klar. Alle diese FLEXe enthalten Kommentare zu ihrer Wirkungsweise.
Folgende SystemFLEXe gibt es: (Die Namen beginnen alle mit _ )
_door.flx
Wird durch den Button mit der Tür aktiviert. Startet standardmäßig DOOR.BAT und setzt die dazu nötigen Optionen.
_rs.flx
Wird in A99 vom Menue "Datei | DOS-Programm" aktiviert
Ruft standardmäßig PRESTO auf, und zwar mit denselben Randbedingungen wie das gerade aktive A99.
_as.flx
Wird in ALCARTA vom Menue "Datei | DOS-Programm" aktiviert
Ruft APAC auf, und zwar mit denselben Randbedingungen wie das gerade laufende ALCARTA
_otherdb.flx
Wird in A99 vom Menue "Datei | Weitere Datenbank" aktiviert
_new.flx
Sehr spezieller Fall: Wird automatisch gestartet, wenn bei noch leerer Datenbank [Index] gedrückt wird. Startet dann die Erfassung des ersten Datensatzes.
_newdb.flx
Wird gestartet aus NEWDB.RTF heraus, nachdem man eine neue Datenbank anlegen will und eine Struktur gewählt hat. (Menüpunkt NEWDB auf dem Menue SUPER.RTF)
_initial.flx
Nur beim ersten Start einer noch leeren Datenbank: zur Belegung der Flip-Buttons.
_psw.flx
Wird unmittelbar nach Programmstart und vor dem ersten Zugriff ausgelöst. Dies ist der Ort für eine Paßwort-Abfrage . Normalerweise hat man keinen _psw.flx. Der mitgelieferte password.flx kann umbenannt werden in _psw.flx, damit erreicht man, daß eine Paßwort-Abfrage erfolgt.
_start.flx
Wird unmittelbar nach Programmstart und nach _psw.flx ausgelöst. Geeigneter Ort, um die Flip-Buttons zu belegen.
_endflx.flx
Wird unmittelbar vor dem Schließen der Datenbank ausgelöst. Hier können noch datenbankspezifische Prüfungen eingebaut werden. Wenn dieser FLEX das Wort "no" in die iV schreibt, wird das Beenden des Programms unterbunden. Schreibt man andererseits STOP hinein, kann man die Nachfrage unterbinden, ob das Programm wirklich beendet werden soll.
Folgende FLEXe werden, wenn sie existieren, bei Betätigung bestimmter Buttons oder Funktionen ausgelöst:
(Ist einer dieser FLEXe nicht vorhanden, wird eine Default-Aktion ausgelöst, anders als bei den SystemFLEXen!)
Nicht für alle dieser Fälle wird deshalb ein FLEX mitgeliefert, z.B. nicht für onfind.flx.
oninput.flx
Wird beim Druck auf den Button [Neusatz] = F9 ausgeführt. Darin muß dann new oder copy vorkommen, wenn eine Eingabe gewünscht wird.
oncopy.flx
Wird beim Anlegen eines neuen Datensatzes ausgeführt, wenn dieser als Kopie eines anderen angelegt wird und oninput.flx nicht existiert.
onnew.flx
Wird beim Anlegen eines neuen Datensatzes ausgeführt, wenn oninput.flx nicht existiert:
onforms.flx
Wird beim Druck auf den Button [Form.# ] ausgeführt. Darin muß dann form i vorkommen, wenn ein Formular gewünscht wird. In diesem FLEX kann man es einrichten, daß ein Formular aufgemacht wird, das zum aktuellen Satz paßt!
ondfile.flx
Wird bei dem Menüpunkt "Datei / Anzeige speichern als..." ausgeführt
Muß den Befehl file enthalten, wenn gespeichert werden soll. Wenn dieser FLEX fehlt, wird die normale Funktion ausgeführt.
onput.flx
Wird bei Druck auf den [Speichern]-Button ausgeführt, aber nur, wenn in der INI-Datei der Wert saveask=2 gesetzt ist.
Muß den Befehl put enthalten, wenn gespeichert werden soll. Um zu checken, ob das Speichern funktioniert hat, sollte man auch einen Befehl if no ... ergänzen.
onerase.flx
Wird bei Betätigung der "Löschen"-Funktion ausgeführt.
Löschen verhindern:
Wenn dieser FLEX das Wort "NO" in die iV schreibt, wird das Löschen nicht ausgeführt.
onerror.flx
Wird ausgelöst, wenn im Schreibfeld etwas eingegeben wird, was kein Befehl und keine Kategorie ist. (Wenn onerror.flx nicht existiert: Meldung "falsche Eingabe")
Der Inhalt des Schreibfeldes steht dann in der iV. Wenn a99/alcarta nach Ende des onerror.flx keine weiteren Aktionen ausführen soll, muß vor Beendigung des Flexes die iv gelöscht werden.
onexprec.flx
onexpset.flx
Wenn diese FLEXe existieren, wird beim Menuepunkt "Export | Aktueller Satz" bzw. bei
"Export | Aktuelle Erg.Menge" dieser FLEX ausgeführt. Darin muß dann, wenn wirklich exportiert werden soll, der Befehl exp bzw. exp set stehen.
Existieren diese FLEXe nicht, wird normal exportiert.
onxportf.flx
onxportp.flx
Wenn diese FLEXe existieren, wird beim Menuepunkt "Export | Andere Exportdatei" bzw. bei
"Export | Andere Exportparameter" dieser FLEX ausgeführt.
Existieren diese FLEXe nicht, wird a99 die Normalfunktion ausführen, alcarta aber nichts machen.
onviewrs.flx
Auslösung bei "Ansicht / Aktuelle Erg.menge". Default: Anzeige mit Printparameter
onextern.flx
Wird ausgelöst, wenn Alt+t gedrückt wird. Fehlt er, wird die bisherige Funktion des externen Editierens ausgeführt. Man könnte z.B. den notepad.flx auf diesen Namen umkopieren.
onglobal.flx
Wird ausgelöst, wenn einer der drei Punkte des Menüs "Global" ausgelöst wird. In der iV steht dann eine Ziffer, und zwar 1 für Ersetzung, 2 für Manipulation und 3 für Löschung. Nur wenn diese Ziffer dann wieder zurückgegeben wird, erfolgt die Ausführung der Aktion. D.h. man kann noch eigene Aktionen davorschalten.
onhlpa99.flx
Wenn der Menüpunkt "Füllhorn" ausgelöst wird in a99 (Default: h doku)
onhlpalc.flx
bzw. in alcarta. (Default: h alcm)
onfind.flx
Wenn der Find-Button (Fernglas) gedrückt wurde. Wenn das Find-Menü dann wirklich erscheinen soll, kann der Befehl
button f eingebaut werden.
(Default: Find-Menü)
onfnda99.flx
Wenn in der Suchbefehlszeile kein ausführbarer Befehl eingegeben wurde.
(Default: Indexanzeige) Tip: Automatisch steht in #ux0 der Eingabetext!
Man kann sich mit diesem FLEX neue Kommandozeilen-Befehle einrichten!
onfndalc.flx
bzw. dasselbe in alcarta.
onlist.flx (ab V28)
Kontextmenü (rechte Maustaste) für das Listenfeld auf der linken Seite: Umschalten zw. den div. Inhalten
onoffl.flx (ab V25.2)
Menüpunkt "Datei / Weitere Offline-Datei laden" . Wenn dieser FLEX nicht existiert, wird die bisherige Funktion ausgeführt: Offline-Datei auswählen und laden.
onprint.flx
Wird ausgelöst, wenn der Printer-Button betätigt wird. Wenn wirklich gedruckt werden soll, muß dann innerhalb des FLEXes der Befehl print vorkommen, der den Inhalt des Anzeigefeldes ausdruckt.
onprop.flx
Wird ausgelöst, wenn auf dem Kontextmenü (rechte Maustaste) des Anzeigefelds der Punkt "Eigenschaften" gewählt wird. Wenn nicht vorhanden, passiert dann gar nichts.
onlist.flx
Wird ausgelöst, wenn die rechte Maustaste auf dem Auswahlfeld gedrückt wird.
Wenn nicht vorhanden, wird F11 aktiviert.
onf2.flx onf3.flx onf4.flx
Wird bei Druck auf F2, F3 bzw. F4 ausgelöst.
Für F2 wird onf2.flx mitgeliefert und bewirkt, daß die Schreibmarke und der Focus in das Anzeigefeld gesetzt wird. F3 und F4 sind frei, d.h. onf3.flx und onf4.flx werden nicht mitgeliefert.
onf8.flx
Wird bei Druck auf F8 ausgelöst.
Wenn nicht vorhanden: Hintergrundspeicher -> Anzeige (= display reserve)
onf11.flx
Wird bei Druck auf F11 ausgelöst.
Wenn nicht vorhanden: Anzeige umschalten breit<->schmal (= set d)
onf12.flx
Wird bei Druck auf F12 ausgelöst.
Wenn nicht vorhanden: Hilfeseite Tastenbelegung HE_SP (= h he_sp)
onflips.flx
Wird bei rechtem Mausklick auf einen der Flip-Buttons ausgelöst.
Als Argument wird die Nummer des Buttons uebergeben, also z.B. 5, wenn es Button 5 ist (als hätte man X onflips 5 eingegeben).
Fehlt dieser FLEX, liefert die rechte Maustaste ein Auswahlmenue, in dem schlicht die Beschriftungen der Flip-Buttons stehen und der jeweils ausgewählte dann ausgeführt wird.