Konsol-UI

EGL behält eine Konsol-UI-Technologie bei, um die Typen von Benutzerschnittstellen in Informix 4GL zu unterstützen. Diese Technologie zeigt Informationen auf drei Arten an:
Curses-Modus
Anzeige mithilfe von Curses in einem UNIX-System. Die Verwendung der Maus hat keinen Effekt. Verwenden Sie diesen Modus, wenn Sie eine Verbindung zu einem UNIX-System über Telnet herstellen oder während Sie eine Terminaleinheit (z. B. den Klassiker VT100 oder seinen Emulator) einsetzen.
Swing-Modus
Zeigt Text nur in einem Windows-System an. Die Verwendung der Maus hat keinen Effekt. Hier verwendet EGL die Java™ Swing-Bibliotheken, um die Ausgabe des Curses-Modus zu imitieren.
RCP-Modus
Zeigt eine lokale grafische Benutzerschnittstelle (GUI) unter Windows an, bei der es sich um eine einfachere Version der Rich-Client-Plattform (RCP) handelt. Mausoperationen, Ausschneiden und Einfügen und andere GUI-Standards werden unterstützt. Dieser Modus verwendet das Open-Source-Standard Widget Toolkit (SWT) für Java, um Steuerelemente wie Schaltflächen und Kombinationsfelder bereitzustellen.

Das Programm stellt ein Konsolformular dar und kann unmittelbar auf ein Benutzerereignis reagieren, z. B. wenn der Benutzer die Tabulatortaste drückt, um einen Cursor in der Anzeige in das nächste Feld zu verschieben. Die Auswertung findet Feld für Feld statt und Sie können vorgeben, dass der Cursor im aktuellen Feld verbleibt, bis der Benutzer gültige Daten eingegeben hat.

Die Konsol-UI ist nur in EGL-Programmen verfügbar, die für Java generiert wurden. Sie ist unter Umständen für Programme nützlich, die nicht aus I4GL migriert wurden, falls Sie lieber in einer Nicht-Webschnittstelle arbeiten.

Wenn Sie die Konsol-UI verwenden, codieren Sie ein Programm typischerweise folgendermaßen:
  1. Deklarieren Sie eine Gruppe von Variablen, die auf den Konsol-UI-Abschnitten basieren (siehe Abschnitt 'Variablen in der Konsol-UI binden' in diesem Thema), die immer verfügbar sind.
  2. Öffnen Sie ein Konsolformular, indem Sie eine Konsol-UI-Variable als Argument einfügen, wenn Sie die entsprechende EGL-Funktion aufrufen. Alternativ können Sie ein Formular (oder eine andere Konsol-UI-Variable) öffnen, indem Sie eine EGL-Funktion wie displayFormByName() aufrufen, die einen zur Laufzeit bekannten Namen akzeptiert.
  3. Verweisen Sie auf das Formular in einer EGL-Anweisung openUI. Die openUI-Anweisung bindet Ereignisse wie Benutzertastatureingaben an die Programmlogik.

EGL stellt eine Gruppe von Abschnitten speziell für Konsol-UI bereit (siehe Konsol-UI-Abschnitte). Verschiedene Formatierungsaspekte der Anzeige werden von Eigenschaften gesteuert, die spezifisch sind für diese Abschnitte. Weitere Informationen finden Sie unter den zugehörigen Referenzlinks.

Eine gängige Methode, Spalten von Informationen in einem Konsol-UI-Fenster anzuzeigen, umfasst die Verwendung eines Feldgruppenverzeichnisabschnitts (ArrayDictionary). Weitere Informationen finden Sie unter Arraywörterverzeichnis in der Konsolenbenutzerschnittstelle verwenden.

Die EGL-Sprachreferenz deckt nur die Sprachaspekte der Konsol-UI ab. Eine detailliertere Übersicht, einschließlich Informationen zur Verwendung von Konsol-UI in der Workbench, finden Sie im EGL-Programmiererhandbuch.

Variablen in der Konsol-UI binden

Konsol-UI kann Benutzereingaben an eine Variable binden, aber nur, wenn Sie eine Bindung, eine Korrespondenz zwischen dem Eingabefeld und einer Basisvariablen, angegeben haben. Die EGL-Laufzeit führt die folgenden Aktionen aus:
  • Verwendet den Variablenwert als ursprünglichen Inhalt eines angezeigten Felds.
  • Verschiebt die Benutzereingabe in diese Variable, wenn der Benutzer das Feld verlässt.

Sie können Konsol-UI-Felder zu dem Zeitpunkt an Variablen binden, an dem Sie das Feld deklarieren (siehe ConsoleField), oder Sie können sie an die openUI-Anweisung binden, wenn das Programm die Interaktion mit dem Benutzer startet (siehe openUI).

Konsol-UI im Zeilenmodus verwenden

Sie können die Konsol-UI auch im Zeilenmodus verwenden, bei dem Ihr Code immer nur jeweils eine Zeile liest oder schreibt. Dieser Modus eignet sich für die Stapelverarbeitung. Beispiel: Sie erstellen möglicherweise einen UNIX-Job cron, der Verwaltungsaufgaben ausführt, die nicht im interaktiven Modus abgearbeitet werden können, und der unformatierte Ausgaben einfach an 'stdout' sendet, ohne ein Formular zu verwenden.

Der Zeilenmodus bringt Folgendes mit sich:
  • In der Eclipse-Workbench interagiert der Benutzer mit der Konsolenansicht.
  • In einem Programm, das mittels einer Eingabeaufforderung aufgerufen wurde, interagiert der Benutzer mit dem Befehlsfenster.
  • In einem Programm, das im Curses-Modus unter UNIX ausgeführt wird, interagiert der Benutzer mit dem Fenster, indem die UI angezeigt wird, und die herkömmliche, fensterbasierte Interaktion wird ausgesetzt.

Kompatibilität

Tabelle 1. Hinweise zur Kompatibilität für die Konsol-UI
Plattform Problem
COBOL-Generierung EGL bietet keine Unterstützung für die Konsol-UI bei einer COBOL-Generierung.

Feedback