Anmelden

View Full Version : Displayfile Attribut (ND) bei Bezugszahlgesteuertem Feld



Seiten : [1] 2

Matthias82
20-04-15, 11:55
Hallo zusammen,

wie der Titel schon verrät wollte ich einem Feld, dass bereits über eine Bezugszahl angezeigt wird oder eben auch nicht, noch zusätzlich ein nondisplay verpassen. Ziel ist es das Feld zwar füllen zu müssen, aber nicht zu sehen was man eingegeben hat.

Leider funktioniert das nur wenn ich die Bezugszahl, die für das Feld selbst hinterlegt wurde aus dem Displayfile rausnehme. Wie könnte man das noch umsetzen (ohne ein neues Format zu erstellen). Das Feld muss bezugszahlgesteuert bleiben

Danke

Gruß

Fuerchau
20-04-15, 12:39
ND heißt: Inhalt nicht sichtbar.
BZ vor dem Feld heißt: Feld nicht ausgegeben
Du musst also für die verdeckte Eingabe beide BZ anmachen.

Matthias82
20-04-15, 12:42
Richtig, beide BZ sind an, trotzdem wird das Feld ganz normal angezeigt, als wäre ND nicht angeschaltet.

Fuerchau
20-04-15, 12:58
Wofür benötigst du die 1.BZ?
Wenn du keine Überlagerungen mit diesem Feld hast, reicht dafür ggf. DSPATR(PR).

Manche Kombinationen kann die 5250 nicht.

Matthias82
20-04-15, 14:08
Die erste BZ steuert 3 weitere Felder, die zusammen angezeigt/nicht angezeigt werden sollen. D.H es ist auch möglich dass das Feld gar nicht angezeigt werden soll. Es kann aber auch sein dass es normal angezeigt wird und zusätzlich soll es möglich sein dass es als ND angezeigt wird.
Habe es jetzt vorerst mal über ein weiteres Format gelöst, danke trotzdem.-

cbe
20-04-15, 15:00
in einem Format sollte es so gehen:


* 22: Feld eingabefähig 30:Feld lesbar anzeigen
A B100000002 14A B 12 23
A N30 DSPATR(ND)
A N22 DSPATR(PR)
A 22 DSPATR(UL)

malzusrex
21-04-15, 07:15
Das sollte sich doch auch darüber lösen lassen, das man das Anzeigeattribut aus dem Programm aus steuert. Ich glaube Birgitta hatte mal vor laaaaaaaanger Zeit dazu ein Dokument:
"RPG ohne Bezugszahl" oder so ähnlich..

DDS


A ATR1 1A P TEXT('Anzeige Attribut')
A TXT01 60A B 3 1DSPATR(&ATR1)


RPG


d grn c x'20'
d wht c x'22'
d red c x'28'
d trq c x'30'
d ylw c x'32'
d pnk c x'38'
d blu c x'3A'
d grn_inv c x'21'
d wht_inv c x'23'
d red_inv c x'29'
d trq_inv c x'31'
d ylw_inv c x'33'
d pnk_inv c x'39'
d blu_inv c x'3B'
d grn_pr c x'A0'

....
atr1 = grn_pr;
Exfmt Format1;



Und das ganze sollte mit allen Azeigeoptionen gehen. Ich suche mal, ob ich auf die schnelle die HEX-Codes dafür finde

Gruß
Ronald

Fuerchau
21-04-15, 08:28
Leider am Thema vorbei:).

malzusrex
21-04-15, 09:11
Sehe ich anders

DDS


A DSPSIZ(24 80 *DS3)
A CHGINPDFT(UL)
A CA03(03 'EoJ')
A R SCREEN
A ATR2 1A P
A 3 3'Eingabe Feld 1:'
A FLD001 6 B 3 19
A 4 3'Eingabe Feld 2:'
A FLD002 6 B 4 19DSPATR(&ATR2)
A 5 3'Eingabe Feld 3:'
A FLD003 6 B 5 19


RPG


ftest_n cf e workstn
d grn c x'20'
d grn_pr c x'A0'
d grn_nd c x'27'
d grn_nd_pr c x'A7'
DoW not *In03;
FLD002= 'Hallo';
Select;
When FLD001 = 'NIX';
atr2 = grn_nd_pr;
When FLD001 = 'GEHEIM';
atr2 = grn_nd;
Other;
atr2 = grn;
EndSl;
ExFmt Screen;
EndDo;
*InLr = *On;


Feld2 wird nun in Abhänigkeit von Feld1 angezeigt (oder auch nicht)
bei NIX ist der Inhalt nicht zu sehen und wird auch nicht mit TAB angesprungen.
bei GEHEIM kann ich was eingeben, sehe es aber nicht.
Bei allen anderen Werten in FELD 1 ist FELD 2 halt ein normales Eingabefeld

Gruß
Ronald

Kleine Liste von HEX-Codes (http://www.classanova.com/view?id=1382&p=5)

camouflage
21-04-15, 09:41
Lass mich auch noch mit tun. Das mit den fixen Attributen ist ja ganz schön, da gäbe es aber noch was...



DDS

A ATR1 1A P
A CLR1 1A P
A INPUT 1A B 10 2DSPATR(&ATR1)
A DSPATR(&CLR1)

Declares

dcl-c $white const( x'22' );
dcl-c $NonDisplay const( x'27' );
dcl-c $Protect const( x'80' );

Free RPG Statements

ATR1 = $Nondisplay; // Nicht angezeigt
ATR1 = %bitOr(ATR1:$Protect); // Nicht angezeigt/geschützt
CLR1 = $white;



So kann man sich die entsprechenden Attribute wie man will zusammenbasteln, ebenso die Farbe.