PDA

View Full Version : Tasten im Zehnerblock belegen ?



Seiten : 1 [2]

E305GL
29-08-24, 07:58
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.

Der einzige Weg Felder (Tasten !!) nach belieben während der Laufzeit (= ohne Compilieren) auch abhängig vom Clienttyp nach belieben zu verändern (Länge, alle Attribute, Anzahl Felder, etc) ist der freie 5250 Datenstrom. Siehe IBM Manual SA21-9247-6 aus 1987. Wir haben solche Lösungen mit IBM on Bordmitteln schon umgesetzt (DDS INVITE, USRDFN; RPG..)

Fuerchau
29-08-24, 08:16
Trotzdem bedarf es immer eines Auslösers im Sinne von Enter, ER, F-Tasten, Bild-Tasten (geht nur bei Subfiles). Und wie oben bereits geschrieben gibts ja einen Tastencode für Autoenter.
Da benötigt man keinen individuellen Datenstrom, den es z.B. in COBOL bereits mit der erweiterten ACCEPT-Anweisung gibt.

E305GL
29-08-24, 10:13
Trotzdem bedarf es immer eines Auslösers im Sinne von Enter, ER, F-Tasten, Bild-Tasten (geht nur bei Subfiles). Und wie oben bereits geschrieben gibts ja einen Tastencode für Autoenter.
Da benötigt man keinen individuellen Datenstrom, den es z.B. in COBOL bereits mit der erweiterten ACCEPT-Anweisung gibt.

... hast recht ohne Auslöser wird's nicht gehen.
Mögliche Lösung: Das Format beginnt mit einem 1-stelligen Feld, nach der Eingabe wird ein weiteres 1-stelliges Feld angeboten und der Cursor positioniert, das Feld davor wird gesperrt(geschützt). Dieser Vorgang wird solange wiederholt bis ein Operand (=+-: etc) eingegeben wird. Dem Programm, in das ja die einzelnen Ziffern übermittelt wurden wird so die Vollständigkeit des Wertes signalisiert und die finale Verarbeitung ausgelöst. Reichen die Bezugszahlen ?? Wenn nicht = freier Datenstrom benötigt keine Bezugszahlen.

Fuerchau
29-08-24, 15:15
Und wie kommst du z.B. ein die Backspace-Taste?
Einen Auslöser gibts dafür leider nicht.
5250 ist eben altbacken.

E305GL
30-08-24, 16:11
Und wie kommst du z.B. ein die Backspace-Taste?
Einen Auslöser gibts dafür leider nicht.
5250 ist eben altbacken.

Wozu Backspace ?
Nachdem programmgesteuert, abhängig von der Eingabe neue Felder (=Stellen) gezielt mit den Taschenrechner Zeichen hinzugefügt werden kann mit der gleichen Funktion eines anderen Zeichens ein Feld im Format wieder kübelt, das Vorhergehende wieder geöffnet und der Cursor positioniert werden. Funktioniert auch mit einer "altbackenen" DDS so ferne die Bezugszahlen reichen. Für die elegantere Version bietet sich eben der freie Datenstrom an, der überfordert natürlich "Standardprogrammierer".

Fuerchau
30-08-24, 17:38
Das Grundprinzip, wie Felder bei 5250 definiert werden, bleibt auch dabei bestehen. Jedes Feld beginnt mit einem Attribut, dass Farbe und DSPATR's definert, das I/O Feld und das Endeattribut.
Letzteres kann auch wieder das Anfangsattribut des nächsten Feldes sein.

Was ich nie rausgefunden habe (ggf. keine Doku vorhanden) ist der Betriebsmodus VTxxx.
Dies wurde z.B. von OfficeVision/400 verwendet, wenn man den Texteditor bediente.
Der konnte zumindest jeden Tastendruck individuell verarbeiten.

Aus Unix kenne ich das als TTY-Modus. In diesem Fall werden auch Cursortasten oder Backspace als Keycode transportiert. Für Unix habe ich mal einen Full-Screen-Editor entwickelt, da der standard VI-Editor nur vorwärts editieren konnte und mit 1000den Tastenkombinationen daherkam.