Listing of file='SCHINS.BAS;01' on disk='vmedia/chip_78-sector.ccvf'
1000 PLOT 6,2,12,15,29,3,23,3:PRINT "MINDEX AND SEARCH" 1005 REM 1010 PLOT 15,3,23,4:PRINT "-----------------" 1020 PLOT 3,0,6:PRINT "MINDEX & SEARCH ARE A PAIR OF PROGRAMS FOR SEARCHING TEXT FILES" 1030 PLOT 3,0,8:PRINT "THEY ARE CLOSELY BASED ON THE ARTICLE IN THE 80 MICRO MAGAZINE" 1040 PLOT 3,0,9:PRINT "OF DECEMBER 1983 BY J. TROJAK. FULL DETAILS ARE GIVEN IN THAT" 1050 PLOT 3,0,10:PRINT "ARTICLE HOWEVER A BRIEF DESCRIPTION IS GIVEN BELOW." 1060 PLOT 3,27,12:PRINT "ssssss" 1070 PLOT 3,0,14:PRINT "PRIOR TO USING SEARCH.PRG TO SEARCH A FILE FOR THE REQUIRED" 1080 PLOT 3,0,15:PRINT "REFERENCE, IT IS NECESSARY TO CREATE A .MAP INDEX FILE FROM THE" 1090 PLOT 3,0,16:PRINT "TEXT FILE." 1100 PLOT 3,0,18:PRINT "THIS .MAP FILE ( ABOUT ONE EIGHTH THE SIZE OF THE TEXT FILE )" 1110 PLOT 3,0,19:PRINT "CONTAINS A HASHED REFERENCE TO EVERY TRIPLET IN THE TEXT FILE." 1120 PLOT 3,0,20:PRINT "A TRIPLET IS A GROUP OF THREE CHARACTERS, EXCLUDING BLANK," 1130 PLOT 3,0,21:PRINT "COMMA AND ROUNDED PARENTHESIS. THESE SPECIAL CHARACTERS ARE" 1140 PLOT 3,0,22:PRINT "TREATED AS DELIMITERS." 1150 PLOT 3,0,24:PRINT "AS AN EXAMPLE, DOG,GOAT IN THE TEXT FILE WILL CAUSE 3 TRIPLETS" 1160 PLOT 3,0,25:PRINT "TO BE HASHED, I.E. DOG GOA OAT." 1170 PLOT 3,27,27:PRINT "ssssss" 1180 PLOT 3,17,29:PRINT "PRESS RETURN TO CONTINUE" 1190 PLOT 3,42,29:INPUT "";T$ 2000 PLOT 6,2,12,15,29,3,0,1:PRINT "WHEN SEARCHING FOR SAY GOAT, PROGRAM SEARCH.PRG ACCESSES THE" 2010 PLOT 3,0,2:PRINT ".MAP FILE LOOKING FOR THE HASH OF TRIPLETS GOA+OAT WHERE +" 2020 PLOT 3,0,3:PRINT "REPRESENTS LOGICAL AND." 2030 PLOT 3,0,5:PRINT "IF BOTH OF THE HASH NUMBERS ARE FOUND, THE APPROPRIATE 256 BYTE" 2040 PLOT 3,0,6:PRINT "BLOCK IN THE TEXT FILE IS LOADED INTO MEMORY AND SEARCHED FOR" 2050 PLOT 3,0,7:PRINT "THE ASCII WORD, GOAT. IF IT IS NOT FOUND, IT IS ASSUMED THAT A" 2060 PLOT 3,0,8:PRINT "COLLISION ( IN HASH TERMINOLOGY ) HAS OCCURRED AND SEARCHING" 2070 PLOT 3,0,9:PRINT "OF THE .MAP FILE RESUMES UNTIL A POSITIVE MATCH IS FOUND OR" 2080 PLOT 3,0,10:PRINT "THE END OF THE .MAP FILE IS ENCOUNTERED." 2090 PLOT 3,24,12:PRINT "ssssss" 2100 PLOT 3,0,14:PRINT "TO CREATE THE .MAP FILE, RUN MINDEX.PRG AND FOLLOW THE" 2110 PLOT 3,0,15:PRINT "INSTRUCTIONS GIVEN. OBVIOUSLY, IF THE TEXT FILE IS ALTERED, A" 2120 PLOT 3,0,16:PRINT "NEW .MAP FILE MUST BE CREATED." 2130 PLOT 3,24,18:PRINT "ssssss" 2140 PLOT 3,0,20:PRINT "TO SEARCH FOR A PARTICULAR KEY, RUN SEARCH.PRG AND FOLLOW THE" 2150 PLOT 3,0,21:PRINT "INSTRUCTIONS GIVEN. NOTE THAT UPPER AND LOWER CASE ARE TREATED" 2160 PLOT 3,0,22:PRINT "THE SAME." 2170 PLOT 3,0,24:PRINT "WHEN ENTERING THE SEARCH KEY(S), LOGICAL AND IS ENTERED BY" 2180 PLOT 3,0,25:PRINT "TYPING A SPACE ( A + SYMBOL APPEARS ) AND LOGICAL OR IS ENTERED" 2190 PLOT 3,0,26:PRINT "BY TYPING A COMMA (A , SYMBOL APPEARS). FOR EXAMPLE, TO SEARCH" 2200 PLOT 3,0,27:PRINT "FOR EVERY REFERENCE OF DOG AND CAT, ENTER DOG CAT ( NOTE THAT" 2210 PLOT 3,0,28:PRINT "DOG+CAT WILL BE DISPLAYED )." 2220 PLOT 3,15,30:PRINT "PRESS READY TO CONTINUE" 2230 PLOT 3,39,30:INPUT "";T$ 3000 PLOT 6,2,12,15,29,3,0,0:PRINT "OPTIONS" 3010 PLOT 3,0,1:PRINT "-------" 3020 PLOT 3,0,2:PRINT "SEARCH OPTIONS CAN BE CHANGED BY ENTERING RETURN ONLY WHEN" 3030 PLOT 3,0,3:PRINT "REQUESTED FOR THE SEARCH KEY(S)." 3040 PLOT 3,0,5:PRINT "OPTIONS TO PRINT OR SAVE THE SELECTED TEXT ARE AVAILABLE AND" 3050 PLOT 3,0,6:PRINT "ARE DISPLAYED PRIOR TO SELECTION." 3060 PLOT 3,22,8:PRINT "ssssss" 3070 PLOT 3,0,10:PRINT "DURING THE SEARCH, IT IS POSSIBLE TO CHANGE TO A LISTING MODE" 3080 PLOT 3,0,11:PRINT "IN ORDER TO DISPLAY TEXT AROUND THE SELECTED TEXT. ENTER A L TO" 3090 PLOT 3,0,12:PRINT "ENTER THE LIST MODE AND A S TO RETURN TO SEARCH MODE." 3100 PLOT 3,22,14:PRINT "ssssss" 3110 PLOT 3,0,16:PRINT "COMMANDS AVAILABLE ARE:-" 3120 PLOT 3,3,18:PRINT "DOWN ARROW NEXT OCCURENCE OF KEY (SEARCH MODE)" 3130 PLOT 3,19,19:PRINT "NEXT RECORD (LIST MODE)" 3140 PLOT 3,3,21:PRINT "UP ARROW";SPC( 8);"BACKSPACE 3 SECTORS (LIST MODE ONLY)" 3150 PLOT 3,3,23:PRINT "P";SPC( 15);"PRINT RECORD" 3160 PLOT 3,3,25:PRINT "W";SPC( 15);"PRINT SCREEN" 3170 PLOT 3,3,27:PRINT "O";SPC( 15);"SAVE RECORD ON DISK" 3180 PLOT 3,15,29:PRINT "PRESS RETURN TO CONTINUE" 3190 PLOT 3,40,29:INPUT "";T$ 4000 PLOT 6,2,12,15,29,3,0,2:PRINT "SEARCH SPEED" 4010 PLOT 3,0,3:PRINT "------------" 4020 PLOT 3,0,5:PRINT "SEARCH SPEED IS SLOWER FOR A 3 CHARACTER KEY (E.G.OIL) THAN FOR" 4030 PLOT 3,0,6:PRINT "KEYS WITH MORE CHARACTERS (E.G. AUSTRALIA) - THE LONGER THE" 4040 PLOT 3,0,7:PRINT "SEARCH KEY, THE FASTER THE SEARCH." 4050 PLOT 3,25,9:PRINT "ssssss" 4060 PLOT 3,0,11:PRINT "RECORD CONSTRUCTION" 4070 PLOT 3,0,12:PRINT "-------------------" 4080 PLOT 3,0,14:PRINT "PHYSICAL RECORDS IN THE TEXT FILE CONSIST OF 256 BYTE BLOCKS" 4090 PLOT 3,0,15:PRINT "I.E. 2 CCII BLOCKS) AS THE PROGRAM WAS ORIGINALLY WRITTEN FOR" 4100 PLOT 3,0,16:PRINT "THE TRASH 80. THE 256 BYTE BLOCK NUMBERS ARE DISPLAYED WHEN" 4110 PLOT 3,0,17:PRINT "RUNNING BOTH MINDEX AND SEARCH." 4120 PLOT 3,0,19:PRINT "LOGICAL RECORDS IN THE TEXT FILE CAN BE SET WHILE RUNNING" 4130 PLOT 3,0,20:PRINT "MINDEX TO COMPRISE TEXT BETWEEN TWO CARRIAGE RETURNS (RECORD" 4140 PLOT 3,0,21:PRINT "MODE) OR BETWEEN TWO CARRIAGE RETURNS OR PERIODS (SENTENCE" 4150 PLOT 3,0,22:PRINT "MODE). IT WAS ASSUMED BY THE ORIGINAL AUTHOR THAT RECORDS WOULD" 4160 PLOT 3,0,23:PRINT "BE LONGER THAN SENTENCES HOWEVER THE REVERSE IS USUALLY THE" 4170 PLOT 3,0,24:PRINT "CASE. NORMALLY THE RECORD MODE WOULD BE USED." 4180 PRINT 4190 PRINT TAB( 3)"1. MINDEX TO CREATE .MAP INDEX FILE ":PRINT 4200 PRINT TAB( 3)"2. SEARCH TO DETECT STRING IN .MAP FILE ":PRINT 4210 PRINT TAB( 3):INPUT "INPUT SELECTION...";Y 4220 ON YGOTO 4230,4240 4230 PLOT 27,4:PRINT "RUN MINDEX" 4240 PLOT 27,4:PRINT "RUN SEARCH"