Anmelden

View Full Version : Knacknuss CNTFLD/WRDWRAP Position



camouflage
13-05-16, 10:43
Wer weiss denn sowas?

Ich möchte die genaue Position innerhalb eines DSP Feldes bestimmen können. Der String wird mittels CNTFLD und WRDWRAP irgendwo im Schirm angezeigt.

Hintergrund:
Auf einer bestimmten Text-Position soll mittels F-Taste noch zusätzliche Informationen eingefügt werden können.

Ganz schön tricky und ich hab keinen Plan.
(Ach ja, Feld, Line und Loc hab ich schon - doch wie wissen wo das Feld anfängt?)

Danke.

Fuerchau
13-05-16, 11:00
Das musst du mit den Informationen selber ausrechnen.
Die Startposition des Feldes gibst du doch in der DDS mit z.B. Zeile 4 Spalte 10 an.
Ist dein Feld nun in 5 Zeilen a 40 Spalten aufgeteilt bekommst du nun raus, wo der Cursor im Feld steht.
Die WRDWRAP-Funktion musst du nun leider noch selber nachbauen (bei Blank umbrechen) um die Zeichenposition auszurechnen. Leider gibt es dafür tatsächlich keine Automatik.

Robi
13-05-16, 11:05
Meine Erfahrung mit wordwrap und cntfld sind eher durchwachsen!
Je nach Emulation wird der String bei wordwrap mit blank ergänzt oder nicht.
D.H. beim auslesen des Strings, z.b. zum drucken in der selben Aufbereitung, sieht das mal ok und mal sch... aus.
Außerdem unterstützen nicht alle Emus den erweiterten 5250 so gut, das WW und CntFld funktioniert
Mach erst mal Tests wie Eure EMU den String speichert.

Robi

Fuerchau
13-05-16, 12:11
Letztlich ist das doch egal, wenn ich nach der Erfassung die mehrfachen Leerzeichen wieder entferne.

camouflage
13-05-16, 12:36
@Robi:
Mit CA funktioniert es ganz gut.

@Baldur:
Hatte gehofft, ich könnte das Ganze unabhängig in einem Serviceprogramm lösen. Dazu hätte ich jedoch dynmisch Anfangszeile und -Position vom Feld gebraucht.

Alternativ ginge natürlich ein Marker und eine F-Taste hinterher. Scan auf den Marker und ich weiss wo einsetzen. Vllt. lös ich's so.

Fuerchau
13-05-16, 12:40
Das kannst du ja trotzdem tun. Du übergibst der Servicefunktion halt die Informationen statisch als Parameter.
Änderst du die DSPF musst du ja sowieso meist auch das Programm anpassen so dass du die Startposition dynamisch(manuell) statisch (im Programm) ändern kannst.