PDA

View Full Version : Tasten im Zehnerblock belegen ?



ILE_Sascha
08-10-03, 14:09
Hallo,

wie kann ich im RGG(LE) die Tasten im 10erblock neu belegen. Ich arbeite an einem IBM-NC mit "normaler" Windowstastatur, bei dem die "Enter-Taste" am 10erBlock mit der "Datenfreigabe" und die "+-Taste" mit der "Eingabetaste" belegt sind. Ich möchte diese beiden Tasten nun während einm Programmlauf umbelegen.

Das PGM muss auch an den "dummen" Terminals" von IBM laufen. Client Access als Lösung fällt also leider aus.

PS. Wo bekommt man ne gute DOKU zum Thema "embedded SQL" RPG(LE) her, auch kostenpflichtig, das spielt keine Rolle, muss nur gut und ausführlich sein.

Gruß

Sascha

...:::°°° Man darf nicht alles glauben was stimmt°°° :::...

Fuerchau
08-10-03, 14:20
Zu 1: Tasten können per Programm NICHT umdefiniert werden !

zu 2: schau mal unter http://publib.boulder.ibm.com/iseries/v5r2/ic2924/info/rzahgsql.htm nach

ILE_Sascha
08-10-03, 14:59
Hallo,

kann ich denn irgendwie abfragen welche Taste gedrückt worden ist. Hier ist die rechte "STRG"-Taste und die "ENTER"-Taste im Zehnerblock mit der Datenfreigabe belegt, kann ich nun vielleicht aus dem Programm feststellen, welche Taste gedrückt worden ist. Das würde auch helfen. Desweiteren habe ich auch in meinem DSPF nur ein 1stelliges Input-feld mit mit CHECK(ER) belegt.

Danke für den Link, den hatte ich auch schon mal gefunden, ich bin aber eher auf der Suche nach einer deutschsprachigen Referenz.

Gruß

Sascha

...:::°°° Man darf nicht alles glauben was stimmt °°°:::...

jajonowak
08-10-03, 15:03
hallo Sascha,


gibt es da nicht sowas wie autoenter (bei einem 1 stelligen feld vielleicht möglich)

LG
Hans-Joachim

Fuerchau
08-10-03, 15:12
Nun ja, 5250 kennt halt nur ENTER, F-Tasten, HOME, HELP, PRINT, CLEAR und DUP.

Ein "rechtes" oder "ctrl" - Enter wird nicht unterschieden, da ja nicht der PC-Code sondern der 5250-Code an die DSPF gesendet wird.
Wenn ich z.B. auf "STRG-A" den ENTER lege, kommt halt wieder nur ENTER raus.

AUTO(ENTER) bedeute nichts anderes, dass der User ENTER nicht drücken muss. Das Programm bekommt aber auch nicht mit ob nun AUTO oder nicht.


Die IBM-Literatur hierzu ist selbst auf der deutschen Seite in Englisch, aber leider ist es das beste was es gibt, da es AS/400-spezifisch aufbereitet ist.

ILE_Sascha
08-10-03, 15:13
Danke Hans-Joachim,

aber das DSPF ist nicht mein Problem, ich möchte nur meinen Zehnerblock in einem RPG Programm als eine Art Taschenrechner benutzen. Dazu möchte ich gern die Entertaste als "=" benutzen. Den CHECK(ER) benötige ich um jeden Tastendruck im PGM auswerten zu können. Wenn ich nun auf das drücken der "DATENFREIGABE" überprüfe ist diese Abrage immer positiv.

Gruß

Sascha

...:::°°° Man darf nicht alles glauben was stimmt °°°:::...

ILE_Sascha
10-10-03, 09:29
OK, dann eben nicht mithilfe der Umbelegung der Tasten.

Kann ich in meinem Display-File ein einstelliges Eingabe-Feld so definieren, dass jeder Tastendruck im Programm verarbeitet wird, ohne CHECK(ER), da mir dieser eine Datenfreigabe ans Programm zurückgibt.

Fuerchau
10-10-03, 12:04
Ausser CHECK(ER) gibt es nichts, da ja alles sofort an das Programm weitergegeben wird.

D.h., wenn ein Zeichen eingegeben wird, wird halt ENTER sofort ausgelöst. Du bekommst dann halt das eingegebene Zeichen.

Die Cursor-Tasten können NICHT abgefragt werden, alle anderen Tasten (soweit zugelassen) setzen die entsprechende Bezugszahl (*INKx) bzw. die in der DDS zugewiesene BZ.

Was willst Du mehr ?!

Thimi
11-10-03, 11:04
Hi ile_Sascha,
>Ausser CHECK(ER) gibt es nichts, da ja alles sofort an das >Programm weitergegeben wird.

>D.h., wenn ein Zeichen eingegeben wird, wird halt ENTER sofort >ausgelöst. Du bekommst dann halt das eingegebene Zeichen.

>Die Cursor-Tasten können NICHT abgefragt werden, alle >anderen Tasten (soweit zugelassen) setzen die entsprechende >Bezugszahl (*INKx) bzw. die in der DDS zugewiesene BZ.

>Was willst Du mehr ?!

Fürchau hat Recht!
Hier die Definition der Tasten aus der INFDS Position 369-369

ATTENTION INDICATOR BYTE (AIB) - KEY PRESSED BY USER
D AIB 369 369
W FMTAIBBYT * NAMED CONSTANTS FOR AIB BYTE
W FMTAIBBYT D F1 C CONST(X'31')
W FMTAIBBYT D F2 C CONST(X'32')
W FMTAIBBYT D F3 C CONST(X'33')
W FMTAIBBYT D F4 C CONST(X'34')
W FMTAIBBYT D F5 C CONST(X'35')
W FMTAIBBYT D F6 C CONST(X'36')
W FMTAIBBYT D F7 C CONST(X'37')
W FMTAIBBYT D F8 C CONST(X'38')
W FMTAIBBYT D F9 C CONST(X'39')
W FMTAIBBYT D F10 C CONST(X'3A')
W FMTAIBBYT D F11 C CONST(X'3B')
W FMTAIBBYT D F12 C CONST(X'3C')
W FMTAIBBYT D F13 C CONST(X'B1')
W FMTAIBBYT D F14 C CONST(X'B2')
W FMTAIBBYT D F15 C CONST(X'B3')
W FMTAIBBYT D F16 C CONST(X'B4')
W FMTAIBBYT D F17 C CONST(X'B5')
W FMTAIBBYT D F18 C CONST(X'B6')
W FMTAIBBYT D F19 C CONST(X'B7')
W FMTAIBBYT D F20 C CONST(X'B8')
W FMTAIBBYT D F21 C CONST(X'B9')
W FMTAIBBYT D F22 C CONST(X'BA')
W FMTAIBBYT D F23 C CONST(X'BB')
W FMTAIBBYT D F24 C CONST(X'BC')
W FMTAIBBYT D Clear C CONST(X'BD')
W FMTAIBBYT D Enter C CONST(X'F1')
W FMTAIBBYT D Help C CONST(X'F3')
W FMTAIBBYT D Rolldn C CONST(X'F4')
W FMTAIBBYT D Rollup C CONST(X'F5')
W FMTAIBBYT D Print C CONST(X'F6')
W FMTAIBBYT D Bspace C CONST(X'F8')
W FMTAIBBYT D Exit C CONST(X'33')

Eine kurzfristige Tastenumbegelegung ist daher nicht möglich.
Es gibt auch andere Wege; Such doch mal z.B mit Google nach "5250 Datenstrom"
Schöne Grüsse aus der Provence
Thierry