8-Bit Software Online Conversion
                
             
        
        
    
:0.M.SCHOPR - Listing
    
       10ONERROR PROCerror : END            
   20*FX4,2                             
   30*FX200,1                           
   40MODE1:VDU23,1,0;0;0;0;:VDU19,1,4,0;
0:PROCmenu                              
   50MODE7:*FX200,0                     
   55*FX4,0                             
   60END                                
   70DEFPROCdouble(A$,xpos%,ypos%)      
   80FORI%=1 TO LENA$:A%=&A:X%=&70:Y%=&0
0:?&70=ASC(MID$(A$,I%,1)):CALL &FFF1:VDU
23,254,?&71,?&71,?&72,?&72,?&73,?&73,?&7
4,?&74:                                 
   90:VDU23,255,?&75,?&75,?&76,?&76,?&77
,?&77,?&78,?&78:PRINTTAB(xpos%+I%,ypos%)
" ":PRINTTAB(xpos%+I%,ypos%+1)CHR$254:PR
INTTAB(xpos%+I%,ypos%+2)CHR$255:PRINTTAB
(xpos%+I%,ypos%+3)" ":NEXT:ENDPROC      
  100DEFPROCmenu:COLOUR129:CLS:COLOUR 2 
  110CLS:PROCdouble("School Time Table P
rinter",7,2)                            
  120PRINTTAB(4,5);"By Andrew York in 19
96 For Model B"                         
  130PROCdouble("1. Start a new file.",7
,9)                                     
  140PROCdouble("2. Print a saved file."
,7,12)                                  
  150PROCdouble("3. Leave this program."
,7,15)                                  
  160PROCdouble("Please enter 1,2 or 3 "
,7,21)                                  
  165PRINTTAB(1,29);"This program uses P
rint Master and will":PRINTTAB(10,30);"n
ot work without it."                    
  170REPEAT                             
  180A$=GET$                            
  190IF A$="1" THEN VDU22,0:PROCnew     
  200IF A$="2" THEN PROCprint           
  210IF A$="3" THEN ENDPROC             
  220UNTIL FALSE                        
  230DEFPROCdisplay                     
  250PRINTTAB(0,0);"********************
****************************************
*******************"                    
  260A=0:REPEAT                         
  270A=A+1                              
  280PRINTTAB(0);"*                     
                                        
                *"                      
  290UNTIL A=29                         
  300PRINTTAB(0,4);"********************
****************************************
*******************"                    
  310PRINTTAB(0,29);"*******************
****************************************
********************"                   
  320A=0:PRINTTAB(0,3)                  
  330REPEAT:A=A+1                       
  340PRINTTAB(10,A);"*"                 
  350UNTIL A=29                         
  360PRINTTAB(2,2);"Days"               
  370PRINTTAB(0,9);"********************
****************************************
*******************"                    
  380PRINTTAB(0,14);"*******************
****************************************
********************"                   
  390PRINTTAB(0,19);"*******************
****************************************
********************"                   
  400PRINTTAB(0,24);"*******************
****************************************
********************"                   
  410PRINTTAB(2,6);"Monday"             
  420PRINTTAB(2,11);"Tuesday"           
  430PRINTTAB(2,16);"Wednes"            
  440PRINTTAB(2,21);"Thurs"             
  450PRINTTAB(2,26);"Fri"               
  460A=4:REPEAT                         
  470PRINTTAB(23,A);"*"                 
  480A=A+1                              
  490UNTIL A=29                         
  500A=4:REPEAT                         
  510PRINTTAB(35,A);"*"                 
  520A=A+1                              
  530UNTIL A=29                         
  540A=4:REPEAT                         
  550PRINTTAB(47,A);"*"                 
  560A=A+1                              
  570UNTIL A=29                         
  580A=4:REPEAT:PRINTTAB(61,A);"*":A=A+1
:UNTIL A=29                             
  590ENDPROC                            
  600DEFPROCnew                         
  610PROCdisplay                        
  620INPUTTAB(15,2);"School :"school$   
  630INPUTTAB(50,2);"Date :"date$       
  640INPUTTAB(11,6);""one$              
  650INPUTTAB(26,6);""two$              
  660INPUTTAB(37,6);""three$            
  670INPUTTAB(48,6);""four$             
  680INPUTTAB(62,6);""ELLO$             
  690INPUTTAB(11,12);""five$            
  700INPUTTAB(26,12);""six$             
  710INPUTTAB(37,12);""seven$           
  720INPUTTAB(48,12);""eight$           
  730INPUTTAB(62,12);""B$               
  740INPUTTAB(11,17);""nine$            
  750INPUTTAB(26,17);""ten$             
  760INPUTTAB(37,17);""eleven$          
  770INPUTTAB(48,17);""twelve$          
  780INPUTTAB(62,17);""C$               
  790INPUTTAB(11,21);""thirt$           
  800INPUTTAB(26,21);""fourit$          
  810INPUTTAB(37,21);""fift$            
  820INPUTTAB(48,21);""sixt$            
  830INPUTTAB(62,21);""D$               
  840INPUTTAB(11,26);""sevent$          
  850INPUTTAB(26,26);""eighty$          
  860INPUTTAB(37,26);""ninty$           
  870INPUTTAB(48,26);""end$             
  880INPUTTAB(62,26);""E$               
  890INPUTTAB(15,30);"File to save as:"f
ile$                                    
  900IF LEN(file$) > 9 THEN PRINTTAB(15,
30);"File name to long press any key to 
try again          ";:A$=GET$:PRINTTAB(1
5,30);"                                 
                             ":GOTO890  
                                        
  910PRINT"Saving ...";                 
  920F=OPENOUT(file$)                   
  930PRINT#F,school$,date$,one$,two$,thr
