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 

 

 Beispiele 

 

 FLEXe für Systemfunktionen      

 

Für den Einstieg gibt es ein

 Online-FLEX-Lehrbuch 

Und für Fortgeschrittene eine Sammlung von Tricks:

 Schnell mal eben... 

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.

 

So erstellt man FLEXe

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.

 

G.  PV-FLEX

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 .

 

FLEX-Beispiele

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.  

 

 

FLEXe für System-Funktionen

 

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.

 

On-FLEXe

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.