Code400.com is probably the best RPG programming related forum around (Bob Cozzi’s comes in a close second but the UI is just awful and I really cant spend to long trying to navigate around without getting annoyed… but I digress…). I frequently read neat little tricks and this is a smart one I saw a while back. Was just thinking about it and decided its worth a blog… why not – it’s a quiet news day?
http://www.code400.com/forum/showthread.php?t=7764 JamieF (the Site admin) posted this:
Controlling DSPF color
A*%%TS SD 20090803 105249 FLANARY REL-V5R4M0 5722-WDS A*%%EC A DSPSIZ(24 80 *DS3) A R DUMMY A ASSUME A 1 3' ' A************************************************************************** A R WINDOW1 A*%%TS SD 20090803 105249 FLANARY REL-V5R4M0 5722-WDS A CF03(03) A CF06(06) A WINDOW(12 11 4 50 *NOMSGLIN) A WDWBORDER((*COLOR BLU) (*DSPATR RI)- A (*CHAR ' ')) A ATR_DACONM 1A P A MYFIELD 20A O 1 16DSPATR(&ATR_DACONM) A 3 2'F3=Exit' A COLOR(BLU) A 3 11'F6=Change Color' A COLOR(BLU)
and the associated RPG code for this would be:
f@CST25AD cf e WORKSTN
d EndScreen1 s 1 inz('N')
d count s 1 0
d Normal c X'20'
d Red c X'28'
d White c X'22'
d Blue c X'3A'
d Pink c X'38'
/Free
//--------------------------------------------------------
// MAIN PROGRAM
//--------------------------------------------------------
myfield= 'some text';
dow endscreen1 = 'N';
exfmt window1;
select;
when *in03;
endscreen1 = 'Y';
when *in06;
count +=1;
if count = 6;
count = 1;
endif;
select;
when count = 1;
atr_daconm = normal;
when count = 2;
atr_daconm = red;
when count = 3;
atr_daconm = white;
when count = 4;
atr_daconm = blue;
when count = 5;
atr_daconm = pink;
endsl;
endsl;
enddo;
*inlr = *on;
/end-free
It just goes to show that theres lots of ways to skin a cat… I love this one!
