-
Displayfile Pointer
Hallo allesamt
Nochmal Pointer displayfile
Trotz der Antworten kann ich mir das nicht vorstellen das es nicht geht
deswegen nochmal
mit etwas source
Funktion wie folg
unterroutine
in #feld ist der Displayfedname (bekommen mit return courser lock)
in dspfld1 ist dann der wert, der da hinein soll
deklaration wie folgt
BILD *
DSPFLD *
D FELD_PTR *
D FELD_PTR1 S 10 BASED (F)
D PTR1 S 10 BASED (P)
D DSPFLD1 DS 0
D FLDNAME1 10 INZ(' ')
D FLDADR1 *
Subroutine
$PROMPT begsr
MOVEL #FELD FLDNAME1
EVAL F = %ADDR(#FELD)
EVAL DSPFLD= %ADDR(WSKENN)
CALL 'PS228'
PARM #PGM
PARM DSPFLD1
EVAL P = %ADDR(DSPFLD1)
EVAL DSPFLD = %ADDR(PTR1)
ENDSR
ev weiss doch jemand Rat.
ev kann auch der Ausgabepuffer
geändert werden, da ja zeile und spalte
des feldes mitkommt.
hoffe doch auf rat (ev mit beispiel)
mfg
THH
-
%ADDR liefert immer nur die Adresse des benannten Feldes, dass zur Compile-Zeit bekannt ist !!!
Eine indirekte Adressierung ist in RPG nicht möglich. Genausowenig gibt es die Möglichkeit an den Inhalt eines Feldes per %ADDR zu kommen.
%ADDR(#FELD) liefert also die Adresse von #FELD und nicht des Feldnamens, der darin steht.
Da du deine Displayfile ja kennst, musst du halt einen select kodieren:
select
when #feld = 'NAME1'
eval fldadr1 = %addr(name1)
when #feld = 'NAME2'
eval fldadr1 = %addr(name1)
:
:
endsl
Dein aufgerufenes Programm kann dann mittels Referenz direkt auf das Zielfeld updaten:
D DSPFLD1 DS
D FLDNAME1 10
D FLDADR1 *
D FLDINH S 10 based(FLDADR1)
*entry plist
parm dspfld1
Einfacher und übersichtlicher ist es aber, wenn du ganz einfach ein Prototype deines PromptPGM's deklarierst und im Select direkt das Programm mit den benannten Argumenten aufrufst:
select
when #feld = 'NAME1'
callpr myprog(#feld:name1)
when #feld = 'NAME2'
callpr myprog(#feld:name2)
:
:
endsl
Similar Threads
-
By steven_r in forum NEWSboard Programmierung
Antworten: 1
Letzter Beitrag: 07-11-06, 11:01
-
By THH in forum NEWSboard Programmierung
Antworten: 3
Letzter Beitrag: 17-12-05, 11:51
-
By Kampi4 in forum NEWSboard Programmierung
Antworten: 13
Letzter Beitrag: 25-11-05, 07:37
-
By BUG in forum IBM i Hauptforum
Antworten: 9
Letzter Beitrag: 18-10-04, 13:55
-
By AndreasH in forum IBM i Hauptforum
Antworten: 4
Letzter Beitrag: 22-09-02, 11:00
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