#block##pageblock# #pagenr("%",1)##setcount(1)##count per page# #headeven# gs-Menu-Generator #center#____________________________________________________________ #end# #headodd# #right#gs-Menu-Generator #center#____________________________________________________________ #end# #bottomeven# #center#____________________________________________________________ 8 - % #right#ERGOS #end# #bottomodd# #center#____________________________________________________________ ERGOS #right# 8 - % #end# #ib#8  Kurzbeschreibung der Befehle #ie# Durch #u#(*)#e# gekennzeichnete Prozeduren stehen (zumindest in der hier dokumentier­ ten Form) erst ab gs-DIALOG Version 1.1 zur Verfügung! #ib#activate#ie# PROC activate (TEXT CONST punktname): Zweck: Mit der Prozedur kann ein (deaktivierter) Menupunkt im aktuellen Pull-Down-Menu aktiviert, d.h. zur Ausführung freigegeben werden. Das '-'-Zeichen vor der Punktbezeichnung verschwindet auf dem Bildschirm, statt dessen erscheint das Zeichen, über den die Menufunktion direkt aktivierbar ist. 'punktname' muß eine Punktbezeichnung sein, die genau in der angegebenen Schreibweise im aktuellen Pull-Down-Menu vorhan­ den ist (über den 2. Parameter der Prozedur 'menufunktion' in die Menukarte eingetragen wurde) - ansonsten wird diese Anweisung igno­ riert. Die Prozedur "zeigt nur dann Wirkung", wenn sie aus einer Verar­ beitungsfunktion des aktuell entfalteten Pull-Down-Menus heraus oder durch die "Startprozedur"/"Leaveprozedur" des aktuellen Pull-Down- Menus (sehen Sie auch 'oberbegriff') aufgerufen wird. Die Veränderung wird nicht sofort auf dem Bildschirm angezeigt, sondern erst, wenn das Pull-Down-Menu das nächste Mal vom System regeneriert wird; ansonsten muß das Kommando 'refresh submenu' gegeben werden. PROC activate (INT CONST punktposition):#u#(*)#e# Zweck: arbeitet wie obiges 'activate', allerdings werden die Menupunkte nicht über ihre Bezeichnung, sondern über ihre Position im (aktuellen) Pull- Down-Menu identifiziert. Die Positionen sind von oben nach unten durch­ numeriert. Beachten Sie, daß Trennlinien eine Position belegen und mitgezählt werden. Die Prozedur arbeitet schneller als obige! #ib#anwendungstext#ie# TEXT PROC anwendungstext (INT CONST zeilennummer): Zweck: Mit diesem Befehl können Texte angesprochen (geholt) werden, die in die Menukarte ausgelagert wurden. Es wird der Text aus der angekoppelten Menukarte geliefert, der bei der "Einlagerung" in der Zeile 'zeilen­ nummer' stand. Fehler: Kein Text vorhanden! (In der angekoppelten Menukarte ist unter der 'zeilennummer' kein Anwendungstext eingetragen.) Bitte achten Sie auf folgendes: Wenn Sie eine neue Menukarte generiert haben, muß diese erst an die aktuelle Task gekoppelt werden, bevor Sie auf die dort eingetragenen (Anwendungs-)Texte zugreifen können (z.B. mit 'testinstallation'). #ib#areax#ie# INT PROC areax (WINDOW VAR w) Zweck: Liefert den Wert 'x' des Fensters w. #ib#areaxsize#ie# INT PROC areaxsize (WINDOW VAR w) Zweck: Liefert den den Wert 'xsize' des Fensters w. #ib#areay#ie# INT PROC areay (WINDOW VAR w) Zweck: Liefert den den Wert 'y' des Fensters w. #ib#areaysize#ie# INT PROC areaysize (WINDOW VAR w) Zweck: Liefert den den Wert 'ysize' des Fensters w. #ib#balken links#ie# TEXT PROC balken links: Zweck: Liefert das Zeichen, das bei der Darstellung der "Kästen" als "linker Balken" (̄) ausgegeben wird. PROC balken links (TEXT CONST zeichen): Zweck: Durch diese Prozedur kann das Zeichen festgelegt werden, das bei Dar­ stellung der "Kästen" als "linker Balken" ausgegeben werden soll. #ib#balken oben#ie# TEXT PROC balken oben: Zweck: Liefert das Zeichen, das bei der Darstellung der "Kästen" als "oberer Balken" (�) ausgegeben wird. PROC balken oben (TEXT CONST zeichen): Zweck: Durch diese Prozedur kann das Zeichen festgelegt werden, das bei Dar­ stellung der "Kästen" als "oberer Balken" ausgegeben werden soll. #ib#balken rechts#ie# TEXT PROC balken rechts: Zweck: Liefert das Zeichen, das bei der Darstellung der "Kästen" als "rechter Balken" (̃) ausgegeben wird. PROC balken rechts (TEXT CONST zeichen): Zweck: Durch diese Prozedur kann das Zeichen festgelegt werden, das bei Dar­ stellung der "Kästen" als "rechter Balken" ausgegeben werden soll. #ib#balken unten#ie# TEXT PROC balken unten: Zweck: Liefert das Zeichen, das bei der Darstellung der "Kästen" als "unterer Balken" (̂) ausgegeben wird. PROC balken unten (TEXT CONST zeichen): Zweck: Durch diese Prozedur kann das Zeichen festgelegt werden, das bei Dar­ stellung der "Kästen" als "unterer Balken" ausgegeben werden soll. #ib#boxalternative#ie# INT PROC boxalternative (WINDOW VAR w, TEXT CONST infotext, auswahlliste, zusatztasten, INT CONST position, BOOL CONST mit abbruch): Zweck: Vergl. 'menualternative'. Hier wird nur zusätzlich das Fenster festgelegt, das bei 'menualternative' automatisch gesetzt wird. Der 'infotext' muß den gs-DIALOG-Syntax-Regel gehorchen! Die 'auswahlliste' muß nach festen Regeln erstellt werden (sehen Sie Kap. 5.7) #ib#boxanswer#ie# TEXT PROC boxanswer (WINDOW VAR w, TEXT CONST infotext, vorgabe, INT CONST  position): Zweck: Vergl. 'menuanswer'. Hier wird nur zusätzlich das Fenster festgelegt, das bei 'menuanswer' automatisch gesetzt wird. Der 'infotext' muß den gs-DIALOG-Syntax-Regel gehorchen! #ib#boxanswerone#ie# TEXT PROC boxanswerone (WINDOW VAR w, TEXT CONST infotext, vorgabe, THESAURUS CONST thes, TEXT CONST ueberschrift, hinweis, BOOL CONST mit reinigung): Zweck: Vergl. 'menuanswerone'. Hier wird nur zusätzlich das Fenster festgelegt, das bei 'menuanswerone' automatisch gesetzt wird. Fehler: Fenster für Auswahl zu klein (x < 56, y < 15) #ib#boxanswersome#ie# THESAURUS PROC boxanswersome (WINDOW VAR w, TEXT CONST infotext, vorgabe, THESAURUS CONST thes, TEXT CONST ueberschrift, hinweis, BOOL CONST mit reinigung): Zweck: Vergl. 'menuanswersome'. Hier wird nur zusätzlich das Fenster festgelegt, das bei 'menuanswersome' automatisch gesetzt wird. Fehler: Fenster für Auswahl zu klein (x < 56, y < 15) #ib#boxinfo#ie# PROC boxinfo (WINDOW VAR w, TEXT CONST infotext, INT CONST position, timelimit): Zweck: Vergl. 'menuinfo'. Hier wird nur zusätzlich das Fenster festgelegt, das bei 'menuinfo' automatisch gesetzt wird. Der 'infotext' muß den gs-DIALOG- Syntax-Regel gehorchen! PROC boxinfo (WINDOW VAR w, TEXT CONST infotext): wirkt wie: boxinfo (w, infotext, 5, maxint) #ib#boxno#ie# BOOL PROC boxno (WINDOW VAR w, TEXT CONST frage, INT CONST  position): wirkt wie: NOT boxyes (w, frage, position) #ib#boxnotice#ie# PROC boxnotice (WINDOW VAR w, TEXT CONST infotext, INT CONST  position INT VAR x, y, xsize, ysize): Zweck: Mit 'w' wird das aktuelle Fenster festgelegt. In 'infotext' wird der Text übergeben, der als Notiz ausgegeben werden soll, der Text muß den gs-DIALOG-Syntax-Regeln entsprechen. Mit 'position' wird die relative Lage innerhalb des Fensters 'w' bestimmt. Über die letzten vier Parameter werden die Position/Maße der Box geliefert. Weder Text noch Position werden vermerkt. #ib#boxone#ie# TEXT PROC boxone (WINDOW VAR w, THESAURUS CONST thes, TEXT CONST ueberschrift, hinweis, BOOL CONST mit reinigung): Zweck: Vergl. 'menuone'. Hier wird nur zusätzlich das Fenster festgelegt, das bei 'menuone' automatisch gesetzt wird. Fehler: Fenster für Auswahl zu klein (x < 56, y < 15) #ib#boxsome#ie# THESAURUS PROC boxsome (WINDOW VAR w, THESAURUS CONST thes, TEXT CONST ueberschrift, hinweis, BOOL CONST mit reinigung): Zweck: Vergl. 'menusome'. Hier wird nur zusätzlich das Fenster festgelegt, das bei 'menusome' automatisch gesetzt wird. Fehler: Fenster für Auswahl zu klein (x < 56, y < 15) #ib#boxyes#ie# BOOL PROC boxyes (WINDOW VAR w, TEXT CONST frage, INT CONST  position): Zweck: Vergl. 'menuyes'. Hier wird nur zusätzlich das Fenster festgelegt, das bei 'menuyes' automatisch gesetzt wird. Die 'frage' muß den gs-DIALOG- Syntax-Regel gehorchen! #ib#center#ie# TEXT PROC center (WINDOW VAR w, TEXT CONST text): Zweck: Vergl. 'menuwindowcenter'. Hier wird nur zusätzlich das Fenster festge­ legt, das bei 'menuwindowcenter' automatisch gesetzt wird. TEXT PROC center (INT CONST laenge, TEXT CONST text): Zweck: "Ummantelt" 'text' mit Leerzeichen, so daß 'text' etwa in der Mitte zu stehen kommt. Der gelieferte Text hat die Länge 'laenge'. TEXT PROC center (TEXT CONST text): wirkt wie: center (79, text) #ib#clear buffer#ie# PROC clear buffer Zweck: Leert den Zeichenpuffer #ib#clear buffer and count#ie# INT PROC clear buffer and count (TEXT CONST zeichen): Zweck: Leert den Zeichenpuffer und liefert die Häufigkeit des Vorkommens von 'zeichen' im Zeichenpuffer. #ib#current menuwindow#ie# WINDOW PROC current menuwindow: Zweck: liefert das aktuelle Menufenster (die Einzelwerte können dann mit 'areax', 'areay', 'areaxsize' und 'areaysize' erfragt werden). #ib#cursor#ie# PROC cursor (WINDOW VAR w, INT CONST spalte, zeile): Zweck: Vergl. 'menuwindowcursor'. Hier wird nur zusätzlich das Fenster festge­ legt, das bei 'menuwindowcursor' automatisch gesetzt wird. #ib#cursor off#ie# PROC cursor off: Zweck: Sofern die EUMEL-Installation die Möglichkeit bietet, wird der Cursor aus dem Bildschirm ausgeblendet. Wenn neue Verarbeitungsfunktionen entwickelt werden, sollte zu Beginn der Cursor eingeschaltet und nach Abschluß der Cursor wieder ausge­ schaltet werden (sehen Sie auch Kap. 5.1). PROC cursor off (TEXT CONST zeichenkette): Zweck: Neufestlegung der 'zeichenkette', die ausgegeben werden soll, um bei der aktuellen EUMEL-Installation den Cursor auf den Befehl 'cursor off' hin auszuschalten. #ib#cursor on#ie# PROC cursor on: Zweck: Sofern die EUMEL-Installation die Möglichkeit bietet, wird der Cursor auf dem Bildschirm angezeigt. Wenn neue Verarbeitungsfunktionen entwik­ kelt werden, sollte zu Beginn der Cursor eingeschaltet und nach Abschluß der Cursor wieder ausgeschaltet werden (sehen Sie auch Kap. 5.1). PROC cursor on (TEXT CONST zeichenkette): Zweck: Neufestlegung der 'zeichenkette', die ausgegeben werden soll, um bei der aktuellen EUMEL-Installation den Cursor auf den Befehl 'cursor on' hin anzuschalten. #ib#deactivate#ie# PROC deactivate (TEXT CONST punktname): Zweck: Vergl. 'activate (TEXT CONST punktname)'. Im Gegensatz zu der Prozedur wird hier 'punktname' deaktiviert und beim (nächsten) Erscheinen der Menupunktbezeichnung ein '-'Zeichen vorangestellt. Es gelten die gleichen Einschränkungen wie bei 'activate'! PROC deactivate (INT CONST punktposition):#u#(*)#e# Zweck: arbeitet wie obiges 'deactivate', allerdings werden die Menupunkte nicht über ihre Bezeichnung, sondern über ihre Position im (aktuellen) Pull- Down-Menu identifiziert. Die Positionen sind von oben nach unten durch­ numeriert. Beachten Sie, daß Trennlinien eine Position belegen und mitgezählt werden. Die Prozedur arbeitet schneller als obige! #ib#direktstart#ie# PROC direktstart (TEXT CONST prozedurname, BOOL CONST mit loeschen):#u#(*)#e# Zweck: Macht aus der aktuellen Task eine Manager-Task ('global manager'). Werden neue Sohntasks eingerichtet, so melden sich diese nicht - wie gewohnt - mit der 'gib kommando:'-Ebene. Statt dessen wird die Prozedur 'prozedurname' ausgeführt. Das Kommando ist dann sinnvoll, wenn sich die Sohntask gleich mit einem Menu melden soll. In der Prozedur 'prozedurname' muß dann die entsprechende Menukarte angekoppelt und das gewünschte Menu zur Ausführung gebracht werden. Hat 'mit loeschen den Wert 'TRUE', so wird nach Verlassen der Menuebene die Task automatisch gelöscht; bei 'FALSE' wird noch angefragt, ob die Task gelöscht werden soll. Wird die Frage bejaht, wird gelöscht; sonst wird die Task abgekoppelt (break) und kann durch 'continue' wieder angekoppelt werden. In der Task, in der das Kommando 'direktbefehl' gegeben wurde, sollte nicht das Kommando 'monitor' gegeben werden, da dadurch auch die­ se Task zu einer Task gemacht würde, die sich direkt mit dem Menu meldet und ggf. bei Verlassen des Menus automatisch gelöscht wird! Die 'gib kommando:'-Ebene ist dadurch unzugänglich! #ib#ecke oben links#ie# TEXT PROC ecke oben links: Zweck: Liefert das Zeichen, das bei der Darstellung der "Kästen" links oben in der Ecke (ω) ausgegeben wird. PROC ecke oben links (TEXT CONST zeichen): Zweck: Durch diese Prozedur kann das Zeichen festgelegt werden, das bei Dar­ stellung der "Kästen" links oben in der Ecke ausgegeben werden soll. #ib#ecke oben rechts#ie# TEXT PROC ecke oben rechts: Zweck: Liefert das Zeichen, das bei der Darstellung der "Kästen" rechts oben in der Ecke (�) ausgegeben wird. PROC ecke oben rechts (TEXT CONST zeichen): Zweck: Durch diese Prozedur kann das Zeichen festgelegt werden, das bei Dar­ stellung der "Kästen" rechts oben in der Ecke ausgegeben werden soll. #ib#ecke unten links#ie# TEXT PROC ecke unten links: Zweck: Liefert das Zeichen, das bei der Darstellung der "Kästen" links unten in der Ecke (�) ausgegeben wird. PROC ecke unten links (TEXT CONST zeichen): Zweck: Durch diese Prozedur kann das Zeichen festgelegt werden, das bei Dar­ stellung der "Kästen" links unten in der Ecke ausgegeben werden soll. #ib#ecke unten rechts#ie# TEXT PROC ecke unten rechts: Zweck: Liefert das Zeichen, das bei der Darstellung der "Kästen" rechts unten in der Ecke (�) ausgegeben wird. PROC ecke unten rechts (TEXT CONST zeichen): Zweck: Durch diese Prozedur kann das Zeichen festgelegt werden, das bei Dar­ stellung der "Kästen" rechts unten in der Ecke ausgegeben werden soll. #ib#edit#ie# PROC edit (WINDOW VAR w, TEXT CONST dateiname): Zweck: Vergl. 'menuwindowedit'. Hier wird nur zusätzlich das Fenster festgelegt, das bei 'menuwindowedit' automatisch gesetzt wird. PROC edit (WINDOW VAR w, FILE VAR f): Zweck: Vergl. 'menuwindowedit'. Hier wird nur zusätzlich das Fenster festgelegt, das bei 'menuwindowedit' automatisch gesetzt wird. #ib#editget#ie# PROC editget (WINDOW VAR w, TEXT VAR text):#u#(*)#e# Zweck: Eingabe mit Editiermöglichkeit von 'text'. 'text' wird ausgegeben. Die Eingabe wird mit RETURN beendet. 'text' darf höchstens 79 Zeichen lang sein! Fehler: Text nicht initialisiert. PROC editget (WINDOW VAR w, TEXT VAR text, INT CONST max laenge, scroll, TEXT CONST sep, res, TEXT VAR exit char):#u#(*)#e# Zweck: Wie oben. Über 'max laenge' kann festgelegt werden , wie lang der einzu­ gebende Text ('text') maximal sein darf. Über 'scroll' wird die Breite des Zeilenfensters festgelegt, bevor gerollt wird (jedoch nicht über die rech­ te Fenstergrenze hinaus). Über 'sep' können Zeichen bestimmt werden, bei denen die Eingabe (zusätzlich zu RETURN) beendet werden soll. Über 'res' können reservierte Tasten angegeben werden. Wird eine dieser Tasten mit ESC betätigt, wird die Eingabe beendet. In 'exit char' steht dann ESC und das Zeichen, mit dem der Editor verlassen wurde. Fehler: Text nicht initialisiert. #ib#erase#ie# PROC erase (WINDOW VAR fenster): Zweck: Der durch 'fenster' beschrieben Bildschirmbereich wird gelöscht - ein­ schließlich des Rahmens, der den Fensterbereich umgibt (vergl. Sie auch 'page')! #ib#erase footnote#ie# PROC erase footnote (WINDOW VAR fenster): Zweck: Die letzten beiden Zeilen in 'fenster' (in der die Fußnote nebst Trennlinie eingetragen sind) werden gelöscht (vergl. Sie auch 'out footnote')! #ib#erase menunotice#ie# PROC erase menunotice: Zweck: Sofern zuvor mit 'write menunotice' (sehen Sie auch dort) eine Menunotiz gesetzt wurde, wird diese gelöscht, ansonsten hat die Prozedur keine Wirkung. #ib#get#ie# PROC get (WINDOW VAR w, TEXT CONST eingabe): Zweck: Vergl. 'menuwindowget'. Hier wird nur zusätzlich das Fenster festgelegt, das bei 'menuwindowget' automatisch gesetzt wird. PROC get (WINDOW VAR w, INT CONST wert): Zweck: Vergl. 'get (WINDOW VAR w, TEXT CONST eingabe)'. Der eingelesene Wert wird anschließend entsprechend konvertiert. PROC get (WINDOW VAR w, REAL CONST wert): Zweck: Vergl. 'get (WINDOW VAR w, TEXT CONST eingabe)'. Der eingelesene Wert wird anschließend entsprechend konvertiert. PROC get (WINDOW VAR w, TEXT CONST eingabe, INT CONST laenge): Zweck: Vergl. 'get (WINDOW VAR w, TEXT CONST eingabe)'. Zusätzlich wird die Eingabe beendet, wenn der eingegebene Text die Länge 'laenge' erreicht hat. PROC get (WINDOW VAR w, TEXT CONST eingabe, TEXT CONST separator): Zweck: Vergl. 'get (WINDOW VAR w, TEXT CONST eingabe)'. Zusätzlich werden über 'separtor' die Zeichen festgelegt, die zusätzlich zu den Positionie­ rungszeichen die Eingabe beenden. #ib#get cursor#ie# PROC get cursor (WINDOW VAR w, INT VAR spalte, zeile): Zweck: Vergl. 'get menuwindowcursor'. Hier wird nur zusätzlich das Fenster festgelegt, das bei 'get menuwindowcursor' automatisch gesetzt wird. #ib#getline#ie# PROC getline (WINDOW VAR w, TEXT CONST eingabe): Zweck: Vergl. 'get (WINDOW VAR w, TEXT CONST eingabe). Nur wird hier die Eingabe ausschließlich über die Positionierungstasten - nicht aber über das Leerzeichen beendet. #ib#get menuwindowcursor#ie# PROC get menuwindowcursor (INT VAR spalte, zeile): Zweck: Mit der Prozedur wird die aktuelle Cursorposition innerhalb des Menu­ fensters erfragt. #ib#handle menu#ie# PROC handle menu (TEXT CONST menuname): Zweck: Bringt das in der angekoppelten Menukarte enthaltene Menu mit dem Namen 'menuname' zur Ausführung, d.h. das entsprechende Menu wird auf dem Bildschirm präsentiert und kann mit den üblichen Tastenfunk­ tionen gehandhabt werden. (Anmerkung: Die Menufunktionen können natürlich nur dann ausge­ führt werden, wenn die zugehörigen Programme in der aktuellen Task zuvor insertiert wurden - ansonsten erscheint auf dem Bildschirm jeweils der Hinweis 'unbekanntes Kommando'!) Fehler: Das Menu 'menuname' ist nicht in der angekoppelten Menukarte! #ib#infix namen#ie# THESAURUS PROC infix namen (THESAURUS CONST thes, TEXT CONST infix): Zweck: Die Prozedur liefert einen Thesaurus, in dem alle Namen enthalten sind, die in 'thes' übergeben wurden und die den Wortbestandteil 'infix' enthal­ ten (gleichgültig an welcher Position). THESAURUS PROC infix namen (THESAURUS CONST thes, INT CONST dateityp): Zweck: Die Prozedur liefert einen Thesaurus, in dem alle Dateinamen enthalten sind, die in 'thes' übergeben wurden und die den Dateityp 'dateityp' haben. THESAURUS PROC infix namen (THESAURUS CONST thes, TEXT CONST infix, INT CONST dateityp): wirkt wie: infix namen (infix namen (thes, infix), dateityp) #ib#install menu#ie# PROC install menu (TEXT CONST menukartenname, BOOL CONST mit emblem): Zweck: Mit diesem Befehl wird die Menukarte mit dem Namen 'menukarten­ name' aus der Task 'gs-MENUKARTEN' in die aktuelle Task kopiert. Die Menukarte wird als unbenannter Datenraum an die Task gekoppelt. Der benannte Datenraum wird gelöscht. Der Name der angekoppelten Menu­ karte wird vermerkt. Stimmt der Name der angekoppelten Menukarte mit dem Namen der angeforderten Menukarte überein, dann wird nicht erneut eine Kopie angefordert, sondern auf der bereits angekoppelten Menukarte gearbeitet. Hat 'mit emblem' den Wert 'TRUE', dann wird unser 'Software-Emblem' während des Ankoppelvorgangs auf dem Bildschirm ausgegeben, bei 'FALSE' nicht. Fehler: Die Menukarte 'menukartenname' existiert nicht in der Task 'gs-MENUKARTEN'. PROC install menu (TEXT CONST menukartenname): wirkt wie: install menu (TEXT CONST menukartenname, TRUE) #ib#invers#ie# TEXT PROC invers (TEXT CONST text): Zweck: Liefert den Text 'text' invers dargestellt. An den Text wird zuvor ein Leer­ zeichen angehängt. #ib#kreuz#ie# TEXT PROC kreuz: Zweck: Liefert das Zeichen, das bei der Darstellung der "Kästen" als "Kreuz" (̗) ausgegeben wird. PROC kreuz (TEXT CONST zeichen): Zweck: Durch diese Prozedur kann das Zeichen festgelegt werden, das bei Dar­ stellung der "Kästen" als "Kreuz" ausgegeben werden soll. #ib#line#ie# PROC line (WINDOW VAR w, INT CONST anzahl): Zweck: Vergl. 'menuwindowline'. Hier wird nur zusätzlich das Fenster festgelegt, das bei 'menuwindowline' automatisch gesetzt wird. PROC line (WINDOW VAR w): wirkt wie: line (w, 1) #ib#menualternative#ie# INT PROC menualternative (TEXT CONST infotext, auswahlliste, zusatztasten, INT CONST position, BOOL CONST mit abbruch): Zweck: Mit der Prozedur können dem Benutzer innerhalb des Menubildschirms mehrere Alternativen zur Entscheidung angeboten werden, von denen er sich für eine entscheiden kann. Auf dem Bildschirm wird innerhalb des Menus eine Box ausgegeben. Boxbreite und -höhe werden vom System automatisch anhand des über­ gebenen 'infotext'es (bzw. der 'auswahlliste') festgelegt. Der in 'infotext' übergebene Text wird innerhalb der Box angezeigt. Der Text muß den gs-DIALOG-Syntax-Regeln (sehen Sie Kap. 5.13) entsprechen - er dient ausschließlich der Information des Benutzers. In der letzten Zeile der Box wird die 'auswahlliste' angeboten. Zwischen jeder notierten Alternative muß in 'auswahlliste' der code "13" eingetra­ gen sein. In der Box werden zwischen den Alternativen je drei Leerzei­ chen eingefügt. Es können maximal 10 Alternativen angegeben werden, die aber incl. der eingefügten Leerzeichen eine Gesamtbreite von 64 Zeichen nicht überschreiten dürfen. Über diese Liste erfolgt durch Posi­ tionierung und anschließendem die Entscheidung für eine Alternative. Die Prozedur liefert dann als Zahlenwert die Position der gewählten Alternative in der übergebenen Auswahlliste. Über 'mit abbruch' wird festgelegt, ob die Alternativentscheidung durch die Tastenfolge abgebrochen werden kann oder nicht. Ist das zulässig und geschehen, dann wird der Wert 0 geliefert. Über 'zusatztasten' kann noch festgelegt werden, ob die Entscheidung auch durch Tippen bestimmter Tasten angegeben werden kann. Sind hier Zeichen angegeben und erfolgt die Entscheidung über das Tippen einer zugelassenen Taste, dann wird die Position der getippten Taste in der unter 'zusatztasten' übergebenen Zeichenkette ermittelt und der Wert 100 hinzuaddiert (sehen Sie dazu auch Kap. 5.7). Nach der Entscheidung wird der Menubildschirm automatisch in den Ausgangszustand versetzt. #ib#menuanswer#ie# TEXT PROC menuanswer (TEXT CONST infotext, vorgabe, INT CONST position): Zweck: Die Prozedur ermöglicht den Dialog mit dem Benutzer innerhalb des Menus. Sie liefert einen vom Benutzer eingegebenen (bzw. modifizierten) Text/Namen. Auf dem Bildschirm wird innerhalb des Menus eine Box ausgegeben. Boxbreite und -höhe werden vom System automatisch anhand des über­ gebenen 'infotext'es festgelegt. Der in 'infotext' übergebene Text wird innerhalb der Box angezeigt. Der Text muß den gs-DIALOG-Syntax-Regeln (sehen Sie Kap. 5.13) entsprechen. In der letzten Zeile der ausgegebenen Box erscheint der Text "Eingabe:". Über 'vorgabe' kann dem Benutzer ein Text zum Editieren angeboten werden. Mit 'position' wird die relative Lage der Box innerhalb des Menu­ bildschirms festgelegt (1, 2, 3, 4, 5: sehen Sie dazu Kap. 5.12). Die Eingabe kann durch abgeschlossen oder durch abgebrochen werden, in letzterem Falle wird niltext ("") geliefert. Der gelieferte Wert ist von führenden und folgenden Leerzeichen befreit (compress). Es ist nicht möglich, den Namen 'break' einzugeben (sehen Sie dazu Kap.5.1). #ib#menuanswerone#ie# TEXT PROC menuanswerone (TEXT CONST infotext, vorgabe, THESAURUS CONST thesaurus, TEXT CONST ueberschrift, hinweis, BOOL CONST mit reinigung): Zweck: Die Prozedur ist aus den zwei Prozeduren 'menuanswer' und 'menuone' zusammengesetzt (sehen Sie auch dort). In einer Box innerhalb des Menus wird der 'infotext' ausgegeben und eine Eingabe erwartet; ggf. kann ein Text in 'vorgabe' zum Editieren ausgegeben werden. Wird die Eingabe mit abgeschlossen, wird der eingegebene Text geliefert. Statt der Eingabe kann der Benutzer sich durch die Tastenfolge auch die in 'thesaurus' übergebenen Namen zur Auswahl anbieten lassen. Wird ein Name angekreuzt, wird dieser geliefert; wird die Auswahl durch abgebrochen, wird niltext ("") geliefert. Fehler: Fenster für Auswahl zu klein (x < 56, y < 15) #ib#menuanswersome#ie# THESAURUS PROC menuanswersome (TEXT CONST infotext, vorgabe, THESAURUS CONST thesaurus, TEXT CONST ueberschrift, hinweis, BOOL CONST mit reinigung): Zweck: Die Prozedur ist aus den zwei Prozeduren 'menuanswer' und 'menusome' zusammengesetzt (sehen Sie auch dort). In einer Box innerhalb des Menus wird der 'infotext' ausgegeben und eine Eingabe erwartet; ggf. kann ein Text in 'vorgabe' zum Editieren ausgegeben werden. Wird die Eingabe mit abgeschlossen, wird der eingegebene Text in einem Thesaurus geliefert. Statt der Eingabe kann der Benutzer sich durch die Tastenfolge auch die in 'thesaurus' übergebenen Namen zur Auswahl anbieten lassen. Werden Namen angekreuzt, werden diese in einem Thesaurus geliefert; wird die Auswahl durch abgebrochen, wird ein leerer Thesaurus geliefert. Fehler: Fenster für Auswahl zu klein (x < 56, y < 15) #ib#menu archiv checken#ie# PROC menu archiv checken: Zweck: Über diese Prozedur kann das "Checken" von Dateien auf dem Archiv in das Archiv-Pull-Down-Menu eingebunden werden. Sehen Sie dazu unbe­ dingt Kap. 6.1! #ib#menu archiv grundeinstellung#ie# PROC menu archiv grundeinstellung (INT CONST ort): Zweck: Hierüber wird die Grundeinstellung des Archivpakets vorgenommen: Dazu wird als Zieltask das Archiv der eigenen Station eingestellt. Dieses wird auch über eine Menunotiz im Menu angezeigt. Die entsprechenden Menu­ punkte werden aktiviert bzw. deaktiviert. Sehen Sie dazu unbedingt Kap. 6.1! Über 'ort' wird festgelegt, an welcher Stelle innerhalb des Menus die Menunotiz zur Anzeige der Zieltask (und ggf. des Archivnamens) ausge­ geben wird (sehen Sie dazu Kap. 5.12). #ib#menu archiv holen#ie# PROC menu archiv holen: Zweck: Über diese Prozedur kann das Holen von Dateien vom Archiv in das Archiv-Pull-Down-Menu eingebunden werden. Sehen Sie dazu unbedingt Kap. 6.1! #ib#menu archiv initialisieren#ie# PROC menu archiv initialisieren: Zweck: Über diese Prozedur kann das Formatieren/ Initialisieren eines Archivs in das Archiv-Pull-Down-Menu eingebunden werden. Sehen Sie dazu unbe­ dingt Kap. 6.1! #ib#menu archiv loeschen#ie# PROC menu archiv loeschen: Zweck: Über diese Prozedur kann das Löschen von Dateien auf dem Archiv in das Archiv-Pull-Down-Menu eingebunden werden. Sehen Sie dazu unbedingt Kap. 6.1! #ib#menu archiv neue diskette#ie# PROC menu archiv neue diskette: Zweck: Über diese Prozedur kann das Anmelden einer neuen Diskette bei schon reserviertem Archiv in das Archiv-Pull-Down-Menu eingebunden werden. Sehen Sie dazu unbedingt Kap. 6.1! #ib#menu archiv reservieren#ie# PROC menu archiv reservieren: Zweck: Über diese Prozedur kann die Archivreservierung in das Archiv-Pull- Down-Menu eingebunden werden. Sehen Sie dazu unbedingt Kap. 6.1! #ib#menu archiv reservierung aufgeben#ie# PROC menu archiv reservierung aufgeben: Zweck: Über diese Prozedur kann eine bestehende Archivreservierung aus dem Menu heraus aufgegeben werden. Sehen Sie dazu unbedingt Kap. 6.1! #ib#menu archiv schreibcheck#ie# PROC menu archiv schreibcheck: Zweck: Über diese Prozedur kann das Schreiben von Dateien auf das Archiv und das sich automatisch daran anschließende "Checken" der zuvor geschrie­ benen Dateien in das Archiv-Pull-Down-Menu eingebunden werden. Sehen Sie dazu unbedingt Kap. 6.1! #ib#menu archiv schreiben#ie# PROC menu archiv schreiben: Zweck: Über diese Prozedur kann das Schreiben von Dateien auf das Archiv in das Archiv-Pull-Down-Menu eingebunden werden. Sehen Sie dazu unbe­ dingt Kap. 6.1! #ib#menu archiv verzeichnis#ie# PROC menu archiv verzeichnis: Zweck: Über diese Prozedur kann die Ausgabe eines Inhaltsverzeichnisses des Archivs auf dem Bildschirm in das Archiv-Pull-Down-Menu eingebunden werden. Sehen Sie dazu unbedingt Kap. 6.1! #ib#menu archiv verzeichnis drucken#ie# PROC menu archiv verzeichnis drucken: Zweck: Über diese Prozedur kann die Ausgabe eines Inhaltsverzeichnisses des Archivs über den Drucker in das Archiv-Pull-Down-Menu eingebunden werden. Sehen Sie dazu unbedingt Kap. 6.1! #ib#menu archiv zieltask einstellen#ie# PROC menu archiv zieltask einstellen: Zweck: Über diese Prozedur kann die Festlegung der Zieltask, mit der die Inter­ taskkommunikation abgewickelt werden soll, in das Archiv-Pull-Down- Menu eingebunden werden. Sehen Sie dazu unbedingt Kap. 6.1! #ib#menu dateien aufraeumen#ie# PROC menu dateien aufraeumen: Zweck: Durch diese Prozedur wird innerhalb des aktuellen Menus der Name der Datei erfragt, die aufgeräumt, d.h. reorganisiert werden soll. Existiert keine Datei mit dem angegebenen Namen, so erfolgt ein Hinweis darauf. Statt der Eingabe des Dateinamens kann auch die Tastenfolge getippt werden. Daraufhin werden alle Dateinamen der Task zur Auswahl angeboten. Hier können die gewünschten Dateinamen angekreuzt werden. Anschließend werden die angekreuzten Dateien reorganisiert. Der Vorgang wird auf dem Bildschirm protokolliert. Am Ende des Vorgangs wird der Menubildschirm automatisch regeneriert. Es können natürlich nur Dateien des Typs 1003 (Textfiles) reorganisiert werden; sofern andere Dateien ausgewählt werden, erfolgt ein Hinweis darauf. #ib#menu dateien drucken#ie# PROC menu dateien drucken: Zweck: Durch diese Prozedur wird innerhalb des aktuellen Menus (auch bei geschachtelten(!)) der Name der Datei erfragt, die gedruckt werden soll. Anschließend wird die Datei mit dem angegebenen Namen gedruckt. Existiert keine Datei mit dem angegebenen Namen, so erfolgt ein Hinweis darauf. Statt der Eingabe des Dateinamens kann auch die Tastenfolge getippt werden. Daraufhin werden alle Dateinamen der Task zur Auswahl angeboten. Alle angekreuzten Dateien werden an­ schließend gedruckt. Der Vorgang wird auf dem Bildschirm protokolliert. Am Ende wird der Menubildschirm automatisch regeneriert. #ib#menu dateien kopieren#ie# PROC menu dateien kopieren: Zweck: Durch diese Prozedur wird innerhalb des aktuellen Menus der Name der Datei erfragt, die kopiert werden soll. Existiert keine Datei mit dem angegebenen Namen, so erfolgt ein Hinweis darauf. Statt der Eingabe des Dateinamens kann auch die Tastenfolge getippt werden. Daraufhin werden alle Dateinamen der Task zur Auswahl angeboten. Hier kann ein Dateiname angekreuzt werden. Nun wird der Name erfragt, den die Kopie erhalten soll. Existiert der Name bereits, erfolgt ein Hinweis darauf, sonst wird die Datei kopiert. Der Menubildschirm wird automa­ tisch regeneriert. #ib#menu dateien loeschen#ie# PROC menu dateien loeschen: Zweck: Durch diese Prozedur wird innerhalb des aktuellen Menus der Name der Datei erfragt, die gelöscht werden soll. Anschließend wird die Datei mit dem angegebenen Namen gelöscht, sofern die Sicherheitsabfrage zum Löschen mit 'Ja' beantwortet wurde. Existiert keine Datei mit dem ange­ gebenen Namen, so erfolgt ein Hinweis darauf. Statt der Eingabe des Dateinamens kann auch die Tastenfolge getippt werden. Daraufhin werden alle Dateinamen der Task zur Auswahl angeboten. Alle angekreuzten Dateien werden anschließend (nach jeweiliger Sicherheits­ anfrage) gelöscht. Der Vorgang wird auf dem Bildschirm protokolliert. Am Ende wird der Menubildschirm automatisch regeneriert. #ib#menu dateien speicherplatz#ie# PROC menu dateien speicherplatz: Zweck: Durch diese Prozedur wird innerhalb des aktuellen Menus der Name der Datei erfragt, deren Speicherplatz ermittelt werden soll. Existiert keine Datei mit dem angegebenen Namen, so erfolgt ein Hinweis darauf. Statt der Eingabe des Dateinamens kann auch die Tastenfolge getippt werden. Daraufhin werden alle Dateinamen der Task zur Aus­ wahl angeboten. Hier können die gewünschten Dateinamen angekreuzt werden. Anschließend wird der Speicherplatz der angekreuzten Datei(en) ermittelt und im Menufenster ausgegeben. Im Anschluß an die Anzeige wird der Menubildschirm automatisch regeneriert. #ib#menu dateien umbenennen#ie# PROC menu dateien umbenennen: Zweck: Durch diese Prozedur wird innerhalb des aktuellen Menus der Name der Datei erfragt, die umbenannt werden soll. Existiert keine Datei mit dem angegebenen Namen, so erfolgt ein Hinweis darauf. Statt der Eingabe des Dateinamens kann auch die Tastenfolge getippt werden. Daraufhin werden alle Dateinamen der Task zur Auswahl angeboten. Hier kann ein Dateiname angekreuzt werden. Nun wird der Name erfragt, den die Datei anschließend erhalten soll. Existiert der Name bereits, erfolgt ein Hinweis darauf, sonst wird die Datei umbenannt. Der Menubildschirm wird automatisch regeneriert. #ib#menu dateien verzeichnis#ie# PROC menu dateien verzeichnis Zweck: Mit der Prozedur kann innerhalb des aktuellen Menus ein Verzeichnis der Dateien der eigenen Task ausgegeben werden. Nach Verlassen des Ver­ zeichnisses durch wird der Menubildschirm automatisch regeneriert. #ib#menufootnote#ie# PROC menufootnote (TEXT CONST fussnotentext): Zweck: Mit der Prozedur kann der Text in der "Fußzeile" des aktuellen Menubild­ schirms (zumeist Hinweise an den Benutzer) ersetzt werden. Der vorhan­ dene Text wird gelöscht und stattdessen 'fussnotentext' notiert. Der Text bleibt so lange erhalten, bis er durch eine andere selbstgesetzte Fußnote ('menufootnote') oder durch die alte vom System gesetzte Fußnote ('old menufootnote'; sehen Sie auch dort) überschrieben wird. Sofern gs-DIALOG-Prozeduren aufgerufen werden, die selbst Ausgaben in der Fußzeile machen, wird die durch 'menufootnote' gesetzte Fußnote eben­ falls überschrieben. Wenn der Text länger als die aktuelle Menubild­ schirmbreite ist,wird der Text abgeschnitten. Damit der Text auch in geschachtelten Menus vollständig ausgegeben werden kann, sollte er nicht länger als 69 Zeichen sein. #ib#menufunktion#ie# PROC menufunktion (TEXT CONST kuerzel, punktbezeichnung, prozedurname, infotext): Zweck: Der Befehl wird für die Generierung von Menukarten benötigt. Mit diesem Befehl wird in das aktuell geöffnete Menu unter dem aktuellen Oberbe­ griff eine Verarbeitungsfunktion eingetragen. Mit 'kuerzel' wird die Taste bestimmt, über die die Verarbeitungsfunktion direkt aktiviert werden kann. 'kuerzel' muß innerhalb eines Pull-Down-Menus eindeutig gewählt sein! Unter 'punktbezeichnung' wird der Text eingetragen, der im Pull- Down-Menu ausgegeben werden soll. In 'prozedurname' steht der Name der Prozedur (als Text(!)), die bei Aktivierung des Menupunktes ausge­ führt werden soll. In 'infotext' steht der Text, der als Information zu diesem Menupunkt bei Tippen der -Taste angezeigt werden soll. Fehler: Menupunkt-Kürzel ist länger als ein Zeichen. Menupunktkürzel kommt mehrfach vor. Menupunktbezeichnung ist zu lang (> 60 Zeichen). Zu viele Menupunkte in einem Pull-Down-Menu (> 15). #ib#menuinfo#ie# PROC menuinfo (TEXT CONST infotext, INT CONST position, timelimit): Zweck: Die Prozedur ermöglicht es, innerhalb des Menus einen Hinweis (Infor­ mationstext) auszugeben. Im Menubildschirm erscheint der 'infotext' in einer Box. Boxbreite und -höhe werden vom System automatisch anhand des übergebenen 'infotext'es festgelegt. 'infotext' muß den gs-DIALOG- Syntax-Regeln (sehen Sie Kap. 5.13) entsprechen. Mit 'position' wird die relative Lage der Box innerhalb des Menubildschirms festgelegt (1, 2, 3, 4, 5: sehen Sie dazu Kap. 5.12). Mit 'timelimit' kann die Zeitdauer (in Zehntelsekunden) festgelegt werden, für die der Hinweis höchstens er­ scheint. Die Anzeige kann vom Benutzer durch Tippen einer beliebigen Taste abgebrochen werden. PROC menuinfo (TEXT CONST infotext, INT CONST position): wirkt wie: menuinfo (infotext, position, maxint) PROC menuinfo (TEXT CONST infotext): wirkt wie: menuinfo (infotext, 5) #ib#menukartenname#ie# TEXT PROC menukartenname:#u#(*)#e# Zweck: Liefert den Namen der zur zeit angekoppelten Menukarte. Ist keine Menukarte angekoppelt, wird niltext ("") geliefert. #ib#menuno#ie# BOOL PROC menuno (TEXT CONST frage, INT CONST position): wirkt wie: NOT menuyes (frage, position) #ib#menuone#ie# TEXT PROC menuone (THESAURUS CONST thesaurus, TEXT CONST ueberschrift, hinweis, BOOL CONST mit reinigung): Zweck: Durch die Prozedur werden dem Benutzer innerhalb des Menubild­ schirms Namen zur Auswahl angeboten. Nach Ankreuzen eines Namens wird die Auswahl automatisch verlassen. Der angekreuzte Name wird geliefert. Wird die Auswahl durch abgebrochen, so wird niltext ("") geliefert. In 'thesaurus' wird ein THESAURUS mit den Namen übergeben, die zur Auswahl angeboten werden sollen (sehen Sie dazu auch Kap. 5.14). Die beiden Texte 'ueberschrift' und 'hinweis' erscheinen zur Kennzeichnung im Kopf der Auswahlliste: 'ueberschrift' zentriert und invers dargestellt, 'hinweis' nur zentriert. Hat 'mit reinigung' den Wert TRUE, so wird nach der Auswahl der Menubildschirm automatisch wie­ deraufgebaut, bei FALSE wird darauf verzichtet. Fehler: Fenster für Auswahl zu klein (x < 56, y < 15) #ib#menusome#ie# THESAURUS PROC menusome (THESAURUS CONST thesaurus, TEXT CONST ueberschrift, hinweis, BOOL CONST mit reinigung): Zweck: Durch die Prozedur werden dem Benutzer innerhalb des Menubild­ schirms Namen zur Auswahl angeboten. Die Auswahl kann durch die Tastenfolge verlassen werden. Der/ die angekreuzte(n) Name(n) wird/werden in einem Thesaurus geliefert. Wird die Auswahl durch die Tastenfolge abgebrochen oder wurde kein Name angekreuzt, dann wird ein leerer Thesaurus geliefert. In 'thesaurus' wird ein Thesaurus mit den Namen übergeben, die zur Auswahl angeboten werden sollen (sehen Sie dazu auch Kap. 5.14). Die beiden Texte 'ueberschrift' und 'hinweis' erscheinen zur Kennzeichnung im Kopf der Auswahlliste: 'ueberschrift' zentriert und invers dargestellt, 'hinweis' nur zentriert. Hat 'mit reinigung' den Wert TRUE, so wird nach der Auswahl der Menubildschirm automatisch wiederaufgebaut, bei FALSE wird darauf verzichtet. Fehler: Fenster für Auswahl zu klein (x < 56, y < 15) #ib#menuwindowcenter#ie# TEXT PROC menuwindowcenter (TEXT CONST text): Zweck: Die Prozedur liefert einen Text, der so lang ist, wie das aktuelle Menufen­ ster breit ist. Dazu wird 'text' so mit Leerzeichen "ummantelt" daß 'text' etwa in der Mitte zu stehen kommt. Steht der Cursor bei Ausgabe dieses Textes am Anfang der Zeile, erscheint der Text zentriert in der Zeile (vorhandene Zeileninhalte werden dadurch überschrieben (der Cursor steht dann auf dem rechten Fensterrand!). #ib#menuwindowcursor#ie# PROC menuwindowcursor (INT CONST spalte, zeile): Zweck: Mit diesem Befehl kann der Cursor innerhalb des aktuellen Menufensters positioniert werden. Ein "normales" Menufenster ist 77 Zeichen breit und 20 Zeichen hoch; ein Menufenster in einem geschachtelten Menu ist 71 Zeichen breit und 16 Zeichen hoch). (Sehen Sie auch die Informations­ prozeduren 'get menuwindowcursor' und 'remaining menuwindowlines'). Fehler: Wird außerhalb des aktuellen Menufensters positioniert, wird der Fenster­ inhalt gelöscht und die Fensterposition (1,1) angenommen. #ib#menuwindowedit#ie# PROC menuwindowedit (TEXT CONST dateiname): Zweck: Durch den Befehl wird innerhalb des Menus ein umrandetes Fenster geöffnet und die Datei mit dem Namen 'dateiname' zum Editieren ausge­ geben. Auf die Größe des Menufensters kann kein Einfluß genommen werden - sie wird selbständig vom System gesetzt ("normales" Menu: 77 Zeichen breit und 20 Zeichen hoch; geschachteltes Menu 71 Zeichen breit und 16 Zeichen hoch). Fehler: Die Datei mit dem Namen 'dateiname' existiert nicht. PROC menuwindowedit (FILE VAR f): Zweck: Vergl. obige 'menuwindowedit'-Prozedur. Die Datei 'f' muß mit der Verar­ beitungsart 'modify' assoziiert worden sein. #ib#menuwindoweditget#ie# PROC menuwindoweditget (TEXT VAR text):#u#(*)#e# Zweck: Vergl. 'menuwindowget (TEXT VAR text)' Zusätzlich kann hier in 'text' ein Text zum Editieren vorgegeben werden. Fehler: Text nicht initialisiert. #ib#menuwindowget#ie# PROC menuwindowget (TEXT VAR text): Zweck: Mit der Prozedur können Texte innerhalb des Menufensters eingelesen werden (INTEGER- und REAL-Werte müssen ggf. "von Hand" konvertiert werden). Die Eingabe wird durch abgeschlossen. Es muß mindestens ein Zeichen (ungleich Leerzeichen) eingegeben werden. Von der Eingabe werden die führenden Leerzeichen abgeschnitten. Ist der einzugebende Text länger als die noch verbleibende Restzeile, so wird der Text in der Restzeile gescrollt. Sind in der aktuellen Zeile weniger als 7 Zeichenpositionen für die Eingabe vorhanden, so wird automatisch für die Eingabe an den Anfang der nächsten Zeile positioniert. #ib#menuwindowline#ie# PROC menuwindowline (INT CONST anzahl): Zweck: Die Prozedur 'menuwindowline' hat innerhalb des Menubildschirms eine ähnliche Wirkung wie die Prozedur 'line' auf dem Gesamtbildschirm. Es werden 'anzahl' Zeilenwechsel vorgenommen. Wird allerdings die untere Grenze des Menubildschirms überschritten, dann rollt (scrollt) der Bild­ schirm nicht die entsprechende Anzahl Zeilen nach oben, statt dessen wird der Fensterinhalt gelöscht und die Operation oben im Fenster fort­ gesetzt. PROC menuwindowline: wirkt wie: menuwindowline (1) #ib#menuwindowout#ie# PROC menuwindowout (TEXT CONST text): Zweck: Mit der Prozedur können innerhalb des aktuellen Menufensters Texte ausgegeben werden. Sollen INTEGER- oder REAL-Werte ausgegeben wer­ den, müssen diese zunächst in Texte konvertiert werden. Ist der Text länger als die verbleibende Restzeile innerhalb des aktuellen Menufen­ sters, so wird der Text bis zum Fensterende (rechts) ausgegeben und die Ausgabe am Anfang der nächsten Zeile fortgesetzt. Sobald die letzte Posi­ tion des aktuellen Menufensters (unten rechts in der Fensterecke) be­ schrieben wurde, wird der Fensterinhalt gelöscht und die Ausgabe an der Position (1,1) des Fensters fortgesetzt. #ib#menuwindowpage#ie# PROC menuwindowpage: Zweck: Durch den Befehl 'menuwindowpage' wird der Inhalt des Fensters inner­ halb des aktuellen Menus gelöscht (das "Menufenster") (vergleichen Sie auch 'show menuwindow'). Der Rahmen des Fensters (der bei 'show menuwindow' ausgegeben wurde), bleibt bestehen, da er nicht mit zum eigentlichen Fenster gehört. Durch den Befehl wird der Menubildschirm nicht rekonstruiert! Soll das Fenster geschlossen werden, ist der Befehl 'regenerate menuscreen' zu geben. #ib#menuwindowshow#ie# PROC menuwindowshow (TEXT CONST dateiname): Zweck: Vergl. 'menuwindowedit'-Prozedur. Die Datei 'dateiname' kann nicht schreibend verändert werden. PROC menuwindowshow (FILE VAR f): Zweck: Vergl. obige 'menuwindowshow'-Prozedur. Die Datei 'f' muß mit der Verarbeitungsart 'modify' assoziiert worden sein. #ib#menuwindowstop#ie# PROC menuwindowstop (INT CONST zeilenzahl): Zweck: Innerhalb des Menufensters werden 'zeilenzahl' Zeilenwechsel vorge­ nommen und der Text " Zum Weitermachen bitte irgendeine Taste tip­ pen!" ausgegeben. Danach wird so lange gewartet, bis eine Taste getippt wird. PROC menuwindowstop: wirkt wie: menuwindowstop (2) #ib#menuyes#ie# BOOL PROC menuyes (TEXT CONST frage, INT CONST position): Zweck: Die Prozedur dient dazu, innerhalb des Menus eine Ja/Nein-Entscheidung des Benutzers einzuholen. Im Gegensatz zur Standardprozedur 'yes' arbeitet diese Prozedur unabhängig davon, ob der Kommandodialog ein- oder ausgeschaltet ist. Auf dem Bildschirm wird innerhalb des Menus eine Box ausgegeben. Boxbreite und -höhe werden vom System automatisch anhand der übergebenen 'frage' festgelegt. Der in 'frage' übergebene Text wird um ein Fragezeichen (?) ergänzt und innerhalb der Box angezeigt. Der Text muß den gs-DIALOG-Syntax-Regeln (sehen Sie Kap. 5.13) entsprechen. In der letzten Zeile der ausgegebenen Box erscheint der Text "Ja    Nein". Die Prozedur 'menuyes' liefert TRUE, wenn mit 'Ja' geantwor­ tet wurde und FALSE, wenn mit 'Nein' geantwortet wurde (durch Tippen der Anfangsbuchstaben oder Positionierung auf die Antwort und ab­ schließendes ). Der Menubildschirm wird automatisch regeneriert. Mit 'position' wird die relative Lage der Box innerhalb des Menubildschirms festgelegt (1, 2, 3, 4, 5: sehen Sie dazu Kap. 5.12). #ib#no#ie# BOOL PROC no (WINDOW VAR w, TEXT CONST frage): wirkt wie: NOT yes (w, frage). #ib#not empty#ie# BOOL PROC not empty (THESAURUS CONST thes): Zweck: Dient der Prüfung, ob ein Thesaurus Namen enthält oder nicht. Die Prozedur liefert TRUE, wenn Namen in 'thes' enthalten sind, sonst FALSE. #ib#oberbegriff#ie# PROC oberbegriff (TEXT CONST punktname, startprocname, leaveprocname): Zweck: Der Befehl wird bei der Generierung von Menukarten benötigt. Mit diesem Befehl wird die Bezeichnung 'punktname' in die Kopfzeile des aktuell geöffneten Menus eingetragen. Die in 'startprocname' übergebene Proze­ dur wird ausgeführt, bevor das zugehörige Pull-Down-Menu auf dem Bildschirm "ausgeklappt" wird; die in 'leaveprocname' übergebene Pro­ zedur, wenn in ein anderes Pull-Down-Menu gewechselt wird (beachten Sie, daß die Prozedurnamen als Texte(!) übergeben werden). Fehler: Menukarte noch nicht geöffnet ('oeffne menukarte' fehlt). Menu noch nicht geöffnet ('oeffne menu' fehlt). Zu viele Oberbegriffe im Menu (> 10). Die Kopfzeile ist zu lang (> 70 Zeichen). PROC oberbegriff (TEXT CONST punktname): wirkt wie: oberbegriff (punktname, "", "") #ib#oeffne menu#ie# PROC oeffne menu (TEXT CONST menuname, einstiegsproc, ausstiegsproc, infotext1, infotext2, infotext3): Zweck: Der Befehl wird für die Generierung von Menukarten benötigt. Durch den Befehl wird innerhalb der Menukarte ein Menu mit dem Namen 'menuname' angelegt. Über diesen Namen kann das Menu auch später angesprochen werden (mit 'handle menu'). Die unter 'einstiegsproc' übergebene Prozedur wird bei der Aktivierung des Menus ausgeführt, die unter 'ausstiegsproc' übergebene Prozedur, wenn das Menu (mit ) verlassen wird (beachten Sie, daß die Prozedurnamen als Texte(!) übergeben werden!). In 'infotext1', 'infotext2' und 'infotext3' können Hinweise eingetragen werden, die bei Erscheinen des Menus auf dem Bildschirm für kurze Zeit in einer Box rechts unten angezeigt wer­ den. Die Erstellung der Boxtexte ist an genaue Regeln gebunden (sehen Sie dazu Kap. 5.13). Sehen Sie auch bei 'schliesse menu'. PROC oeffne menu (TEXT CONST menuname, einstiegsproc, ausstiegsproc): wirkt wie: oeffne menu (menuname, einstiegsproc, ausstiegsproc, "", "", "") PROC oeffne menu (TEXT CONST menuname): wirkt wie: oeffne menu (menuname, "", "") #ib#oeffne menukarte#ie# PROC oeffne menukarte (TEXT CONST menukartenname): Zweck: Der Befehl wird bei der Generierung von Menukarten benötigt. Ein Pro­ gramm zur Erstellung einer Menukarte muß immer mit diesem Befehl beginnen. Durch den Befehl wird ein Datenraum mit dem Namen 'gs-MENUKARTE:menukartenname' eingerichtet; der Wortbestandteil 'gs-MENUKARTE:' wird dabei automatisch vor den angegebenen Namen gesetzt (sehen Sie auch 'schliesse menukarte'). Fehler: Eine Menukarte mit dem angegebenen Namen existiert bereits in der Task. Bei der Generierung wird dann angefragt, ob die alte Menukarte gelöscht werden darf. #ib#ohne praefix#ie# THESAURUS PROC ohne praefix (THESAURUS CONST thes, TEXT CONST praefix): Zweck: Liefert in einem Thesaurus alle Namen aus dem übergebenen Thesaurus 'thes', die mit dem Wortbestandteil 'praefix' beginnen. Bei den gelie­ ferten Namen ist dieser führende Wortbestandteil entfernt. #ib#old menufootnote#ie# PROC old menufootnote: Zweck: Der aktuelle Text in der Fußzeile des aktuellen Menubildschirms wird durch den hier zuletzt vom System gesetzten Text überschrieben. Die Prozedur wird benutzt, um eine selbstgesetzte Fußnote (sehen Sie auch 'write menunotice') zu löschen. #ib#out#ie# PROC out (WINDOW VAR w, TEXT CONST text): Zweck: Vergl. 'menuwindowout'. Hier wird nur zusätzlich das Fenster festgelegt, das bei 'menuwindowout' automatisch gesetzt wird. #ib#out frame#ie# PROC out frame (WINDOW VAR fenster): Zweck: Um den durch 'fenster' angegebenen Bildschirmbereich wird ein Rahmen gezogen. #ib#out footnote#ie# PROC out footnote (WINDOW VAR fenster, TEXT CONST textzeile): Zweck: In der untersten Zeile des Fensters 'fenster' wird 'textzeile' ausgegeben, in der vorletzten Zeile eine Trennzeile. Sehen Sie auch 'erase footnote'. #ib#page#ie# PROC page (WINDOW VAR fenster, BOOL CONST mit rahmen): Zweck: Der durch 'fenster' beschriebene Fensterbereich wird gelöscht. Hat 'mit rahmen' den Wert TRUE, wird der Rahmenbereich ebenfalls gelöscht. PROC page (WINDOW VAR fenster): wirkt wie: page (fenster, FALSE). #ib#put#ie# PROC put (WINDOW VAR w, TEXT CONST text): wirkt wie: out (w, text + " ") PROC put (WINDOW VAR w, INT CONST zahl): wirkt wie: put (w, text (zahl)) PROC put (WINDOW VAR w, REAL CONST zahl): wirkt wie: put (w, text (zahl)) #ib#putline#ie# PROC putline (WINDOW VAR w, TEXT CONST text): wirkt wie: put (w, text); line (w) #ib#regenerate menuscreen#ie# PROC regenerate menuscreen: Zweck: Der Befehl wird verwendet, um den Menubildschirm (z.B. nach der Nutzung für anwendungsbezogene Ausgaben) in seinem letzten Zustand zu reproduzieren. Der Bildschirm wird gelöscht. Anschließend wird der aktuelle Menubildschirm vollständig neu aufgebaut - auch bei geschach­ telten Menus. (sehen Sie auch 'refresh submenu') #ib#refresh submenu#ie# PROC refresh submenu: Zweck: Der Befehl dient dazu, das aktuelle Pull-Down-Menu (z.B. nach Über­ schreiben) und ggf. eine gesetzte Menunotiz erneut auf den Bildschirm zu schreiben. Betroffen ist nur der Bereich zwischen den Trennlinien der Kopf- und Fußzeile. Für das vorausgehende Löschen verwendeter Bild­ schirmbereich ist der Programmierer verantwortlich. Im Gegensatz zu 'regenerate menuscreen' findet hier kein kompletter Bildschirmaufbau statt. Wenn möglich, dann ist dieser Befehl dem Befehl 'regenerate menuscreen' wegen des geringeren Zeitaufwandes vorzuziehen. #ib#remaining lines#ie# INT PROC remaining lines (WINDOW VAR w): Zweck: Die Prozedur liefert die Anzahl der Zeilen im Fenster 'w', die noch zwischen Cursor und unterer Fenstergrenze vorhanden sind. #ib#remaining menuwindowlines#ie# INT PROC remaining menuwindowlines Zweck: Die Prozedur liefert die Anzahl der Zeilen im aktuellen Menufenster, die noch zwischen Cursor und unterer Fenstergrenze vorhanden sind. #ib#reset dialog#ie# PROC reset dialog: Zweck: Das Menusystem wird in den Anfangszustand versetzt. (Keine Menukarte angekoppelt; Anzahl der geöffneten Menus: 0) #ib#schliesse menu#ie# PROC schliesse menu: Zweck: Der Befehl wird bei der Generierung von Menukarten benötigt. Durch den Befehl wird ein Menu in einer Menukarte abgeschlossen (sehen Sie auch 'oeffne menu') #ib#schliesse menukarte#ie# PROC schliesse menukarte Zweck: Der Befehl wird bei der Generierung von Menukarten benötigt. Durch den Befehl wird eine Menukarte abgeschlossen (sehen Sie auch 'oeffne menukarte') #ib#senkrecht#ie# TEXT PROC senkrecht: Zweck: Liefert das Zeichen, das bei der Darstellung der "Kästen" als senkrechter Strich (�) ausgegeben wird. PROC senkrecht (TEXT CONST zeichen): Zweck: Durch diese Prozedur kann das Zeichen festgelegt werden, das bei Dar­ stellung der "Kästen" als senkrechter Strich ausgegeben werden soll. #ib#show#ie# PROC show (WINDOW VAR fenster): Zweck: Das Fenster 'fenster' wird auf dem Bildschirm angezeigt (das Fenster muß zuvor durch 'window' initialisiert worden sein). Um den angegebe­ nen Fensterbereich wird automatisch ein Rahmen gezogen. Der Rahmen gehört nicht zum Fenster dazu! (Soll das Fenster ohne Rahmen ausgege­ ben werden, dann muß der Befehl 'page' verwendet werden.) Der Bereich innerhalb des Rahmens (Fensterbereich) wird gelöscht. #ib#show#ie# PROC show (WINDOW VAR w, TEXT CONST dateiname): Zweck: Vergl. 'menuwindowshow'. Hier wird nur zusätzlich das Fenster festgelegt, das bei 'menuwindowshow' automatisch gesetzt wird. PROC show (WINDOW VAR w, FILE VAR f): Zweck: Vergl. 'menuwindowshow'. Hier wird nur zusätzlich das Fenster festgelegt, das bei 'menuwindowshow' automatisch gesetzt wird. #ib#show menuwindow#ie# PROC show menuwindow: Zweck: Durch den Befehl 'show menuwindow' wird ein entsprechender Rahmen innerhalb des Menubildschirms ausgegeben und der Bereich innerhalb dieses Rahmens (das Fenster) gelöscht (sehen Sie auch 'menuwindow­ page'). Innerhalb des Fensters können anschließend verschiedene Opera­ tionen ausgeführt werden. Auf die Größe des Menufensters kann kein Einfluß genommen werden - sie wird selbständig vom System gesetzt ("normales" Menu: 77 Zeichen breit und 20 Zeichen hoch; geschachteltes Menu 71 Zeichen breit und 16 Zeichen hoch). #ib#stdinfoedit#ie# PROC stdinfoedit (TEXT CONST dateiname):#u#(*)#e# Zweck: Löscht den Bildschirm und bietet die Datei 'dateiname' in einem festge­ legten zum Editieren an. In der Fußzeile wird die Information "Info:   Verlassen: " angezeigt. Nach Tippen von werden Editorinformationen in den Bildschirm einge­ blendet. PROC stdinfoedit (FILE VAR f):#u#(*)#e# Zweck: Wie obige 'stdinfoedit'-Prozedur'. Die Datei 'f' muß mit der Verarbei­ tungsart 'modify' assoziiert worden sein. PROC stdinfoedit (TEXT CONST dateiname, INT CONST oberste zeile):#u#(*)#e# Zweck: Wie obige Prozedur (die wie 'stdwinfoedit (w, 1)' wirkt). Allerdings kön­ nen bis zu zwei Zeilen oben auf dem Bildschirm unbenutzt bleiben (z.B. um die Kopfzeile des Menus weiterhin anzuzeigen). 'oberste zeile' gibt an, welche Bildschirmzeile die erste von dieser Prozedur benutzte ist (1<= oberste zeile<=3). PROC stdinfoedit (FILE VAR f, INT CONST oberste zeile):#u#(*)#e# Zweck: Wie obige 'stdinfoedit'-Prozedur'. Die Datei 'f' muß mit der Verarbei­ tungsart 'modify' assoziiert worden sein. #ib#stop#ie# PROC stop (WINDOW VAR w, INT CONST zeilenzahl): Zweck: Vergl. 'menuwindowstop'. Hier wird nur zusätzlich das Fenster festgelegt, das bei 'menuwindowstop' automatisch gesetzt wird. PROC stop (WINDOW VAR w): wirkt wie: stop (w, 1). #ib#testinstallation#ie# PROC testinstallation (TEXT CONST menutafelname): Zweck: Die Menutafel mit dem Namen 'menutafelname' (muß mit dem 'gs-MENUKARTE:' beginnen!) wird als aktuelle Menutafel an gs-DIALOG gekoppelt. Durch den Befehl wird die angegebene Menutafel zur Task 'gs-MENUAKRTEN' geschickt. Dem Namen wird zur Kennzeichnung noch der Taskname der Sendertask angehängt (dadurch können sich bei Multi-User-Betrieb verschiedene Anwender mit gleichen Menukarten­ namen nicht stören). Die Menukarte wird anschließend in jedem Fall "frisch" angekoppelt. Außerdem bleibt die Menukarte (als benannter Datenraum) in der Task erhalten! (Mit dem Befehl 'handle menu' kann nun ein Menu aus der Menukarte zur Ausführung gebracht werden oder mit 'anwendungstext' auf in die Menukarte ausgelagerte Texte zugegriffen werden.) Hinweis: Von Zeit zu Zeit muß der Systembetreuer die überflüssigen Menukarten aus der Task 'gs-MENUKARTEN' entfernen, da die Anwender aus Ihrer Task die Karten nicht löschen können! Fehler: 'menutafelname' gibt es nicht! 'menutafelname' hat falsche(n) Typ/Bezeichnung (keine gs-MENUKARTE)! #ib#trennlinie#ie# PROC trennlinie: Zweck: Der Befehl wird bei der Generierung von Menukarten benötigt. Durch den Befehl wird unter dem aktuellen Oberbegriff eine Trennlinie zur opti­ schen Trennung einzelner Menupunkte eingetragen. Die Trennlinie belegt den gleichen Platz wie eine Verarbeitungsfunktion. Fehler: Zu viele Menupunkte in einem Pull-Down-Menu (maximal 15 incl. der Trennlinien!). #ib#textprozedur#ie# PROC textprozedur (TEXT CONST dateiname, prozedurname): Zweck: Der Befehl wird benötigt, um Texte entsprechend der gs-DIALOG-Syntax aufzuarbeiten. Der in die Datei 'dateiname' geschrieben Text wird bear­ beitet. Die Prozedur eignet sich insbesondere dafür, Informationstexte aufzuarbeiten, die zu den einzelnen Menufunktionen ausgegeben werden, wenn der Benutzer die Tastenfolge tippt (sehen Sie auch 'textzeile'). Der aufbereitete Text steht anschließend in der Datei 'datei­ name.a'. Der Text ist in eine Textprozedur "verpackt", die den Namen hat, der als zweiter Parameter übergeben wird. Die Zeilen werden dabei so zugeschnitten, daß Sie in einer Box in das aktuelle Menu eingeblendet werden können. Boxbreite und -höhe werden automatisch gesetzt (max. 65 Zeichen breit und 14 Zeichen hoch)); die Zeilen werden geblockt, sofern in der Datei keine Absatzmarkierung () am Ende der Zeile vorhanden ist. Soll eine Zeile zentriert werden, so muß als erstes Zeichen der Zeile das Zeichen '%' notiert sein - die Zeile muß durch eine Absatzmarke abgeschlossen sein. Textpassagen, die invers (markiert) dargestellt werden sollen, müssen duch das Zeichen '$' eingeleitet und durch das Zeichen '&' abgeschlossen werden. Markier­ te Textpassagen dürfen (nach dem Zuschnitt!) nicht über Zeilengrenzen hinausgehen! Fehler: Datei 'dateiname' existiert nicht! Fonttabelle 'fonttab.gs-Menu-Generator' existiert nicht! (Fonttabelle von gs-Menu-Generator-Diskette in die Task 'configurator' laden!) Text ist zu lang - bitte kürzen! (Text darf in aufbereiteter Form maximal 14 Zeilen umfassen!) Zeilenformatierung mit abgebrochen! #ib#textzeile#ie# PROC textzeile (TEXT CONST dateiname): Zweck: Der Befehl wird benötigt, um Texte entsprechend der gs-DIALOG-Syntax aufzuarbeiten. Der in die Datei 'dateiname' geschrieben Text wird bear­ beitet. Die Prozedur eignet sich insbesondere dafür, anwendungsbezogene Texte aufzuarbeiten, die in die Menukarte ausgelagert werden sollen (sehen Sie auch 'textprozedur'). Der aufbereitete Text steht anschließend in der Datei 'dateiname.a' in einer Zeile notiert. #ib#waagerecht#ie# TEXT PROC waagerecht: Zweck: Liefert das Zeichen, das bei der Darstellung der "Kästen" als waagerechter Strich (̇) ausgegeben wird. PROC waagerecht (TEXT CONST zeichen): Zweck: Durch diese Prozedur kann das Zeichen festgelegt werden, das bei Dar­ stellung der "Kästen" als waagerechter Strich ausgegeben werden soll. #ib#window#ie# WINDOW PROC window (INT CONST x, y, xsize, ysize): Zweck: Einer Fenstervariablen (WINDOW VAR name) wird die Lage und Größe zugeordnet (über den Zuweisungsoperator ':='). Gleichzeitig wird das Fenster initialisiert. Mit den ersten beiden Parametern wird die Lage der linken oberen Ecke des Fensters bestimmt (x: Spalte; y: Zeile). Mit 'xsize' wird die Fenster­ breite, mit 'ysize' die Fensterhöhe festgelegt. Das Fenster wird noch nicht(!) angezeigt (sehen Sie dazu 'show' und 'page'). Ein Rahmen wird nicht zum Fenster gezählt; er kann aber mit der Prozedur 'show' ausgegeben werden. Ein Fenster darf nicht breiter als 80 und höher als 24 Zeichen sein. Umrahmte Fenster unterliegen weite­ ren Einschränkungen (sehen Sie auch 'show'). Ein Fenster muß min­ destens 6 Zeichen breit und 3 Zeichen hoch sein. Fehler: 'Window' ungültig #ib#write menunotice#ie# PROC write menunotice (TEXT CONST notiztext, INT CONST position): Zweck: Die Prozedur dient dazu, innerhalb des Menus in einer Box einen "dauer­ haften Informationstext" auszugeben. Die Box bleibt nämlich so lange bestehen, bis sie explizit gelöscht (sehen Sie auch 'erase menunotice') oder durch einen neuen Notiztext überschrieben wird. Wenn der Bild­ schirm durch gs-DIALOG-Prozeduren überschrieben wird, wird die Menunotiz ebenfalls ständig mitaufgefrischt und auch, wenn der Befehl 'regenerate menuscreen' oder 'refresh submenu' gegeben wird (Sehen Sie im Gegensatz dazu auch 'menuinfo' ("kurzzeitiger Informationstext"). Im Menubildschirm erscheint der 'infotext' in einer Box. Boxbreite und -höhe werden vom System automatisch anhand des übergebenen 'notiz­ text'es festgelegt. 'notiztext' muß den gs-DIALOG-Syntax-Regeln (sehen Sie Kap. 5.13) entsprechen. Mit 'position' wird die relative Lage der Box innerhalb des Menubildschirms festgelegt (1, 2, 3, 4, 5: sehen Sie dazu Kap. 5.12). In einem Menu kann zu einem Zeitpunkt nur eine Menunotiz abgelegt werden. Durch ein erneutes 'write menunotice' wir eine beste­ hende Menunotiz überschrieben. #ib#yes#ie# BOOL PROC yes (WINDOW VAR w, TEXT CONST frage): Zweck: Vergl. 'menuwindowyes'. Hier wird nur zusätzlich das Fenster festgelegt, das bei 'menuwindowyes' automatisch gesetzt wird.