von Birgitta Hauser
Für einen Windows-Programmierer ist es einfach eine Message-Box zu erstellen und darin einen beliebigen Text anzuzeigen, z.T. auch deshalb, weil er kaum eine andere Möglichkeit hat. Im Zeitalter der „Windows-Kinder“, werden solche Techniken auch von Green Screen-Anwendungen erwartet. Für viele iSeries/System i Programmierer, die für den Green Screen programmieren, scheinen solche „Spielchen“ jedoch zu aufwändig:
Eine Display-File muss erstellt werden · Zeilen-Umbrüche müssen gesteuert werden, ansonsten gibt es u.U. unschöne Umbrüche mitten im Wort. · Wenn dann auch noch mit Mehrsprachigkeit gearbeitet wird und die Texte aus Message-Files ermittelt und aufbereitet werden müssen, wird das ganze noch komplizierter. · Werden längere Texte angezeigt, müssen auch noch Seitenwechsel gesteuert werden. Oder man muss mit Subfiles arbeiten.
Dabei kann man solche Popup-Windows über API (Application Programming Interface) QUILNGTX (Display Long Text) ganz einfach generieren ohne eine Display-File verwenden zu müssen.
Vorteile:
- · Es wird keine Display-File benötigt, der anzuzeigende Text wird als Parameter übergeben. · Das API beinhaltet eine eigene Wordwrap-Steuerung, so dass keine Umbrüche mitten im Wort erfolgen. · Bei längeren Texte wird automatisch eine Blätter-Funktion aktiviert.
Nachteile:
- · Man hat bei diesem API keine Möglichkeit den Text zu formatieren, d.h. Leer-Zeilen oder Absätze sind nicht möglich. · Weder die Fenstergröße, noch die Position des Fensters kann beeinflusst werden.
Parameter-Beschreibung für API QUILNGTX:
Bezeichnung
|
Input/Output | Definition |
Text String | Input | Alphanumerisch Max. 16MB |
Länge Text String | Input | 4 Byte Binär entspricht in RPG: 9B 0 oder besser 10I 0 |
Message-Id Wenn angegeben wird der entsprechende Message-Text als Überschrift angezeigt. Ohne Message-Id wird keine Überschrift angezeigt | Input | >Alphanumerisch 7 Bytes |
Qualifizierte Message-File für Überschrift Stelle 01-10 = Message-File Stelle 11-20 = Bibliothek | Input | Alphanumerisch 20 Bytes |
Error-Datenstruktur | Input/Output | Error Code Parameter |
Tabelle 1: Parameter-Beschreibung für API QUILNGTX Aufruf des APIs QUILNGTX aus einem CL-Beispiel-Programm:
PGM
/* Definieren Variable */
DCL VAR(&TEXT) TYPE(*CHAR) LEN(256)
DCL VAR(&LENTEXT) TYPE(*CHAR) LEN(4) +
VALUE(X'00000100')
DCL VAR(&MSGID) TYPE(*CHAR) LEN(7)
DCL VAR(&MSGFILE) TYPE(*CHAR) LEN(20)
DCL VAR(&ERRORDS) TYPE(*CHAR) LEN(256) +
VALUE(X'0000010000000000')
/* Anzeigen Text in Fenster */
CHGVAR VAR(&TEXT) +
VALUE('über API QUILNGTX ist es möglich +
beliebige Texte in einem Fenster +
anzuzeigen, ohne eine Display-File +
zu verwenden!')
CALL PGM(QUILNGTX) +
PARM(&TEXT /* Anzuzeigender Text */ +
&LENTEXT /* Länge Text binär */ +
&MSGID /* Message-Id Überschrift */ +
&MSGFILE /* Qual. Message-File */ +
&ERRORDS) /* Error-Datenstruktur */
ENDE: ENDPGM
Bild 01: Aufruf des APIs QUILNGTX aus einem CL-Programm
Noch nicht Abonnent? Sonderaktion nutzen.