[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Apr 2005
    Beiträge
    73

    Cursorposition in Windows wird nich korrekt übermittelt

    Hallo Spezialists!

    Ich habe ein Programm mit dem ein Fenster aufgerufen wird. Danach sollte die Cursorposition abgefragt werden um eine Aktion zu starten. Ich habe auf 2 Arten versucht dies zu bewerkstelligen:
    1) CURSORRCD und CURSORFLD abzufragen mit dem Ergebnis, dass das letzte Feld des vorherigen Formats angezeigt wird (im Debug)
    2) CURSORLIN und CURSORPOS abzufragen mit dem Ergebnis, dass immer die 1. Position des 1. Eingabefeldes angezeigt wird

    Welches Attribut habe ich im DSPF vergessen zu setzten, damit meine Programmlogik funktioniert. Am schönsten wäre es wenn ich die Attribute CURSORRCD und CURSORFLD korrekt abfragen könnte!

    Das Windows aus SDA:

    A R ZUSWINF1
    A*%%TS SD 20160222 161321 HERMANN REL-V7R1M0 5770-WDS
    A RTNCSRLOC(*WINDOW &CURWINLIN &CURWI-
    A NPOS)
    A BLINK
    A OVERLAY
    A *DS3 WINDOW(&STRLIN &STRPOS 15 70)
    A *DS4 WINDOW(&STRLIN &STRPOS 5 50)
    A WDWBORDER((*COLOR BLU))
    A CURWINREC 10A H
    A CURWINFLD 10A H
    A CURWINLIN 3S 0H
    A CURWINPOS 3S 0H
    A STRLIN 3S 0P
    A STRPOS 3S 0P
    A FTTXTWIN 65A O 14 1
    A 1 2' Zusatzangaben zu-
    A m Artikelstamm '
    A DSPATR(RI)
    A COLOR(BLU)
    A $ASPICT 1A P
    A 3 6'Bildname 1:'
    A COLOR(BLU)
    A DSPATR(&$ASPICT)
    A $ASPICTURE 1A P
    A ASPICTURE 50A B 3 18CHECK(LC)
    A FLDCSRPRG(ASPICTURE2)
    A DSPATR(&$ASPICTURE)
    A COLOR(YLW)
    A $ASSORTT 1A P
    A 9 6'Sortierung:'
    A DSPATR(&$ASSORTT)
    A COLOR(BLU)
    A $ASSORT 1A P
    A ASSORT 10A B 9 18CHECK(LC)
    A DSPATR(&$ASSORT)
    A COLOR(YLW)
    A ASPICTURE2 50A B 4 18CHECK(LC)
    A COLOR(YLW)
    A DSPATR(&$ASPICTURE)
    .
    .
    .



    Vielen Dank im Voraus

    Hermann

  2. #2
    Registriert seit
    Sep 2005
    Beiträge
    393
    RTNCSRLOC(*WINDOW &CURWINLIN &CURWI-
    A NPOS)


    RTN = return. da stehen sie drin!

    Der ILEMax


  3. #3
    Registriert seit
    Jan 2007
    Beiträge
    905
    Code:
    RTNCSRLOC(&CURWINREC &CURWINFLD)
    Müsste eigentlich reichen, zumindestens tut es so bei mir.
    Und versuch's ohne OVERLAY.
    kf

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    http://www-01.ibm.com/support/knowle...cs.htm?lang=de
    Es gibt 2 Methoden des RTNCSRLOC:
    Mit *RECNAME = Satzname, Feldname und ggf. Position im Feld
    Ohne *RECNAME (optional *WINDOW) die Zeile und Spalte des Cursors, ich meine dann allerdings relativ zum Fenster.
    Laut Doku erkennt DDS automatisch auf grund der verwendeten Felder, welche Information zurückgegeben werden soll, man kann so gar alles abfragen.
    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

  5. #5
    Registriert seit
    Apr 2005
    Beiträge
    73
    Zuerst einmal vielen Dank für die Antworten! Ich habe nun alle CSR Anweisungen im Format des DSPFs entfernt und lediglich CSRWINRCD und CSRWINFLD stehen lassen. Auch habe ich CAMOUFLAGEs Tipp mit dem Overlay ausprobiert. Fakt ist:

    Im Debug steht nach dem EXFMT im Feld CSRWINRCD und CSRWINFLD BLANK???

    A R ZUSWINF1
    A*%%TS SD 20160223 090119 HERMANN REL-V7R1M0 5770-WDS
    A RTNCSRLOC(&CSRWINRCD &CSRWINFLD)
    A BLINK
    A WINDOW(&STRLIN &STRPOS 15 70)
    A WDWBORDER((*COLOR BLU))
    A CSRWINRCD 10A H
    A CSRWINFLD 10A H


    Außerdem wird der STS 01125 bei MONITOR ausgegeben - kein Indikator für HELP angegeben!

    Danke im Voraus

    Hermann

  6. #6
    Registriert seit
    Jan 2007
    Beiträge
    905
    Also, mit dieser Definition funktioniert der RTNCSRLOC todsicher, zumindest bei mir.
    Der Help, naja richtig wichtig ist der doch nicht oder?

    PHP-Code:
         A                                      DSPSIZ(24 80 *DS3)
         
    A          R ZUSWINF1
         A                                      WINDOW
    (&STRLIN &STRPOS 15 70)
         
    A                                      CF12(12)
         
    A                                      CF04(04 'SEARCH')
         
    A                                      RTNCSRLOC(&CURWINREC &CURWINFLD)
         
    A                                      BLINK
         A                                      WDWBORDER
    ((*COLOR BLU))
         
    A            C$FRMT        10A  H
         A            CURWINREC     10A  H
         A            CURWINFLD     10A  H
         A            STRLIN         3S 0P
         A            STRPOS         3S 0P
         A            $ASPICT        1A  P
         A            $ASPICTURE     1A  P
         A            $ASSORTT       1A  P
         A            $ASSORT        1A  P
         A                                  1  2
    ' ZUSATZANGABEN ZU  M ARTIKELSTAMM '
         
    A                                      DSPATR(RI)
         
    A                                      COLOR(BLU)
         
    A                                  3  6'BILDNAME 1:'
         
    A                                      COLOR(BLU)
         
    A                                      DSPATR(&$ASPICT)
         
    A            ASPICTURE     50A  B  3 18CHECK(LC)
         
    A                                      FLDCSRPRG(ASPICTURE2)
         
    A                                      DSPATR(&$ASPICTURE)
         
    A                                      COLOR(YLW)
         
    A            ASPICTURE2    50A  B  4 18CHECK(LC)
         
    A                                      COLOR(YLW)
         
    A                                      DSPATR(&$ASPICTURE)
         
    A                                  9  6'SORTIERUNG:'
         
    A                                      DSPATR(&$ASSORTT)
         
    A                                      COLOR(BLU)
         
    A            ASSORT        10A  B  9 18CHECK(LC)
         
    A                                      DSPATR(&$ASSORT)
         
    A                                      COLOR(YLW)
         
    A            FTTXTWIN      65A  O 14  1
         A          R NOERASE
         A                                      ASSUME
         A                                  1  2
    ' ' 
    kf

  7. #7
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Wenn beim Drücken der Help-Taste ein Fehler ausgelöst wird sind natürlich alle Daten auf dem vorherigen Zustand da keine Daten übertragen werden.
    Beheb den Fehler, dann klappt es auch mit der HELP-Taste.
    Das Problem ist ja, dass es für HELP keine automatische Tasteninfo (*INKx) gibt. Welche Taste denn da gedrückt wird kannst du über 2 Methoden erfahren:
    a) Bezugszahl (einfacher)
    b) INFDS
    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

  8. #8
    Registriert seit
    Apr 2005
    Beiträge
    73
    Das Programm läuft jetzt korrekt! Vielen Dank an allen Beteiligten besonders aber Camouflage.
    Der Fehler war wie es aussieht die fehlende Antwortbezugszahl der HELP Taste! Wie auch die Statusmeldung 01125 eigentlich darauf hinweist. Interessant ist nur warum ich für die HELP Taste eine Antwortbezugszahl benötige und alle anderen Funktionstasten funktionieren ohne. Die Funktionstaste CFKEY wird aus der INFDS gelesen.

    Danke noch einmal an alle Beteiligten

    Hermann

  9. #9
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Wäre mal interessant gewesen die CPF-Nachricht zum Fehler zu bekommen.
    Ist es tatsächlich eine CPF-meldung oder eine RNX-meldung was auf die RPG-Runtime deuten würde.
    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

  10. #10
    Registriert seit
    Jan 2007
    Beiträge
    905
    Mit dem Keyword "ALTHELP(CAxx)" kann der Helptaste eine Bezugszahl zugeordnet werden. Im Uebrigen produziert die Angabe des "Help" keinen Abbruchfehler und ist auch nicht die Ursache des Fehlers. Help wird dazu verwendet, dass UIM funktioniert.
    kf

  11. #11
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Mit ALTHELP wird die Helpfunktion auf eine zusätzliche Taste gelegt da nicht alle Emulationen und/oder Tastaturen über eine explizite Help-Taste verfügen und trotzdem die automatische Helpfunktion verwenden zu können.
    Mit Bezugszahl hat das noch nichts zu tun.
    Die Help-Taste wird aber an das Programm gemeldet, wenn keine HLP-Schlüsselworte definiert sind.
    Und dann ist eine BZ erforderlich wenn die HELP und nicht die ALTHELP(CAxx) gedrückt wird.

    HELP funktioniert auch ohne UIM mit HLPRCD's.
    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. Cursorposition setzen
    By thluetjen in forum IBM i Hauptforum
    Antworten: 13
    Letzter Beitrag: 31-01-08, 10:21
  2. Windows-Fragen bitte im NEWSboard windows stellen
    By Burgy Zapp in forum IBM i Hauptforum
    Antworten: 0
    Letzter Beitrag: 04-07-02, 14:01
  3. IBM Networks Primary Logon Client for Windows NT and Windows
    By Markus Ralf in forum NEWSboard Windows
    Antworten: 0
    Letzter Beitrag: 19-04-02, 12:43
  4. RPG Systemdatum nach Releasewechsel nicht korrekt
    By EDV-NEW-MEDIA in forum IBM i Hauptforum
    Antworten: 6
    Letzter Beitrag: 13-02-02, 12:59
  5. Antworten: 0
    Letzter Beitrag: 08-03-01, 13:33

Tags for this Thread

Berechtigungen

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