summaryrefslogtreecommitdiff
path: root/doc/menugenerator/menu-generator handbuch.7
diff options
context:
space:
mode:
Diffstat (limited to 'doc/menugenerator/menu-generator handbuch.7')
-rw-r--r--doc/menugenerator/menu-generator handbuch.7367
1 files changed, 0 insertions, 367 deletions
diff --git a/doc/menugenerator/menu-generator handbuch.7 b/doc/menugenerator/menu-generator handbuch.7
deleted file mode 100644
index 2e6f0ba..0000000
--- a/doc/menugenerator/menu-generator handbuch.7
+++ /dev/null
@@ -1,367 +0,0 @@
-#block##pageblock#
-#pagenr("%",1)##setcount(1)##count per page#
-#headeven#
-gs-Menu-Generator
-#center#____________________________________________________________
-
-#end#
-#headodd#
-#right#gs-Menu-Generator
-#center#____________________________________________________________
-
-#end#
-#bottomeven#
-#center#____________________________________________________________
-7 - % #right#ERGOS
-#end#
-#bottomodd#
-#center#____________________________________________________________
-ERGOS #right# 7 - %
-#end#
-#ib#7  Eigene Fenster und Fensteroperationen #ie#
-
-
-In Kapitel 5.11 haben wir Ihnen gezeigt, wie Sie innerhalb des Menus ein Fenster
-(das Menufenster) öffnen können. Innerhalb dieses Bereichs stehen Ihnen die
-wesentlichen Ein- und Ausgabeoperationen zur Verfügung, die Sie auch sonst vom
-Bildschirm her kennen. Auf die Größe des Menufensters können Sie allerdings keinen
-Einfluß nehmen, da die Fenstergröße automatisch vom System (gs-DIALOG) festge­
-legt wird - je nachdem, ob Sie mit einem Menu oder mit geschachtelten Menus
-arbeiten.
-Auf die Einschränkungen bzw. Abweichungen gegenüber den Möglichkeiten, die Sie
-bei Benutzung des ganzen Bildschirms haben, haben wir Sie ausdrücklich hingewie­
-sen: So ist es nicht möglich, den Text innerhalb eines Fensters zu rollen (scrolling);
-statt dessen wird bei Überschreiten der unteren Fenstergrenze der Fensterinhalt
-gelöscht und die Ausgabe oben im "neuen" Fenster fortgesetzt.
-Als wir gs-DIALOG konzipierten und die ersten Anwendungen unter dieser Benutzer­
-schnittstelle entwarfen, fiel uns auf, daß es sehr günstig für die Strukturierung des
-Bildschirms innerhalb der Anwendungsprogramme ist, wenn man den Bildschirm in
-Bereiche (Fenster) einteilen und den Fenstern entsprechende Funktionen zuweisen
-kann (z.B. Eingabe-, Informations-, Kontroll-Fenster etc.). Sinnvoll ist es dann, auch
-die entsprechenden Ein-/Ausgaberoutinen zur Verfügung zu haben, die sich auf die
-einzelnen Fenster beziehen.
-
-In diesem Kapitel werden wir Ihnen zeigen, wie Sie eigene Fenster definieren und
-darin Ein- und Ausgaben realisieren können. Für die Fenster gelten die gleichen
-Einschränkungen wie für das Menufenster - d.h. ein Rollen des Textes (scrolling) ist
-nicht möglich. Die Fensterposition und -größe innerhalb des Bildschirms können Sie
-aber festlegen.
-
-
-#ib#7.1 Definition von Fenstern ('window')#ie#
-
-Das Fensterkonzept in gs-DIALOG ist sehr einfach gehalten: Durch die Definition
-des Fenters werden nur Bereiche auf dem Bildschirm festgelegt, auf die sich
-bestimmte Ein-/Ausgabeprozeduren beziehen.
-
-Wir wollen Ihnen die Verwendung von Fenstern wieder an einem kleinen Beispiel
-verdeutlichen - bleiben wir dazu bei unserer Textverarbeitung: Für die Seitenforma­
-tierung müßte der Benutzer den oberen und linken Rand, die Schreibfeldbreite und
-die Schreibfeldlänge festlegen. Dazu wollen wir dem Benutzer die aktuellen Werte
-anzeigen und ggf. eine Neueinstellung vornehmen lassen. Ein Programm dazu könnte
-so aussehen:
-
-
-WINDOW VAR info :: window ( 2, 2, 32, 9),
- frage :: window (36, 2, 40, 3),
- daten :: window (36, 7, 40, 4);
-
-TEXT VAR oberer rand :: " 2.54",
- linker rand :: " 2.54",
- feldbreite :: "16.00",
- feldlaenge :: "24.50";
-
-
-zeige aktuelle werte an;
-frage nach neueinstellung.
-
-zeige aktuelle werte an:
- page; show (info);
- out (info, center (info, invers ("Aktuell eingestellte Werte:")));
- cursor (info, 2, 4);
- out (info, "Oberer Rand : " + oberer rand + " cm");
- cursor (info, 2, 5);
- out (info, "Linker Rand : " + linker rand + " cm");
- cursor (info, 2, 7);
- out (info, "Schreibfeldbreite : " + feldbreite + " cm");
- cursor (info, 2, 8);
- out (info, "Schreibfeldlänge : " + feldlaenge + " cm").
-
-frage nach neueinstellung:
- show (frage);
- cursor (frage, 1, 1);
- out (frage, center (frage, invers ("Papierformat einstellen:")));
- cursor (frage, 2, 3);
- IF yes ("Neueinstellung vornehmen")
- THEN neue werte erfragen
- FI.
-
-neue werte erfragen:
- show (daten);
- erfrage oberen rand;
- erfrage linken rand;
- erfrage feldbreite;
- erfrage feldlaenge.
-
-erfrage oberen rand:
- REAL VAR neuer oberer rand;
- cursor (daten, 1, 1);
- out (daten, center (daten, invers ("Oberen Rand einstellen:")));
- cursor (daten, 2, 3);
- out (daten, "Bitte den neuen Wert: ");
- get (daten, neuer oberer rand);
- oberer rand := text (neuer oberer rand, 5, 2);
- cursor (info, 23, 4);
- out (info, oberer rand).
-
-erfrage linken rand:
- (* analog zu 'erfrage oberen rand *).
-
-erfrage feldbreite:
- (* analog zu 'erfrage oberen rand *).
-
-erfrage feldlaenge:
- (* analog zu 'erfrage oberen rand *).
-
-
-
-Am Anfang des Programms werden drei Fenster definiert. Das "Infofenster" erscheint
-links oben auf dem Bildschirm, in ihm werden die aktuell eingestellten Werte ange­
-zeigt. Das "Fragefenster" erscheint neben dem ersten Fenster oben rechts auf dem
-Bildschirm.
-Beantwortet der Benutzer die dort ausgegebene Frage 'Neueinstellung vornehmen
-(j/n)?' mit 'ja', dann erscheint unter dem zweiten Fenster ein drittes
-("Datenfenster"). Innerhalb dieses Fensters können nacheinander die neuen Werte
-eingelesen werden (nicht alle Prozeduren sind hier ausgeführt!).
-
-Die Definition eines Fensters erfolgt in folgender Weise:
-
- #ib#WINDOW#ie# VAR fenstername :: #ib#window#ie# ( x, y, xsize, ysize);
-
-Der Fenstervariablen wird durch 'window' eine Größe zugeordnet. Mit den ersten
-beiden Werten legen Sie die linke obere Ecke des Fensters ('x' bezeichnet die Spalten,
-'y' die Zeilen) auf dem Gesamtbildschirm fest. Mit 'xsize' bestimmen Sie die Fenster­
-breite (Spaltenzahl), mit 'ysize' die Höhe des Fensters (Zeilenzahl). Der Fenster­
-cursor hat die Position (1,1).
-Die linke obere Ecke des ersten Fensters im Programm hat also die Position ( 2, 2).
-Das Fenster ist 32 Spalten breit und 9 Zeilen hoch; es kann unter dem Namen 'info'
-angesprochen werden.
-Bei der Festlegung der Fenstermaße ist der Rahmen des Fensters nicht berücksich­
-tigt - er gehört nicht zum Fenster dazu! Haben Sie die Absicht, das Fenster mit
-Rahmen auszugeben, dann sollten Sie das bei der Fensterdefinition berücksichtigen.
-Wir haben es im Beispielprogramm auch gemacht: Die linke obere Ecke hat gerade
-die Position (2,2) erhalten, damit noch der Rahmen Platz hat. Mit Rahmen ist unser
-Fenster also 34 Spalten breit und 11 Zeilen hoch. Die linke obere Ecke des zweiten
-Fensters ('frage') legen wir deshalb in die 36. Spalte und 2. Zeile, damit auch hier
-Platz für den Rahmen bleibt.
-Eine wichtige Einschränkung sollten Sie unbedingt berücksichtigen: Da manche
-Terminals mit Beschreiben der Position (80,24) automatisch den Bildschirm
-löschen, haben wir die maximale Ausdehnung eines umrandeten Fensters auf (2, 2,
-77, 22) festgelegt. Überschreiten Sie irgendwo diese Grenzen, dann wird kein Rah­
-men mehr erzeugt. Der Rahmen wird auch dann nicht erzeugt, wenn er in der 0.
-Zeile, 0.Spalte, 25 Zeile oder 80 Spalte zu liegen käme - erst recht natürlich nicht,
-wenn diese Werte noch unter- bzw. überschritten werden.
-
-
-#ib#7.2 Anzeigen/Löschen von Fenstern#ie#
- ('#ib#show#ie#', '#ib#page#ie#', '#ib#erase#ie#', '#ib#out frame#ie#')
-
-Mit dem Befehl 'show (WINDOW VAR w)' wird das Fenster 'w' angezeigt. Der Fenster­
-variablen müssen natürlich zuvor die Maße des Fensters zugewiesen sein. Durch den
-Befehl wird um den angegebenen Fensterbereich ein Rahmen gezogen und der
-"Innenbereich" des Fensters gelöscht. Möchten Sie das Fenster ohne Rahmen ange­
-zeigt haben, so verwenden Sie nur den Befehl 'page (WINDOW VAR w)'. Durch die­
-sen Befehl wird nur der "Innenbereich" des Fensters gelöscht.
-Haben Sie das Fenster einmal mit 'show' ausgegeben und wollen den Fensterinhalt
-löschen, so verwenden Sie auch hier den Befehl 'page (WINDOW VAR w)', denn der
-Rahmen braucht ja nicht erneut ausgegeben zu werden.
-Möchten Sie ein Fenster und den zugehörigen Rahmen löschen, dann steht Ihnen der
-Befehl 'erase (WINDOW VAR w) zur Verfügung: Durch den Befehl wird sowohl der
-"Innenbereich" des Fensters als auch der Rahmen gelöscht.
-Sie können natürlich auch selbst einen Rahmen um ein Fenster setzen. Dafür steht
-der Befehl 'out frame (WINDOW VAR w)' zur Verfügung. Der Rahmen wird ebenfalls
-um den durch 'w' bestimmten Fensterbereich gezogen - der "Innenbereich" bleibt
-unberührt!
-
-Sollten Sie ein Fenster mit dem Befehl 'show' ausgeben (oder mit 'out frame' einen
-Rahmen erzeugen) wollen, aber kein Rahmen auf dem Bildschirm erscheint, so
-haben Sie die zulässigen Fenstergrenzen überschritten. Sehen Sie dazu auch Kapitel
-7.1.
-
-
-#ib#7.3 Operationen innerhalb des Fensters#ie#
-
-Innerhalb des selbstdefinierten Fensters stehen Ihnen die gleichen Operationen zur
-Verfügung wie innerhalb des Menufensters. Bezieht sich eine Operation auf ein
-Fenster, so wird der interne Fensterbezeichner als erster Parameter übergeben.
-
-
-#ib#7.3.1 Datei anzeigen/editieren #ie#('#ib#edit#ie#', '#ib#show#ie#')
-
-Zum Anzeigen einer Datei steht die Prozedur 'show' zur Verfügung. Dabei kann
-einmal ein FILE angegeben werden ('show (WINDOW VAR w, FILE VAR f)') oder aber
-der Name der anzuzeigenden Datei ('show (WINDOW VAR w, TEXT VAR dateiname)').
-Die Datei kann nur eingesehen, nicht aber schreibend verändert werden.
-Die Prozedur 'edit' gibt es ebenfalls in den zwei Ausprägungen. Hier kann die Datei
-im Gegensatz zu 'show' auch schreibend verändert werden.
-Durch diesen Befehl wird jeweils innerhalb des angegebenen Fensters die Datei
-ausgegeben. Sofern die Lage des Fensters es zuläßt, wird automatisch ein Rahmen
-um das Dateifenster gezogen.
-
-
-#ib#7.3.2 Positionierungen im Fenster#ie#
- ('#ib#cursor#ie#', '#ib#get cursor#ie#', '#ib#line#ie#', '#ib#remaining lines#ie#')
-
-Mit 'cursor (WINDOW VAR w, INT CONST spalte, zeile)' können Sie den Cursor inner­
-halb des angegebenen Fensters positionieren. Werden dabei die Fenstergrenzen über-
-oder unterschritten, so wird der Fensterinhalt gelöscht und auf die Position (1, 1)
-innerhalb des Fensters positioniert.
-Mit der Prozedur 'get cursor (WINDOW VAR w, INT VAR spalte, zeile)' können Sie die
-aktuelle Cursorposition innerhalb des angegebenen Fensters erfragen.
-Wollen Sie an den Anfang der nächsten Zeile positionieren, dann verwenden Sie den
-Befehl 'line (WINDOW VAR w)' - wollen Sie gleich mehrere Zeilen vorwärtspositionie­
-ren, dann benutzen Sie den Befehl 'line (WINDOW VAR w, INT VAR anzahl zeilen)'.
-Wird allerdings bei einem der beiden letzten Befehle die untere Fenstergrenze über­
-schritten, so wird der Fensterinhalt gelöscht und die Operation in der ersten Zeile des
-neuen Fensters fortgesetzt.
-Die Informations-Prozedur 'remaining lines (WINDOW VAR w)' liefert Ihnen die
-Anzahl der unterhalb der aktuellen Zeile noch im Fenster vorhanden Zeilen.
-
-
-#ib#7.3.3 Ein- und Ausgaben innerhalb des Fensters#ie#
- ('#ib#out#ie#', '#ib#put#ie#', '#ib#putline#ie#', '#ib#get#ie#', '#ib#getline#ie#', '#ib#yes#ie#', '#ib#no#ie#')
-
-Mit der Prozedur 'out (WINDOW VAR w, TEXT CONST text)' können Sie einen Text
-innerhalb des angegebenen Fensters ausgeben. Paßt der Text nicht mehr in die
-aktuelle Zeile, so wird er in der nächsten Zeile fortgesetzt.
-Bedenken Sie, daß innerhalb der Fenster kein Wortumbruch realisiert ist. Ebenso­
-wenig ist das Rollen (scrolling) des Fensterinhalts möglich: Erfolgt die Ausgabe eines
-Textes über die untere Fenstergrenze hinaus, so wird der Fensterinhalt gelöscht und
-die Ausgabe an der Position (1, 1) des Fensters fortgesetzt.
-Zur Ausgabe von Texten stehen noch die beiden Prozeduren 'put (WINDOW VAR w,
-TEXT CONST text)' und 'putline (WINDOW VAR w, TEXT CONST text)' zur Verfügung.
-Bei erstgenannter Prozedur wird gegenüber 'out' an die Ausgabe noch ein Leerzei­
-chen angehängt, bei der zweiten wird zusätzlich an den Anfang der nächsten Zeile
-positioniert.
-Zahlenwerte können mit den Prozeduren 'put (WINDOW VAR w, INT CONST intwert)'
-und 'put (WINDOW VAR w, REAL CONST realwert)' ausgegeben werden. An die
-Zahlenwerte wird jeweils ein Leerzeichen angehängt.
-
-Für das Einlesen von Werten steht die Prozedur 'get' in mehreren Varianten zur
-Verfügung. Mit 'get (WINDOW VAR w, TEXT VAR text)' kann ein Text an der aktuellen
-Position des Fensters eingelesen werden. Stehen in der aktuellen Zeile des Fensters
-weniger als 5 Zeichenpositionen für die Eingabe zur Verfügung, so wird automatisch
-auf den Anfang der nächsten Zeile innerhalb des Fensters positioniert.
-Über einen dritten Parameter können noch zusätzliche Festlegungen getroffen wer­
-den: Soll die Eingabe noch durch weitere Zeichen (außer Positionierungszeichen)
-abgeschlossen werden können, so werden die Zeichen als TEXT übergeben( 'get
-(WINDOW VAR w, TEXT VAR text, TEXT CONST separator)'), soll die Maximallänge des
-einzugebenden Textes festgelegt sein, so wird diese als INT übergeben ('get (WINDOW
-VAR w, TEXT VAR text, INT CONST laenge)').
-
-Mit den Prozeduren 'get (WINDOW VAR w, INT VAR intwert)' und 'get (WINDOW VAR
-w, INT VAR realwert)' können auch Zahlenwerte innerhalb des Fensters eingelesen
-werden.
-
-Damit dem Anwender auch Vorschläge für der Eingabe gemacht werden können,
-steht die Prozedur 'editget' in zwei Variationen zur Verfügung. Bei 'editget' (WINDOW
-VAR w, TEXT VAR ausgabe) wird 'ausgabe zum Editieren ausgegeben. Daneben
-existiert noch ein 'editget' mit 7 Parametern, der detailliert bei der Zusammenstel­
-lung der Befehle erläutert ist.
-
-Ebenso wie auf dem Gesamtbildschirm und innerhalb des Menufensters stehen auch
-hier die beiden Prozeduren 'yes (WINDOW VAR w, TEXT CONST frage)' und 'no
-(WINDOW VAR w, TEXT CONST frage)' zur Verfügung.
-
-
-#ib#7.3.4 Weitere Prozeduren #ie#('#ib#center#ie#', '#ib#stop#ie#')
-
-Mit 'center (WINDOW VAR w, TEXT CONST text)' werden vor dem angegebenen Text
-so viele Leerzeichen angehängt, daß der Text zentriert in der aktuellen Fensterzeile
-ausgegeben wird - wenn der Cursur bei der Ausgabe auf der ersten Position der Zeile
-steht. Dabei werden aber bereits vorhandene Zeileninhalte überschrieben.
-
-Durch die Prozedur 'stop (WINDOW VAR w)' wird innerhalb des angegebenen Fen­
-sters an den Anfang der übernächsten Zeile positioniert und der Text " Zum Weiter­
-machen bitte irgendeine Taste tippen!" ausgegeben. Möchten Sie nicht an den Anfang
-der übernächsten Zeile positionieren, so können Sie die Anzahl der Zeilen auch
-explizit festlegen durch 'stop (WINDOW VAR w, INT CONST zeilenzahl).
-
-
-#ib#7.4 Boxoperationen#ie#
-
-Innerhalb des Menufensters (sehen Sie Kapitel 5) stehen Ihnen die Prozeduren
-'menuanswer', 'menuinfo', 'menuone', 'menusome', 'menuanswerone',
-'menuanswersome', 'menuyes', 'menuno', 'menualternative', 'write menunotice' und
-'menufootnote' zur Verfügung. Alle diese Prozeduren bezogen sich auf das von
-gs-DIALOG automatisch gesetzte Menufenster.
-Auch innerhalb der von Ihnen selbst definierten Fenster können Sie auf ähnliche
-Prozeduren zurückgreifen. Da wir die eben genannten Prozeduren in Kapitel 5 sehr
-detailliert beschrieben haben, werden wir hier nur auf die entsprechenden
-Beschreibungen verweisen und ggf. die Besonderheiten/Abweichnungen erwähnen.
-Zu beachten ist, daß innerhalb des Fensters weder die oberen noch die unteren zwei
-Zeilen von der "Box" beschrieben werden. Die oberen bleiben ständig frei - die unter­
-en werden zur Ausgabe der zugehörigen Benutzerinformation (Fußnote) benutzt -
-das sollten Sie bei der Festlegung der Fenstergröße bzw. bei der Länge der zu über­
-gebenden Texte berücksichtigen. Bei der Übergabe der Texte müssen Sie sich an die
-gs-DIALOG Syntax-Regeln halten, die in Kapitel 5.12 beschrieben sind.
-
-Die Prozedur '#ib#boxanswer#ie# (WINDOW VAR w, TEXT CONST ausgabetext, antwortvorgabe,
-INT CONST position)' arbeitet wie die Prozedur 'menuanswer (TEXT CONST ausgabe­
-text, antwortvorgabe, INT CONST position)' nur innerhalb des Fensters 'w' (sehen Sie
-auch Kapitel 5.1).
-
-Die Prozedur '#ib#boxinfo#ie#' gibt es in zwei Ausführungen: 'boxinfo (WINDOW VAR w, TEXT
-CONST text)' arbeitet wie 'menuinfo (TEXT CONST text)', allerdings auf dem angege­
-benen Fenster. Bei 'boxinfo (WINDOW VAR w, TEXT CONST text, INT CONST position,
-timelimit)' kann über den dritten Parameter noch die relative Position im angegebe­
-nen Fenster (sehen Sie dazu Kapitel 5.12) und über den vierten Parameter die Zeit­
-spanne festgelegt werden, für die die Information erscheint (sehen Sie auch Kap.
-5.2).
-
-Die Prozedur '#ib#boxone#ie# (WINDOW VAR w, THESAURUS CONST thesaurus, TEXT CONST
-text1, text2, BOOL CONST mit reinigung)' arbeitet wie die Prozedur 'menuone
-(THESAURUS CONST thesaurus, TEXT CONST text1, text2, BOOL CONST mit reini­
-gung)'. Zu bedenken ist hier, daß die Auswahl innerhalb des Fensters Platz finden
-muß. Der Aufruf dieser Prozedur ist daher nur möglich, wenn das angegebene Fen­
-ster mindestens 60 Spalten breit und 17 Zeilen hoch ist. Ansonsten kommt es zu
-einer Fehlermeldung (sehen Sie auch Kap. 5.3).
-
-Die Prozedur '#ib#boxsome#ie# (WINDOW VAR w, THESAURUS CONST thesaurus, TEXT
-CONST text1, text2, BOOL CONST mit reinigung)' arbeitet wie die Prozedur
-'menusome (THESAURUS CONST thesaurus, TEXT CONST text1, text2, BOOL CONST
-mit reinigung)'. Hinsichtlich der Fenstergröße gelten die gleichen Einschränkungen
-wie bei 'boxone' (sehen Sie auch Kap. 5.4).
-
-Die Prozeduren '#ib#boxanswerone#ie#' und '#ib#boxanswersome#ie#' entsprechen den Prozeduren
-'menuanswerone' und 'menuanswersome'; es wird nur zusätzlich jeweils als erster
-Parameter das aktuelle Fenster übergeben. Hinsichtlich der Fenstergröße gelten die
-gleichen Einschränkungen wie bei 'boxone' (sehen Sie auch Kap. 5.5).
-
-Die Prozeduren '#ib#boxyes#ie#', '#ib#boxno#ie#' und '#ib#boxalternative#ie#' entsprechen den Prozeduren
-'menuyes', 'menuno' und 'menualternative'; es wird nur zusätzlich jeweils als erster
-Parameter das aktuelle Fenster übergeben (sehen Sie auch Kap. 5.6 und 5.7).
-
-Die Prozedur '#ib#boxnotice#ie#' unterscheidet sich von der Prozedur 'write menunotice'
-erheblich: Letztgenannte Prozedur hat zwei Parameter. Durch den ersten wird der
-Ausgabetext übergeben, mit dem zweiten wird die relative Position innerhalb des
-Menubildschirms festgelegt. Sowohl Text als auch Position werden vom System ge­
-speichert. Bei jedem Neuaufbau eines Pull-Down-Menus oder des Menubildschirms
-wird die Notiz neu mitaufgebaut.
-Die Prozedur 'boxnotice (WINDOW VAR w, TEXT CONST text, INT CONST position, INT
-VAR x, y, xsize, ysize) dagegen hat sieben Parameter. Über den ersten wird das aktuel­
-le Fenster festgelegt. Die beiden nächsten Parameter entsprechen den beiden Para­
-metern von 'write menunotice'. Über die letzten vier Parameter werden die Posi­
-tion/Maße der Box geliefert, die ja erst durch das Aussehen der übergebenen Texte
-festgelegt werden. Weder Text noch Position der Boxnotiz werden vermerkt. Wollen Sie
-die Notiz löschen, so verwenden Sie eine der Prozeduren '#ib#page#ie# (INT CONST x, y, xsize,
-ysize)' oder '#ib#page up#ie# (INT CONST x, y, xsize, ysize)'. Im ersten Falle erscheint es dem
-Betrachter, als ob die Box von oben nach unten "aufgerollt" würde, im zweiten Falle
-von unten nach oben.
-
-Mit den Prozeduren '#ib#out footnote#ie# (WINDOW VAR w, TEXT CONST text)' wird in der
-untersten Zeile des Fensters 'w' der angegebene Text ausgegeben. In der vorletzten
-Zeile des Fensters wird eine Trennlinie ausgegeben. Die Fußnote incl. der Trennline
-kann durch den Befehl '#ib#erase footnote#ie#' gelöscht werden.
-
-