Anmelden

View Full Version : Cursorpositionierung ohne Bezugszahlen



Tonazzo
23-07-14, 23:01
Hallo liebe Kollegen,

brauche Hilfe.
Es geht mal wieder um das Thema Cursorpositionierung.
Ich möchte aus dem RPG den Cursor in ein bestimmtes Feld positionieren ohne eine
Bezugszahl bzw. feste Zeilen- und Stellenpositionen zu verwenden.

Folgendes könnte ich mir vorstellen - bzw. glaube es schon irgendwo gesehen zu haben:
Im Programm gebe ich den Formatnamen und den Feldnamen an - über ein API (oder wie auch immer möglich) bekomme ich xplin und xpcol des Feldes geliefert, so dass der Cursor an diese Stelle positioniert werden kann.

Hat jemand eine Idee oder gar ein Beispiel auf Lager.

Viele Grüße
Tonazzo

B.Hauser
24-07-14, 06:24
Sofern Du nur den Cursor wieder auf die gleiche Position setzen willst (z.B. nach einem Matchcode Aufruf) kannst Du dir vor dem Aufruf die aktuelle Position aus der Datei-Status-Datenstruktur für die Display File Position 370/371 (Binär - jeweils als I definieren). Nach dem Aufruf setzt Du die Felder in Deiner Cursor Position.

Wenn Du den Cursor frei positionieren willst, gibt es seit Release V5R1 eine einfache Möglichkeit.
Erstelle eine temporäre Datei über Display Field File Description (DSPFFD). Die Zeile und Spalte steht in der WHDROW (Display Row) die Zeile und in WHDCOL (Display Column) die Spalte. Beides kannst Du auslesen und damit Deinen Cursor positionieren.

Ansonsten gibt es das API QDFRTVFD über das die Cursor Position ermittelt werden kann. Allerdings ist das aufgrund der vielen verschachtelten Datenstrukturen eines der komplexesten APIs, die es überhaupt gibt.
Such' mal im Internet nach dem API vielleicht gibt es irgendwo eine Lösung, in der die Zeile und Spalte einer Display File ermittelt wird.

Birgitta

Tonazzo
24-07-14, 22:12
Hallo Birgitta,

vielen Dank für deine Antwort.
Der Tipp mit dem DSPFFD ist einfach super.

Viele Grüße
Tonazzo