:MP_FuncList() -------------------------------------------------------------------------- Fkt: bietet Liste von Funktionen zur Auswahl an, die als Flex-Datei im DB-Verzeichnis abgelegt sind. In Flex-Dateinamen erlaubte Zeichen: a-z A-Z _ - . IN: iv - [(kürzel)][;(šberschrift)] (kürzel) - Teilstring, der in den Flex-Dateinamen gesucht wird (Überschrift) - wird im Listenkopf angezeigt #u’s wenn besetzt, keine Sofortauslösung von Flexen CHR: ansi DESC: Aufruf über Stack Es werden folgende Szenarien für die Funktionsauswahl unterstützt; A) alle Funktionen, deren Aktivierungsbedingung erfüllt ist, werden angeboten B) alle Funktionen wie A) werden angeboten, die auáerdem im Datei- namen den Teilstring (kürzel) enthalten Der Inhalt der Flexdatei wird zeilenweise ausgewertet, bis eine Leerzeile oder die Zeichenkombination @@ auftritt Es werden alle Zeilen interpretiert, die einen String XXX: enthalten: --------------------------------------------------------------------- XXX: Bedeutung/Syntax --------------------------------------------------------------------- CHR: Char-Set, in dem die Beschreibungen und Texte codiert sind Werte: ansi oder ascii default: ascii FKT: Zeile enthält die Bezeichnung der Funktion so, wie diese in der angebotenen Auswahl angezeigt werden soll REQ: Bedingungen, die für die Aufnahme der Funktion in die Auswahl erfüllt sein müssen. Eine Bedingung kann wie folgt definiert werden: [!]{(feld)[$(teilfeld)][(op)(teilstring)]|(if-bedingung)} (feld) Kategorie oder Variable, z.B: #20, #u11, $xyz (teilfeld) Teilfeldzeichen (op) Operator: = - beginnt mit % - enthält (teilstring) Zeichenkette, die in der Kategorie bzw. in deren Teilfeld gesucht werden soll; darf keine Leer- zeichen enthalten (if-bedingung)unterstützt wird: main, New, hasAuf[@({registernummer}|{register})], hasVol[@({registernummer}|{register})], fe{dir}={Dateiname} {dir} kann sein: P, D, W oder M, oder B - mp_bin-Verzeichnis F - Flex-Verzeichnis H - Help-Verzeichnis L - Html-Verzeichnis ChkReg@{cstring} der mit var in einen Parameter fr MP_ChkReg umgewandelt werden kann Beispiel: ChkReg@#00(e"+") 64 124 "9" 64 "1" ergibt {teil-id aus #00}@|9@1 in cstring dürfen nicht vorkommen: [|;=@ \x09\x0d\x0a] (durch codes ersetzen) EM Ergebnismenge muss vorhanden sein Mehrere Bedingungen werden durch ';' (AND) oder '|' (OR) ge- trennt. Die Funktion wird nur aufgelistet, wenn die definierte(n) Be- dingung(en) durch den aktuell geladenen Satz erfüllt ist/sind. Rang der Operatoren (aufsteigend): |;!=% Leerzeichen sind im Ausdruck nicht erlaubt, Klammerungen werden nicht unterstützt. Beispiele: #9B muá vorhanden sein und mit 0 oder 1 beginnen: REQ: #9B=0|#9B=1 #9B muá vorhanden sein, darf aber nicht mit 2 beginnen: REQ: #9B;!#9B=2 Im Satz solle #00 und #20 oder #00 und #19 enthalten sein REQ: #20;#00|#19;#00 Test auf verknüpft gespeicherten Aufsatz (* in #00): REQ: #00%* Einschr„nkung auf Suchkürzel: Da ohne (kürzel) alle Flexe aktiviert werden, deren Bedingung erfüllt ist, werden u.U. zu viele Funktionen angeboten. Damit ein Funktionsflex nur angeboten wird, wenn ein (kürzel) als Parameter angegeben wurde, kann mittels REQ: #u’p=(kürzel) genauer eingegrenzt werden. Beispiel: REQ: #u’p=new | wahr, wenn als Such(kürzel) | 'new' angegeben wurde Mehrere REQ:-Zeilen werden aneinandergeh„ngt. Folge-Zeilen muessen demzufolge mit "|" oder ";" beginnen. HELP: (rtf-Datei)|(html-Datei) für Anzeige: rtf-Datei (ohne Endung angeben) für janas: html-Datei (mit Endung) Beispiel: HELP: Name.html oder HELP: Name PAR: Parameter, der der Funktions-Flexdatei übergeben werden soll SRT: Wert, nach dem die Eintr„ge der fertigen Liste sortiert werden (0 ... 65535); Fehlt SRT: gilt SRT: 0. MNU: 0 : Kontextmenü verbieten, wenn nur eine Auswahl mgl. 1 : Kontextmenü erzwingen, wenn nur eine Auswahl mgl. (default: wie vorher) ACC: minimaler Berechtigungs-Level Kommentare: Zeilen, die mit "//" beginnen, wirken als Leerzeile und beenden die Auswertung der aktuellen Flexdatei vor a99, V27.2: In Anzeigeparametern muá Abschnitt #-ì (EC hex)enthalten sein, der die Umwandlung der Var. #u’p in Kleinschreibung realisiert: --------- Abschnitt zur Umcodierung, verwendet in ’_FuncList --------------- #-ì !u’p y2 d’p a’p #+# ---------------------------------------------------------------------------- RINC: MP_Stack.flb OUT: (ausgew„hlte Funktion wird ausgeführt) VAR: #u’p - Zwischenspeicher für Parameter (kürzel) $vFlFn - dto. für Flex-Name $vFlSw - dto. für Sortierwert $vFlKi - Zwischenspeicher für notw. Kat-Inhalt $vFlFb - Funktionsbezeichnung aus Flex-Datei $vFLMnu - Menü-Flag (s. MNU:) #u’f - erforderliche Kategorie[Teilfeld] #u’N - Flag fuer Negation #u’m - bergebener Parameter #u’h - Zw.Sp. Hilfezeile #u’t - Zw.Sp. Funktionszeile #u’a - minimale Berechtigungsstufe #u’u - Überschrift über Menü #u’v - minimale a99-Version z u. Z werden ver„ndert $fFound - Flag: mind. eine Datei gefunden $AEFuncList - Liste der Flex-Dateien (Cache) $’FuncList - dto. zur Abarbeitung intern $OnKontext - wird gel”scht, wenn Liste mit ESC verlassen $MenuStack - enthält übergeordn. Menü oder leer (mp-fkt-Parameter) DEBUG:wenn $FuncList_DEBUG besetzt, Herkunft der Menüpunkte im Menü wenn #uDF besetzt, ausführliche Debug-Meldungen :MP_MenuPush IN: kuerzel;Ueberschrift OUT: iv = akt. Menuestack-Inhalt Fkt: legt Men auf Stack VAR: $MP_MenuLast - enthält Kürzel für letztes Menü :MP_MenuShowLast IN: $MenuStack OUT: iv = "", wenn kein Menü in $MenuStack Fkt: ruft letztes Menü, wenn vorhanden VAR: $MP_MenuLAst - enthält Kürzel für letztes Menü DESC: Wenn Eintrag im Menü-Stack, wird letztes Menü gestartet :MP_MenuStackClear l”scht Menü-Stack