0 SCREEN,0:PRINT:PRINT" FNDALL 1.0 by James Main Kenney 1996":PRINT:PRINT"Searches for multiple strings in named files or in files on a named list":PRINT:MAXFILES=3:CLEAR1400:DEFINTA-R:DIMS$(79):ONERRORGOTO7:GOTO9 1 FORN=0TOK-1:CLOSE3:OPENP$+N$FORINPUTAS3:L=LEN(S$(N)):T$=" 2 IFNOTEOF(3)THENT$=RIGHT$(T$+INPUT$(1,3),L):IFT$<>S$(N)THEN2ELSEQ$=Q$+" "+T$ 3 NEXT:IFQ$=""THENPRINT" (no string)":N$="":GOTO5ELSEPRINTQ$:Q$=N$+SPACE$(9-LEN(N$))+Q$:N$="":IFD$=""THEN5ELSECLOSE1:OPEND$FORINPUTAS1 4 IFNOTEOF(1)THENLINEINPUT#1,R$:IFR$<>Q$THEN4ELSEPRINT"(duplicate line)"ELSECLOSE1:OPEND$FORAPPENDAS1:PRINT#1,Q$ 5 IFL$=""THENBEEP:GOTO15ELSEIFEOF(2)THENBEEP:MENUELSEC$=INPUT$(1,2):IFASC(C$)<33ORASC(C$)=34ORASC(C$)>122ORINSTR("()[]<>\/`',;:",C$)THENN$="":GOTO5ELSEIFC$<>"."THENN$=N$+C$:GOTO5ELSEIFN$=""ORLEN(N$)>6THENN$="":GOTO5 6 N$=N$+".DO":PRINTN$;SPACE$(9-LEN(N$));:Q$="":GOTO1 7 IFERR=52THENPRINT" (file not in path)"ELSEIFERR=53THENPRINT" (file already open)"ELSEIFERR=51ORERR=55THENPRINT" (bad filename)"ELSEIFERR=14THENPRINT" (out of string space)":ENDELSEIFERR=7THENPRINT" (out of memory)":ENDELSEPRINT" (error"ERR") 8 IFERL=11THENRESUME11ELSEIFERL=12THENRESUME12ELSEN$="":RESUME5 9 PRINT"String"K+1"to search for (limit"240-S:PRINT"characters; null entry ends)";:INPUTS$(K) 10 IFS$(K)>""THENIFS+LEN(S$(K))>240THENBEEP:PRINT"Too long":GOTO9ELSEW$=W$+" "+S$(K):S=LEN(W$):K=K+1:PRINTK"string(s) to be searched for:"W$:IFS<240THEN9 11 D$="":INPUT"File to append filenames and strings to (null entry for none)";D$:IFD$>""THENOPEND$FORAPPENDAS1 12 CLS:FILES:L$="":INPUT"File listing files to search (null entryfor direct entry of names later)";L$:IFL$>""THENOPENL$FORINPUTAS2 13 CLS:PRINT:INPUT"Path of files to search (null entry for computer RAM; R for Booster Pak RAM; CASfor tape; 0 or 1 for TPDD2; 0 for TPDD1)";P$:IFP$>""THENIFINSTR(P$,":")=0THENP$=P$+": 14 PRINT:H$="Filename Strings in file":G$=STRING$(26,"-"):PRINT:PRINTH$:PRINTG$:IFD$>""THENPRINT#1,G$:PRINT#1,DATE$" "TIME$:PRINT#1,"List: "L$:PRINT#1,"Path: "P$:PRINT#1,K"string(s) searched for:"W$:PRINT#1,H$:PRINT#1,G$ 15 IFL$>""THEN5ELSEN$="Menu":INPUT"File to search";N$:IFN$="Menu"THENMENUELSEP=INSTR(N$,"."):IFPTHENN$=LEFT$(N$,P-1):GOTO6ELSE6