[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Oct 2008
    Beiträge
    56

    Question Tabulatorsteuerung in Displayfile

    Hallo Welt

    Ein Displayfile besteht z. B. aus 4 Feldern.
    Wenn der Cursor im 2. Feld steht und die Tabulator-Taste gedrückt wird, soll der Cursor auf das 4. Feld positioniert werden. Wenn aber das 2. Feld vollkommen mit Text ausgefüllt wird, soll automatisch auf das 3. Feld gesprungen werden.

    Ist das überhautpt möglich und wenn ja wie?

    Mit FLDCSRPRG funktioniert das zwar mit der Tabulator-Taste, aber es wird dann auch nach dem kompletten Ausfüllen von Feld 2 auf Feld 4 (und nicht auf Feld 3) gesprungen.

    Schöne Grüsse aus der Schweiz

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Das ist leider nicht automatisch möglich.
    Hier musst du mit CHECK(ER) auf Feld auf Feld2 arbeiten und nach "Autoenter" selber entscheiden ob du auf Feld3 oder Feld4 mit DSPATR(PC) positionierst.
    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

  3. #3
    Registriert seit
    Oct 2008
    Beiträge
    56
    Danke für die Antwort.
    Aber wie kann ich unterscheiden, ob die Enter-Taste gedrückt wurde oder "Autoenter" eingetreten ist?

    Sowohl mit VLDCMDKEY(25 'Enter') als auch mit Cmdkey = CmdEnter komme ich hier immer auf dasselbe Ergebnis (also keine Unterscheidung möglich).
    VLDCMDKEY(25 'Enter')

    Read more at: http://archive.midrange.com/rpg400-l.../msg00005.html © midrange.com

  4. #4
    Registriert seit
    Jun 2001
    Beiträge
    1.975
    bei autoenter ist das feld 2 voll

  5. #5
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Die Unterscheidung gibt es tatsächlich nicht (ggf. findet man da was auch in der INFDS).
    Autoenter wird ausgelöst, wenn alle Zeichenpositionen eingegeben werden.
    Dies passiert auch, wenn halt auf der letzten Stelle ein Blank erfasst wird.
    Mit "Eingabe+" wird das Feld bis zum Ende mit Leerzeichen gefüllt, also auch dann Autoenter ausgelöst.
    Wenn deine Steuerung also vom letzten Zeichen abhängt, dann musst du dieses auch prüfen "%subst()".

    Bedenke aber, dass du dann bei jedem Enter immer wieder auf die Felder positionierst.
    Also musst du auch noch die Cursorposition abfragen wann Enter gedrückt wurde, da das ja nur auf diesem Feld relevant ist.

    Warum muss es so kompliziert werden?
    Lass doch die Cursor-Steuerung und mach eine vernünftige Feldprüfung.
    Bei mir klappt das so seit 22 Jahren .
    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

Tags for this Thread

Berechtigungen

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