ä àN€7 1:€- 6"æN€ ‚ OFILE%(file$,fnum,rlen)øN € ‚ € ÿÿÿ(O €! "I",fnum,file$,rlen2O € € ‚,<$O € (‚ Š 255) <> 3 Š "DISK ERROR"F8O ‚ = 0:newfile% = -1 PDO €!ZGO €% # fnum : newfile% = 0 dSO € €nSO €! "R",fnum,file$,rlenxkO € ‚ Š "DISK ERROR"‚xO€ ‚ = newfile%Œ|O€ ‚ GetKey$ (PR$)'–…O€1 PR$;:€3:DUMMY$=ˆ :€4 †(DUMMY$)  ¤O €1ª§O€ ‚ = DUMMY$/´®O‚ € &20,"ENTER NAME OF CONFIG FILE: ";F$4¾¿O€ F$ = "" Š € ÿÒ:Š CONFIGURATION QUESTIONS ÈÙO€ € ‚ OFILE% (F$,1,256) *Ò÷O UP$=‚ GetKey$("ENTER UP KEY: ").ÜP Down$=‚ GetKey$("ENTER DOWN KEY: ")2æP FL$=‚ GetKey$("ENTER FIRST LINE KEY: ")2ðP LL$=‚ GetKey$("ENTER LAST LINE KEY: ")-ú+P BR$=‚ GetKey$("ENTER STOP KEY: ")-8P GK$=‚ GetKey$("ENTER GOTO KEY: ")6EP SEP$=‚ GetKey$("FILE SPEC SEPERATOR: / OR . ")RP € F$ = "" Š € ÿJ8"lP €2#1,UP$;1,Down$;1,BR$;1,GK$;1,FL$;1,LL$;1,SEP$;1,ÂP€86ÅP € #1,UP$;1,Down$;1,BR$;1,GK$;1,FL$;1,LL$;1,SEP$;1@Q€ € : €% 1$J!Q€ : ‚ € &20, "FILE NAME: ";F$T5Q€ F$ = "" Š €^RQP=„(1,F$,SEP$) : F1$=F$ hwQ€ € PrQ F2$=ˆ(F$,P)+"IND"|›Q€†žQ F2$=F$+SEP$+"IND" ¶Q€ €$š¶QNewfile = ‚ OFILE% (F1$,1,256)¤ÐQLines = 0:MR% = 0:ML% = 0#®âQNewIndex% = ‚ OFILE%(F2$,2,4)9¸üQ€ NewIndex% = -1 Š NewFile% = 0 Š € "MAKE INDEX"NÂ(R€ NewIndex% Š €2#2,MR%,ML%,Lines%,Lines% :€ € #2,MR%,ML%,Lines%,Lines%ÌwR€4ÖzR€1 @(0,2);"TEXT FILE: ";F1$,"SIZE = ";†(1)<<8.5à´R€1 @(0,3);"INDEX FILE: ";F2$,"SIZE = ";†(2)<<2.:êîR€1 "STATUS Newfile = ";Newfile,"NewIndex = ";NewIndex5ô S€1 "TEXT SIZE: ";MR%*256.+ML%,"IN";Lines;"Lines" þOSLP=0,US€1 @(0,7)"Line #","Record #","Location"&zS€ ‚ €:Š ENABLE ERROR TRAPPINGSA$ = UP$:€ ÿ:&SA$ = ˆ :€ A$ = "" Š ÿ&90¶S€ A$ = GK$ Š € @(0,15)"ENTER LINE # ";LP:€ ÿl#:ãS€ A$=Down$ Š LP=LP+1:€ ÿl#DþS€ A$=UP$ Š LP=LP-1:€ ÿl$NT€ A$ = LL$ Š LP=Lines:€ ÿl X6T€ A$ = FL$ Š LP=1:€ ÿl.bST€ A$ <> BR$ Š € ÿ&:€ € ÿ¨ :Š STOPlpT€ LP<= 0 Š LP = 1 vT€ LP > Lines Š LP = Lines(€“T€+#2,LP+1:€ #2,RX%,LX%:€+#1,RX%,LX%ŠÄT‚ € #1,L$:€1 @(0,8);%”ÚT€ ‚:€1 LP,RX%,LX% : €1 : €1 L$ žU€ ÿ&*¨U€%:€:Š >>>>>>>> END OF MAIN PROGRAM(²U"DISK ERROR" €1 ˆ (‚):‚ = 0:€%:€-¼.U"MAKE INDEX" €1 "CREATING AN INDEX FILE"Æ7U€ ‚ € ÿÿÿ :€+ #2,2.ÐLU€3:€2#2,MR%,ML%:Š START POSITION OF LINEÚaU ‚ € #1,L$+ämU MR%=†(1):ML%=†(1):Lines = Lines +1-îƒU€4 ‚:€ (‚ Š 255)<> 1 Š "DISK ERROR" øžU€ Lines Š Lines = Lines-1#¬U‚ = 0 : €+ #2,0 : €+#1,0 : €ÿÿ