Formulare und ihre Typen werden im Thema Formularabschnitte beschrieben. Darin wird hauptsächlich auf die Darstellung von Textformularen eingegangen, mit denen formatierte Informationen in einer Anzeige angezeigt werden.
Mithilfe der Anweisung
converse können Sie dem Benutzer Zugriff auf ein einzelnes fixiertes Textformular geben. Der logische Ablauf Ihres Programms wird erst fortgesetzt, nachdem der Benutzer auf das angezeigte Formular reagiert. Sie können auch wie im folgenden Fall Ausgaben aus mehreren Formularen erstellen:
- Am Anfang der Ausgabe gibt ein fixiertes Formular ein Einkaufsunternehmen und eine Bestellnummer an.
- In einem nachfolgenden Gleitbereich gibt eine Serie von identisch formatierten, variablen Formularen jeden einzelnen Zeilenartikel der Unternehmensbestellung an.
- Am Ende der Ausgabe gibt ein fixiertes Formular die Anzahl von Anzeigen an, die erforderlich sind, um bis zum letzten Zeilenartikel in der Liste zu blättern.
Zwei Schritte sind notwendig:
- Zuerst erstellen Sie die Bestell- und Artikelausgabe, indem Sie eine Serie von display-Anweisungen codieren, von denen jede ein Formular zu einem Laufzeitpuffer hinzufügt, aber keine Daten in der Anzeige wiedergibt. Jede display-Anweisung wird für eines der folgenden Formulare ausgeführt:
- Anfangsformular
- Variables Formular, wie es von einer Anweisung display dargestellt wird, das wiederholt in einer Schleife aufgerufen wird
- Endformular
- Als nächstes stellt die EGL-Laufzeit alle gepufferten Textformulare in der Ausgabeeinheit in Antwort auf eine dieser Situationen dar:
- Das Programm führt eine converse-Anweisung aus. ODER
- Das Programm wird beendet.
In den meisten Fällen stellen Sie das letzte Formular Ihrer Anzeigeausgabe dar, indem Sie statt einer display-Anweisung eine converse-Anweisung codieren.
Die fixierten Formulare haben jeweils eine feste Anzeigeposition, deshalb ist es nicht entscheidend, in welcher Reihenfolge Sie sie angeben - in Relation zueinander und zu der wiederholten Anzeige von variablen Formularen. Die Inhalte des Puffers werden gelöscht, wenn eine Ausgabe an die Anzeige gesendet wird.
Wenn Sie ein Textformular durch ein anderes überlagern, treten keine Fehler auf, aber die folgenden Aussagen treffen zu:
- Falls ein partielles Formular Zeilen in einem anderen fixierten Formular überlagert, ersetzt EGL das vorhandene Formular, ohne den Rest der Ausgabe aus dem Puffer zu löschen.
Wenn Sie die vorhandene Ausgabe löschen möchten, bevor das neue Formular angezeigt wird, rufen Sie die Systemfunktion 'converseLib.clearScreen' auf, bevor Sie die Anweisung display oder converse für das neue Formular ausgeben.
- Wenn Sie eine Anweisung display oder converse verwenden, um eine Gleitmaske unterhalb des Gleitbereichs zu platzieren, werden alle variablen Formulare in diesem Gleitbereich gelöscht und das hinzugefügte Formular wird in der ersten Zeile desselben Gleitbereichs platziert.
- Wenn ein variables Formular ein fixiertes Formular überlagert, treffen die folgenden Aussagen zu:
- Nur die Zeilen des fixierten Formulars in dem Gleitbereich werden von dem variablen Formular überlagert.
- Das Ergebnis ist unvorhersehbar, wenn eine Zeile eines fixierten Formulars durch eine Zeile eines variablen Formulars überlagert wird, das ein Variablenfeld enthält.
Ob Sie ein Formular oder mehrere darstellen - das Ausgabeziel ist die Anzeigeeinheit, an der der Benutzer die Ausführungseinheit gestartet hat.