SEWALL@UCONNVM.BITNET (05/27/87)
Ok, I edited the FULLCAT text file (only 2 lines were over 80 columns), and I think I avoided messing it up. I think I would break for a few bucks for a modem before I tried to type this in. Even when Applesoft can be sent as straight ASCII file, fitting it into 80 columns usually requires "crunching" it - not so easy to read; difficult to type without error. ---------------------Cut Here-------------------------- NEW 10DIMDN$(20,20),DC(20),PC$(20),I(20),L4$(100) 20D$=CHR$(4) 30WD=39:MF=100:MD=20 40IFPEEK(49048)<128THEN70:REM IF NOT A IIE 50IFPEEK(49183)>128THENWD=79:GOTO80:REM IIE HAS 80-COLUMN ON 60GOTO80:REM IIE HAS 40-COLUMN ON 70INPUT"How wide is your screen ? ";WD:WD=WD-1 80INPUT"Enter pathname of directory to catalog: ";PF$ 90IFLEN(PF$)=0THEN120 100IFMID$(PF$,LEN(PF$),1)<>"/"THENPF$=PF$+"/" 110GOTO130 120?D$;"PREFIX":INPUTPF$:PF$=LEFT$(PF$,LEN(PF$)-1) 130INPUT"Alphabetical listing ([Y] or N) ? ";AN$:AL=1:IFAN$="N"ORAN$="n"THENAL=0 134INPUT"List to printer? (Y/[N]) ";AN$ 136IFAN$="Y"ORAN$="y"THENPF=1:?D$;"PR#1":?CHR$(9);"80N":WD=79 138LV=0 140GOSUB1000 150?:?LEFT$(L5$,WD):IFPFTHEN?CHR$(12):?D$;"PR#0" 160END 1000LV=LV+1:DC(LV)=0:I(LV)=0 1010GOSUB2000 1012IFALANDDC(LV)>0THENGOSUB5000 1020PC$(LV)=PF$ 1030IFRIGHT$(PC$(LV),1)<>"/"THENPC$(LV)=PC$(LV)+"/" 1040IFDC(LV)=0THEN1110 1050FORE=1TO15 1052IFMID$(DN$(LV,I(LV)),E,1)=" "THENDN$(LV,I(LV))=MID$(DN$(LV,I(LV)),1,E-1) 1054IFMID$(DN$(LV,I(LV)),E,1)=" "THENE=100 1060NEXTE 1070PF$=PC$(LV)+DN$(LV,I(LV)) 1080GOSUB1000 1090LV=LV-1 1100I(LV)=I(LV)+1:IFI(LV)<DC(LV)THEN1050 1110RETURN 2000?D$;"OPEN ";PF$;",TDIR" 2010I=0 2020?:? 2030?D$;"READ ";PF$ 2040INPUTL1$:REM READ NAME 2050?"Dir= ";PF$:?:REM SHOW FULL PATHNAME OF DIRECTORY 2060INPUTL2$:?LEFT$(L2$,WD):REM READ TITLE 2070INPUTL3$:?LEFT$(L3$,WD):REM READ BLANK LINE 2080INPUTL4$(I):REMREAD FILES 2090IFL4$(I)=""THENGOTO2120 2095IFDC(LV)>MDTHEN?"Too many directories in this directory":GOTO2110 2100IFMID$(L4$(I),18,3)="DIR"THENDN$(LV,DC(LV))=MID$(L4$(I),2,15) 2105IFMID$(L4$(I),18,3)="DIR"THENDC(LV)=DC(LV)+1 2110I=I+1:IFI>MFTHEN?"Too many files in this directory":GOTO2130 2112GOTO2080 2120INPUTL5$:REM READ BLOCK COUNT 2130?D$;"CLOSE ";PF$ 2140I=I-1 2150IFALANDI>0THENGOSUB4000:REMSORT RECORDS 2160FORJ=0TOI:?LEFT$(L4$(J),WD):NEXT 2170RETURN 3000REM FEATURES TO ADD: 3010REM 1. ALPHABETICAL LISTING OPTION 3020REM 2. SEARCH FOR A FILENAME, SHOWING ALL MATCHES IN CURRENT TREE 3030REM 3. ABILITY TO SET CURRENT PREFIX 3040REM 4. ABILITY TO SPECIFY CURRENT PATHNAME TO CATALOG 4000M=I:?D$;"FRE" 4010M=INT(M/2):IFM=0THENRETURN 4020J=0:K=I-M 4030H=J 4040V=H+M:IFMID$(L4$(H),2,15)<MID$(L4$(V),2,15)THEN4070 4050T$=L4$(H):L4$(H)=L4$(V):L4$(V)=T$ 4060H=H-M:IFH>=0THEN4040 4070J=J+1:IFJ>KTHEN4010 4080GOTO4030 5000M=DC(LV)-1:?D$;"FRE" 5010M=INT(M/2):IFM=0THENRETURN 5020J=0:K=(DC(LV)-1)-M 5030H=J 5040V=H+M:IFDN$(LV,H)<DN$(LV,V)THEN5070 5050T$=DN$(LV,H):DN$(LV,H)=DN$(LV,V):DN$(LV,V)=T$ 5060H=H-M:IFH>=0THEN5040 5070J=J+1:IFJ>KTHEN5010 5080GOTO5030 SAVE FULLCAT