Listing of file='ADDPRT.BAS;01' on disk='vmedia/comtronics-sector.ccvf'
1 REM 5 CLEAR 512 10 PLOT 27,11,15,6,6,12 15 PRINT "THIS PROGRAM WILL DO THE FOLLOWING TRICKS FOR YOU" 20 PLOT 10,10 25 PRINT " 1 READ A DATA FILE BASED ON YOUR PARAMETERS" 30 PRINT " 2 INSERT DATA FROM FILE AS 'PRINT' STATEMENTS" 35 PRINT " TO THE END OF THIS PROGRAM" 40 PRINT 45 PRINT " 3 YOU WILL BE ASKED TO SUPPLY THE FOLLOWING INFO" 50 PRINT " A FILE NAME" 55 PRINT " B FIRST CHARACTER POSITION OF STRING DATA" 60 PRINT " C LENGTH OF STRING DATA" 70 PRINT " D FIRST RECORD NUMBER" 75 PRINT " E LAST RECORD NUMBER" 80 PRINT " F FIRST LINE NUMBER FOR PRINT STATEMENT" 85 PRINT " G LINE NUMBER INCREMENT" 90 PRINT 95 INPUT "HIT RETURN TO CONTINUE ";A 100 PLOT 12,10,10 110 INPUT "ENTER FILE NAME ";F$ 120 IF LEN (F$)< 1THEN END 130 IF LEN (F$)> 13THEN 100 140 PRINT 150 INPUT "FIRST CHARACTER POSITION IN THE FILE ";P1 160 IF P1< > INT (P1)OR P1< 0THEN 140 170 PRINT :IF P1= 0THEN END 180 INPUT "LENGTH OF STRING DATA ";LS 190 IF LS< > INT (LS)OR LS< 1THEN END 200 PRINT 240 INPUT "FIRST RECORD NUMBER ";FR 250 IF FR< > INT (FR)OR FR< 1THEN END 260 PRINT 270 INPUT "LAST RECORD NUMBER ";LR 280 IF LR< > INT (LR)OR LR< FR+ 1THEN END 290 PRINT 300 INPUT "FIRST LINE NUMBER FOR STATEMENT ";LN 310 IF LN< > INT (LN)OR LN< 3000OR LN> 65000THEN END 320 PRINT 330 INPUT "LINE NUMBER INCREMENT ";LI 340 IF LI< > INT (LI)OR LI< 1THEN END 350 IF LN+ LI* (LR- FR+ 1)> 65500THEN END 360 PRINT 370 PRINT "+++ STANDBY +++" 380 FILE "N","TEMP.RND",1,128,1 390 FILE "R",1,"TEMP.RND",1 400 PUT 1,1,1;F$[16],FR,LR,P1,LS,P2,LN,LI 410 FS= PEEK (32982)+ 256* PEEK (32983) 420 ES= FS+ (LR- FR+ 1)* (LS+ 8) 430 IF ES> FS+ 8AND ES< 65001THEN 1650 1600 REM 1610 REM 1620 PRINT 1630 PRINT "+++ ILLEGAL PARAMETERS - NOT ENOUGH MEMORY LEFT +++" 1640 END 1650 PUT 1,1,45;ES,FS 1660 FILE "D",1 1700 GET 1,1,45;ES 1720 POKE 32982,(ES- 256* (INT (ES/ 256))) 1730 GET 1,1,45;ES 1750 POKE 32983,INT (ES/ 256) 1760 FILE "C",1 1770 PLOT 12 1780 PRINT "ADDING FILE DATA TO PROGRAM" 1785 PRINT "RECORD","$ DATA","MEM LOC","LINK","LINE" 1790 CLEAR 1024 1800 FILE "R",1,"TEMP.RND",1 1810 GET 1,1,1;F$[16],FR,LR,P1,LS,P2,LN,LI,ES,FS 1820 L= LEN (F$) 1830 IF RIGHT$ (F$,1)= " "THEN F$= LEFT$ (F$,L- 1):GOTO 1820 1840 FILE "C",1 1850 FILE "R",1,F$,2 1860 LL= FS- 2 1870 FILE "T",2270 2000 FOR I= FRTO LR 2020 GET 1,I,P1;M$[LS] 2030 L1= LEN (M$):IF L1= 1THEN 2100 2040 IF RIGHT$ (M$,1)< > " "THEN 2100 2050 M$= LEFT$ (M$,L1- 1):GOTO 2030 2100 HI= INT (LN/ 256):LO= LN- 256* HI 2110 POKE LL+ 2,LO:POKE LL+ 3,HI 2120 POKE LL+ 4,150 2130 POKE LL+ 5,34 2140 FOR J= 1TO L1 2150 POKE LL+ 5+ J,ASC (MID$ (M$,J,1)) 2160 NEXT J 2170 POKE LL+ 6+ L1,34 2200 POKE LL+ 7+ L1,0 2210 LP= LL+ L1+ 8:LN= LN+ LI 2220 HI= INT (LP/ 256):LO= LP- 256* HI 2230 POKE LL,LO 2240 POKE LL+ 1,HI 2245 PRINT ""LN,""LL,LP:PRINT ""I,""M$:PRINT 2250 LL= LP 2260 NEXT I 2270 POKE LL,0:POKE LL+ 1,0 2280 POKE LL+ 2,0:POKE LL+ 3,74 2290 POKE LL+ 4,0:POKE LL+ 5,181 2300 POKE LL+ 6,2:POKE LL+ 7,144 2310 FILE "C",1 2320 HI= INT ((FS- 2)/ 256):LO= FS- 2- 256* HI 2330 POKE 33434,LO:POKE 33435,HI 2340 END