10
20
30 MODE0:PROCwin_init(40,"Window 1","Window 2")
40 ON ERROR IF FNerr END
50 REPEATUNTILFNgo
60 END
70 :
80 DEFFNerr:REPORT:PRINT:=INKEY-1
90 :
100
110 DEFPROCwin_init(size%,T1$,T2$)
120 DIM x%(2),y%(2):win%=0:wsize%=size%
130 VDU26:PRINT"£";STRING$((size%-LENT1$)DIV2,"¦");T1$;STRING$(size%-(size%-LENT1$)DIV2-LENT1$,"¦");"§";STRING$((77-size%-LENT2$)DIV2,"¦");T2$;STRING$(77-size%-(77-size%-LENT2$)DIV2-LENT2$,"¦");"¥©";
140 FOR A%=1 TO 25:VDU31,size%+1,A%,169,31,79,A%,169,169-(A%=25):NEXT
150 PRINTSTRING$(size%,"¦");"®";STRING$(77-size%,"¦");"¬"
160 ENDPROC
170 :
180 :
190 DEFFNw(A%):IF A%=win%:=""
200 x%(win%)=POS:y%(win%)=VPOS
210 IF A%=2 VDU28,0,31,79,27 ELSE VDU28,1+wsize%*A%+A%,25,78-(78-wsize%)*(1-A%),1
220 VDU31,x%(A%),y%(A%):win%=A%:=""
230 :
240 :
250 :
260 DEFFNgo
270 PRINTFNw(2);:INPUTLINE":"A$
280 IF LEFT$(A$,1)="*" PRINTFNw(0);:OSCLIA$:=FALSE
290 PRINTFNw(1);"Command: ";A$
300 IF A$="CLS" PRINTFNw(0);:CLS:PRINTFNw(1);:CLS:PRINTFNw(2);:CLS:=FALSE
310 =A$="END"
65321