HotTip: Message-Box mit Green Screen, OHNE Display-File!

11. November 2008 | Von | Kategorie: Tools, Hot-Tips

Artikel HotTip der NEWSolutions: 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:.

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:

NEWSbriefverkehrEine 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

Schlagworte: , , , , , , , , , , , ,

Schreibe einen Kommentar

Sie müssen eingeloggt sein, um einen Kommentar schreiben.