ee$                                     
  940PRINT#F,four$,five$,six$,seven$    
  950PRINT#F,eight$,nine$,ten$,eleven$  
  960PRINT#F,twelve$,thirt$,fourit$,fift
$                                       
  970PRINT#F,sixt$,sevent$,eighty$,ninty
$                                       
  980PRINT#F,end$,ELLO$,B$,C$,D$,E$     
  990CLOSE#F:RUN:ENDPROC                
 1000DEFPROCprint                       
 1010 VDU22,0                           
 1020INPUT"File to print ?"file$        
 1030IF LEN(file$) >9 THEN CLS:GOTO1020 
                                        
 1040F=OPENIN(file$)                    
 1041IF F=0 THEN PRINT:PRINT"File not fo
und press space";:REPEAT:A$=GET$:UNTIL A
$=" ":PRINT:PRINT:GOTO 1020             
 1050INPUT#F,school$,date$,one$,two$,thr
ee$                                     
 1060INPUT#F,four$,five$,six$,seven$    
 1070INPUT#F,eight$,nine$,ten$,eleven$  
 1080INPUT#F,twelve$,thirt$,fourit$,fift
$                                       
 1090INPUT#F,sixt$,sevent$,eighty$,ninty
$                                       
 1100INPUT#F,end$,ELLO$,B$,C$,D$,E$     
 1110CLOSE#F                            
 1120PRINT                              
 1130PRINT"File loaded. How many print o
uts do you want";:INPUT B               
 1140PRINT:PRINT"Press any key to start 
printing";:a$=GET$:FOR C = 1 TO B       
 1150PROCdisplay                        
 1160PRINTTAB(15,2);"School :"school$   
 1170PRINTTAB(50,2);"Date :"date$       
 1180PRINTTAB(11,6);""one$              
 1190PRINTTAB(26,6);"";two$             
 1200PRINTTAB(37,6);""three$            
 1210PRINTTAB(48,6);""four$             
 1220PRINTTAB(62,6)""ELLO$              
 1230PRINTTAB(11,12);""five$            
 1240PRINTTAB(26,12);""six$             
 1250PRINTTAB(37,12);""seven$           
 1260PRINTTAB(48,12);""eight$:PRINTTAB(6
2,12)""B$                               
 1270PRINTTAB(11,17);""nine$            
 1280PRINTTAB(26,17);""ten$             
 1290PRINTTAB(37,17);""eleven$          
 1300PRINTTAB(48,17);""twelve$          
 1310PRINTTAB(62,17);""C$               
 1320PRINTTAB(11,21);""thirt$           
 1330PRINTTAB(26,21);""fourit$          
 1340PRINTTAB(37,21);""fift$            
 1350PRINTTAB(48,21);""sixt$            
 1360PRINTTAB(62,21);""D$               
 1370PRINTTAB(11,26);""sevent$          
 1380PRINTTAB(26,26);""eighty$          
 1390PRINTTAB(37,26);""ninty$           
 1400PRINTTAB(48,26);""end$             
 1410PRINTTAB(62,26);"";E$:*TDUMP       
 1420NEXT C                             
 1430VDU3:RUN                           
 1440ENDPROC                            
 1450DEFPROCerror:VDU7                  
 1460ON ERROR OFF                       
 1470ON ERROR PROCerror                 
 1480IF ERL = 920 THEN PRINT:PRINT:REPOR
T:PRINT" press space.":REPEAT:A$=GET$:UN
TIL A$=" ":PRINT:PRINT:GOTO 890         
 1490IF ERL = 1040 THEN PRINT:PRINT:REPO
RT:PRINT" press space.":REPEAT:A$=GET$:U
NTIL A$=" ":PRINT:PRINT:GOTO 1020       
 1500CLS:PRINT:REPORT:PRINT" press space
.";:REPEAT:A$=GET$:UNTIL A$=" ":RUN:ENDP
ROC