Listing of file='SORTCT.BAS;01' on disk='vmedia/chip_81-sector.ccvf'
1 REM IDENT 2 REM 5 CLEAR 256 10 PLOT 12:PRINT "SORTCT.BAS VER 3.1":PRINT 20 PRINT "RANDOM DISK DATA FILE SORTING PROGRAM" 30 PRINT 40 PRINT "DEVELOPED BY":PRINT " J L HELMS" 50 PRINT " 1009 LEYTE RD":PRINT " CORONADO CA 92118" 60 PRINT :PRINT "UTILIZES THE MOUSE AND TREE SORT AS" 70 PRINT "DESCRIBED IN CREATIVE COMPUTING, JAN-FEB 78" 80 PRINT "VOL 4 NO 1 PGS 100-101" 90 FOR T= 1TO 1500:NEXT T 100 PRINT :PRINT "INSERT DATA FILE DISK IF REQUIRED" 110 PRINT "HIT -RETURN- TO CONTINUE" 120 POKE 33278,0 130 IF PEEK (33278)< > 13THEN 130 300 PLOT 12,27,4 310 PRINT "DIR" 320 PLOT 27,11,10 330 INPUT "ENTER DATA FILE NAME WITHOUT EXTENSION/VERSION ";F$ 340 PRINT :L= LEN (F$) 350 IF L< 1OR L> 6THEN 330 360 F$= F$+ ".RND" 400 FILE "T",5000 410 FILE "R",1,F$,1 420 FILE "A",1,CR,N,RS,BF 430 PRINT 440 PRINT "FILE NAME ";TAB( 30)F$ 450 PRINT "NUMBER RECORDS ";TAB( 30)N 460 PRINT "RECORD LENGTH ";TAB( 30)RS 470 PRINT "BLOCKING FACTOR ";TAB( 30)BF 480 PRINT "FILE SIZE ";TAB( 30)N* RS 490 B= 1:X= BF* RS 500 IF X< = 128THEN 520 510 X= X- 128:B= B+ 1:GOTO 500 520 DS= (B* N* 128)/ BF 530 PRINT "DISK SIZE ";TAB( 30)DS 540 FOR T= 1TO 3000:NEXT T 550 FILE "C",1 800 PLOT 12 810 PRINT :INPUT "FIRST RECORD NUMBER TO SORT? ";FR 820 IF FR< 1OR FR> N- 1THEN 810 830 PRINT :INPUT "LAST RECORD NUMBER TO SORT? ";LR 840 IF LR< FR+ 1OR LR> NTHEN 830 850 NR= LR- FR+ 1 860 IF NR< 1001THEN 900 870 PRINT :PRINT "MAXIMUM SORT IS 1000 ITEMS" 880 PRINT "SELECT AGAIN" 890 GOTO 810 900 PRINT :INPUT "FIRST SORT CHARACTER POSITION? ";LI 910 IF LI< 1OR LI> RS- 1THEN 900 920 PRINT :INPUT "NUMERIC OR STRING DATA? ";NS$ 930 IF NS$= "S"THEN 990 940 IF NS$< > "N"THEN 920 950 IF RS- LI= > 3THEN 1010 960 PRINT :PRINT "ILLEGAL PARAMETERS" 970 PRINT "LAST NUMERIC POSITION STARTS AT ";RS- 3 980 GOTO 900 990 PRINT :INPUT "NUMBER OF POSITIONS TO SORT? ";NI 1000 IF NI< 1OR NI> RS- LI+ 1THEN 990 1010 PRINT :PRINT "STANDBY" 1020 FILE "R",1,"SORTID.RND",1 1030 IF NS$= "N"THEN NI= 0 1040 PUT 1,1,1;F$[13],NR,FR,LR,LI,NS$[1],NI,1 1041 PLOT 27,4:PRINT "DIR":PLOT 27,27:PRINT 1042 INPUT "IS FILE NAMED SORTED.RND ON THE DISK? Y/N ";Y$ 1043 IF Y$= "Y"THEN 1060 1044 IF Y$= "N"THEN 1050 1045 PRINT :GOTO 1042 1050 FILE "N","SORTED.RND",NR,RS,BF 1060 FILE "C",1 1100 PLOT 12 1110 PRINT "LINE CHANGES MUST BE MADE IN PROGRAM SORTDF.BAS" 1120 PRINT "FOR PROPER READING/WRITING OF FILES WHEN THE" 1130 PRINT "SORT ITSELF IS COMPLETE":PRINT 1140 PRINT "THE FOLLOWING LINES NEED TO BE CHANGED TO MATCH" 1150 PRINT "THE FILE SPECS OF DATA FILE ";F$;" ":PRINT 1160 PRINT "THE ENTIRE FILE WILL BE READ (OR THE SELECTED" 1170 PRINT "RECORD NUMBERS) SO IDENTIFY VARIABLES CAREFULLY" 1180 PRINT :PRINT "DO NOT USE THE FOLLOWING VARIABLES":PRINT 1190 PRINT " FR LR LI NI I J N L" 1200 PRINT " F$ L$ R$ RS L LA LB LO" 1210 PRINT " K KA KB M BA BB PR PS":PRINT 1220 PRINT "THE LINE NUMBERS ARE ":PRINT 1230 PRINT "LINE 2180" 1240 PRINT "LINE 2230" 1250 PRINT "LINE 2240" 1260 REM 1270 PRINT :PRINT "INSERT SORT PROGRAM DISK IF REQUIRED" 1280 PRINT "HIT -RETURN- TO CONTINUE" 1290 POKE 33278,0 1300 IF PEEK (33278)< > 13THEN 1300 1310 PLOT 12 1320 LOAD "SORTDF.BAS":RUN 1399 END 5000 PLOT 12 5010 FILE "E",F,ER,LN 5020 PRINT "FILE ERROR" 5030 PRINT "FILE NUMBER ";F 5040 PRINT "ERROR CODE ";ER 5050 PRINT "LINE NUMBER ";LN 5070 END 6000 REM 6001 REM +++ FILE SORTID.RND +++ 6002 REM 6003 REM CONTAINS BASIC DATA ABOUT THE FILE TO BE SORTED 6004 REM AND HOW IT IS TO BE ACCOMPLISHED 6005 REM 6006 REM POSITIONS DATA 6007 REM 01-13 FILE NAME TO SORT 6008 REM 14-17 NUMBER OF RECORDS TO SORT 6009 REM 18-21 FIRST RECORD TO SORT 6010 REM 22-25 LAST RECORD TO SORT 6011 REM 26-29 LEFT INDEX/RECORD POSITION OF SORT 6012 REM 30 NUMERIC OR STRING VARIABLE INDICATOR 6013 REM 31-34 NUMBER OF POSITIONS TO SORT 6014 REM 35 1 INDICATES PROGRAM SORTDF.BAS NEEDS 6015 REM LINE CHANGES 6016 REM 2 INDICATES PROGRAM SORTDF.BAS OK