-
Daten Freigabe Taste abfragen?
Hallo Forum,
gibt es in RPG/ILE (mittlerweile) eine Möglichkeit um nach einem EXFMT eines DSPF explizit abzufragen ob die Daten Freigabe Taste gedrückt wurde, ähnlich wie bei einer Befehlstaste? CAxx oder so?
Lg,
Michael
-
Da gibt es wohl einen Hinweis in der INFDS.
Allerdings weiß ich nicht, wofür das gut sein soll, da die Logik ja eigentlich folgende ist:
Ist keine F-Taste gedrückt, bleibt dochnur die Enter-Taste.
Gut, es gibt nur einen Grund, nämlich dann wenn ein Autoenter-Feld deklariert ist.
Dann muss ich ggf. zwischen Autoenter und tatsächlichem Enter unterscheiden können, und dafür gibts die INFDS.
-
ja, das geht über die INFDS:
DSPF:
A DSPSIZ(24 80 *DS3)
A PRINT
A INDARA
Programm:
fvtc050d cf e WORKSTN infds(dspfds)
f indds(bezugsz)
d dspfds ds
d Ftaste 369 369
Werte für Ftaste:
d F01 c const(X'31')
d F02 c const(X'32')
d Ende c const(X'33')
d F04 c const(X'34')
d F05 c const(X'35')
d F06 c const(X'36')
d F07 c const(X'37')
d F08 c const(X'38')
d F09 c const(X'39')
d F10 c const(X'3A')
d F11 c const(X'3B')
d F12 c const(X'3C')
d F13 c const(X'B1')
d F14 c const(X'B2')
d F15 c const(X'B3')
d F16 c const(X'B4')
d F17 c const(X'B5')
d F18 c const(X'B6')
d F19 c const(X'B7')
d F20 c const(X'B8')
d F21 c const(X'B9')
d F22 c const(X'BA')
d F23 c const(X'BB')
d F24 c const(X'BC')
d clear c const(X'BD')
d Enter c const(X'F1')
d help c const(X'F3')
d pagedown c const(X'F4')
d pageup c const(X'F5')
d print c const(X'F6')
Abfrage im Programm:
select;
when ftaste = Ende;
vxst0 = 9;
when ftaste = F12;
vxst0 = 9;
when ftaste = F13;
exsr Hilfe;
vxst0 = 1;
when ftaste = pageup;
exsr s02;
other;
endsl;
Mit den entsprechenden Hex-Codes lassen sich auf diese Weise alle gedrückten Tasten abfragen.
-
... das Ganze geht übrigens schon seit Einführung der AS/400 also seit 1988!
Das Gefuddel mit *INKirgendwas, bei dem man ständig an den Fingern abzählen muss, ob *INKR F17 oder F18 ist und außerdem wissen muss, das *INKO fehlt, entfällt ebenso wie das Verschwenden von 24 Bezugszahlen für CA und CF.
Birgitta
-
Ich habe mir einen Copysource erstellt den ich nach dem EXFMT des DSPF per /COPY reinkopiere. In diesem Copysource frage ich immer alle *INKx ab und befülle übersichtlichere Variablen ( F1-FENTER ).
-
vielen Dank für die zahlreichen infos!
Ja, es geht dabei um ein auto-enter field in einem subfile, dafür ist es leider in einem bestimmten fall nötig die enter abzufragen.
wieder was dazu gelernt
mfg,
michael gruber
-
Zitat von B.Hauser
... das Ganze geht übrigens schon seit Einführung der AS/400 also seit 1988!
Das Gefuddel mit *INKirgendwas, bei dem man ständig an den Fingern abzählen muss, ob *INKR F17 oder F18 ist und außerdem wissen muss, das *INKO fehlt, entfällt ebenso wie das Verschwenden von 24 Bezugszahlen für CA und CF.
Birgitta
danke, ich arbeite seit 1990 auf der AS400, aber keiner meiner Lehrmeister hat mir das je verraten!
man lernt also niemals aus - perfekt.
lg,
michael gruber
-
Zitat von B.Hauser
... das Ganze geht übrigens schon seit Einführung der AS/400 also seit 1988!
Das Gefuddel mit *INKirgendwas, bei dem man ständig an den Fingern abzählen muss, ob *INKR F17 oder F18 ist und außerdem wissen muss, das *INKO fehlt, entfällt ebenso wie das Verschwenden von 24 Bezugszahlen für CA und CF.
Birgitta
wofür ist das eigentlich gut *inKirgendwas zu verwenden? Kann ich wenn ich *inKA verwende die *in01 nochmal extra verwenden damit ich mehr Bezugszahlen als 99 Stück zur Verfügung habe?
-
Hallo,
ich würde *IN01-*IN99 nur für die Subfile-Steuerung verwenden, das ist aber das einzige für die man *IN01-*IN99 benötigt und die kann man mittlerweile über INDDS in RPG umbennenen, so dass im Source Code sprechende Namen verwendet werden können. (Achja *INLR wird noch benötigt, aber ab V6R1 kann man auch darauf verzichten!)
M.E. ist es einfacher zu lesen wenn im Source Code SFLNXTCHG = *ON steht, wie wenn *IN54 = *ON steht.
Ansonsten sind die *IN01-*IN99 potentielle Fehlerquellen (Stichwort Doppelbelegung).
Wenn Schalter benötigt werden, kann man diese über den Datentyp N definieren und dabei sprechende Namen verwenden.
Damit erübrigt sich auch die Frage, ob man bei *INKIrgendwas weitere 24 Bezugszahlen zur Verfügung hat, weil man diese nicht mehr braucht. (Auch wenn man *INKA und *IN01 unabhängig voneinander verwenden kann!)
*INKA bis *INKZ würde ich nie verwenden. Weil ich mir wirklich nicht merken kann was z.B. *INKR ist. Bei der Lösung von Khholm braucht man überhaupt keine *IN-Bezugszahlen, also weder *IN01-*IN99 noch *INKA - *INKZ.
Birgitta
-
ENTER-Taste
Hallo Leut,
Beitrag war genau was ich suche.
Unterscheidung Return vom Autoenterfeld oder echte Entertaste.
Funktioniert aber bei mir nicht.
Bekomme immer x'F1' zurück!?
FFEDESDUD CFEWorkstnInfds(DSPDS)
D DSPDS DS
D FunktionTaste369 369A
D Enter C Const(X'F1')
If FunktionTaste = Enter ;
Dsply'Enter' ;
Endif ;
Danke für eure Hilfe.
Similar Threads
-
By schatte in forum NEWSboard Linux
Antworten: 12
Letzter Beitrag: 29-01-08, 14:02
-
By timeless in forum IBM i Hauptforum
Antworten: 5
Letzter Beitrag: 11-01-07, 12:04
-
By schatte in forum NEWSboard Windows
Antworten: 7
Letzter Beitrag: 21-11-06, 11:37
-
By sim in forum NEWSboard Programmierung
Antworten: 11
Letzter Beitrag: 18-05-06, 08:00
-
By Heinz Molter in forum Archiv NEWSblibs
Antworten: 0
Letzter Beitrag: 31-08-04, 09:48
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks