[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Nov 2014
    Beiträge
    2

    Bildschirm zentrieren (in verschiedenen Auflösungen)

    Hallo liebe Community,
    ich habe folgendes Problem.
    Ich wollte ein Fenster mit einer festen Größe zabhängig von der Bildschirmauflösung entriert einblenden.
    Dazu definierte ich im Displayfile ein Positionsfenster dessen Rahmen mit dynamischen Attributen belegt ist:

    35 DSPMOD(*DS4)
    A OVERLAY
    A WINDOW(&POSY &POSX 20 74)
    A WDWTITLE((*TEXT &TITEL) *CENTER)
    A TITEL 40A P
    A POSY 3S 0P
    A POSX 3S 0P

    Im dazugehörigen RPG-Programm prüfte ich dann mit Hilfes des externen Programmes OPDSPSIZ die aktuelle Bildschirmauflösung (DS3 oder DS4) und passte die Koordinaten des oberen linken Bildschirmfensters entsprechend der Auflösung an:
    callp opdspsiz(i_ds4); // i_ds4 = flag für DS4-Bildschirm

    if i_ds4;
    POSX = 10;
    POSY = 3;
    else;
    POSX = 2;
    POSY = 2;
    endif;

    Allein: beim Starten stürzt das Programm zur Laufzeit ab. (und das liegt leider nicht an der Bildschirmauflösung).
    Danke für die Hilfe im voraus.
    LG Alex

  2. #2
    Registriert seit
    Jun 2001
    Beiträge
    1.975
    Sehr interesannt ...
    und so aufschlußreich!
    Gibt es den sowas wie eine Fehlermeldung?
    Ein Joblog!

    Robi
    der Hellsehen und Bauchreden seid Jahren erfolglos übt

  3. #3
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Da machst du dir etwas viel Mühe, da es so gar nicht funktioniert.
    Mittels *DS3 oder *DS4 entscheidest du beim Write, ob dein Bildschirm auf 24x80 oder 27x132 umschalten soll. Gesteuert wird dies mit der entsprechenden Bezugszahl.
    Danach wird das Format erst ausgegeben.

    Nun entscheidet allerdings das System bereits beim Open einer DSPF, ob das Device überhaupt 27x132 (DS4) unterstützt. Wenn nicht, kann die DSPF gar nicht geöffnet werden und es gib einen Fehler.

    Zu empfehlen ist hier sowieso mit 2 DSPF's zu arbeiten, die DS4-DSPF mit UsrOpn (UC) zu definieren und entsprechend des gewünschten Modus, das entsprechende Format auszugeben.
    So kann man mittel "Open(E)" den Fehler zumindest abfangen.

    Was soll dir das OPDSPSIZ denn liefern?
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  4. #4
    Registriert seit
    Nov 2014
    Beiträge
    2
    Danke für die prompte kompetente Antwort,
    UserOpen werde ich auf jeden Fall einbauen,
    zu deiner Frage: OPDSPSIZ setzt einen internen Flag
    auf true wenn die Bildsschirmauflösung DS4 ist.

  5. #5
    Registriert seit
    Jun 2001
    Beiträge
    1.975
    Na ja, je nach Anforderung funktioniert das (ein bischen anders) schon, und macht auch Sinn!
    Unsere Schirme sind nahezu alle von 80 auf 132 umschatbar (vom User),
    Wenn der User eine 80 Schirm eingeschaltet hat, muß ein zusätzliches Pgm, das z.B. ein Window zeigt schon wissen wie die letzte Anzeige war. Das funktioniert auch prima!
    Die Trennung, ein DSPF 132 und ein anderes 80 Stellen haben wir wieder verworfen, da der Anwender zur Laufzeit wechseln kann.
    Robi

  6. #6
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Getrennte DSPF's sind in RPG ja ganz einfach, da ja nur das Format und nicht der Dateiname relevant ist.
    Sie helfen aber, wenn man mal an ein falsch konfiguriertes Terminal gerät (OpsNav->rechte Maustaste->5250 ist grundsätzlich nicht umschaltbar), der Open fehlschlägt und die Anwendung stirbt.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

Similar Threads

  1. Versteigere 18" TFT-Bildschirm !
    By AS-Trade in forum NEWSboard Server & Hardware Markt
    Antworten: 1
    Letzter Beitrag: 23-07-02, 14:13
  2. Deutsche AS/400 Französicher Bildschirm
    By dieterle in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 27-06-02, 09:35
  3. IBM Bildschirm 3488
    By dirk1978 in forum IBM i Hauptforum
    Antworten: 1
    Letzter Beitrag: 03-04-02, 16:28
  4. VGA-Bildschirm an Logikeinheit
    By AndreasL in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 21-03-02, 16:17
  5. EURO-Zeichen auf 5250 Bildschirm
    By Brownie in forum IBM i Hauptforum
    Antworten: 1
    Letzter Beitrag: 25-09-01, 06:58

Tags for this Thread

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •