Hi jonats.
Enclosed you find a REXX Sample for TSO/DMS. It move a line man over the screen. It cosist of two parts. First part is a rexx script and the second part is a DMS Panel definition. Look at the runit sub function. It tell DMS to show panel and simulate enduser key stroke.
REXX Meber SAMC990:
/* REXX */
wlk.1.1 = " O ";
wlk.1.2 = "o ! ";
wlk.1.3 = " !-- ";
wlk.1.4 = " ! ";
wlk.1.5 = " / ` ";
wlk.1.6 = "/_ _";
wlk.2.1 = " O ";
wlk.2.2 = "< / ";
wlk.2.3 = " -!-- ";
wlk.2.4 = " ! ";
wlk.2.5 = " / ` ";
wlk.2.6 = " - L ";
wlk.3.1 = " O ";
wlk.3.2 = " ! ";
wlk.3.3 = " -!-- ";
wlk.3.4 = " ! ";
wlk.3.5 = " `` ";
wlk.3.6 = " /_L ";
wlk.4.1 = " O ";
wlk.4.2 = " ! ";
wlk.4.3 = " -!-- ";
wlk.4.4 = " ! ";
wlk.4.5 = " / ";
wlk.4.6 = " / `_";
wlke.1.1 = " ? O";
wlke.1.2 = "BOING !";
wlke.1.3 = " !";
wlke.1.4 = " !";
wlke.1.5 = " !";
wlke.1.6 = " /__!";
wlke.2.1 = "AUTSCH*";
wlke.2.2 = " * ";
wlke.2.3 = " * O";
wlke.2.4 = " !";
wlke.2.5 = " !";
wlke.2.6 = " /__J";
wlke.3.1 = "FLUSH ";
wlke.3.2 = " ";
wlke.3.3 = " ";
wlke.3.4 = " O";
wlke.3.5 = " -!";
wlke.3.6 = " ___J";
wlke.4.1 = "KO ";
wlke.4.2 = " UFF ";
wlke.4.3 = " ";
wlke.4.4 = " ";
wlke.4.5 = " O";
wlke.4.6 = "______J";
maximum = 30;
address ISPEXEC;
'ADDPOP ROW(10) COLUMN(6)';
do i=1 to maximum;
spc = substr('',1,i,' ');
do ib = 1 to 4;
do iz = 1 to 6;
x = spc''wlk.ib.iz;
interpret 'lwlk'iz' = substr(x,1,maximum+7)"!"';
end;
x = runit();
end;
end;
do ib=1 to 4;
do iz = 1 to 6;
interpret 'lwlk'iz' = spc""wlke.ib.iz"!"';
end;
x = runit();
end;
'DISPLAY PANEL(SAMP990)';
'REMPOP'
exit(0);
runit:
'CONTROL DISPLAY LOCK'
'DISPLAY PANEL(SAMP990)'
return 0;
Panel definition SAMP990 for rexx above.
)attr
$ type(output) intens(high) just(asis) caps(on)
)body window(42,12) expand(//)
%/-/ L„ufer /-/
%Kommando ==>_ZCMD / /+
%
+ / / Die L„ufer PackMan Story / /
+
+ $LWLK1 +
+ $LWLK2 +
+ $LWLK3 +
+ $LWLK4 +
+ $LWLK5 +
+ $LWLK6 +
+ --------------------------------------
)end