0 'DF-AUT.BA(c)1990, R.W.HESS 2 CLS:CLEAR3000:MAXFILES=2:GOSUB62:H$="DF-FMT":OPENH$FORINPUTAS1:CLOSE:DIMT$(6),TT$(6):GOSUB74:H$=FS$ 4 GOSUB122:OPENFS$FORINPUTAS1:INPUT#1,N:DIMA$(N),B$(N),S$(N),P(N),T(N),D(N),M(N),K(N),Q(N):IFLEN(ST$)=0ORASC(ST$)<>47THENSB=1:FORA=1TON:T(A)=A:NEXT:GOTO10 6 FORA=1TON:T1$="/"+MID$(STR$(A),2,2)+"/":IFINSTR(ST$,T1$)=0THENST$=ST$+MID$(T1$,2,3) 8 NEXT:T$=ST$:FORA=1TON:GOSUB106:T(A)=VAL(T$):IFP1=0ORT(A)>NTHENERROR9ELSEIFP2=0THENNEXT 10 FORA=1TON:LINEINPUT#1,A$(A):M(A)=LEN(A$(A)):INPUT#1,P(A):NEXT:OPENTF$FOROUTPUTAS2:C=0 12 FORA=1TON:IFEOF(1)THEN18 14 LINEINPUT#1,B$(A):BL=LEN(B$(A)):IFBL>M(A)THENM(A)=BL 16 NEXT:FORA=1TON:PRINT#2,B$(T(A))CHR$(171);:NEXT:PRINT#2,:C=C+1:GOSUB60:GOTO12 18 CLOSE:IFSBTHEN21ELSEPRINT@129,E$"K Sorting...";:GOSUB66:CLEAR:GOSUB62:H$="ZIPSRT":LOADMH$:S$="SRT***"+CHR$(0):Q=VARPTR(S$):K=PEEK(Q+1)+256*PEEK(Q+2):IFPEEK(1)=171THENCALL63590,1,KELSECALL64720,1,K 20 GOSUB62:GOSUB122:GOSUB68:DIMT$(6),TT$(6) 21 FP=1:GOSUB74 22 T$=RP$:FORA=1TON:GOSUB106:K(A)=VAL(T$):IFP1=0ORK(A)>NTHENERROR9ELSEIFP2=0THENNEXT 24 CQ=P2:FORA=1TOCQ:CK=CK+M(K(A)):NEXT:CK=CK-2+2*CQ:IFLEN(SC$)THENIFASC(SC$)=47THENT$=SC$:FORA=1TON:GOSUB106:S$(VAL(T$))=MID$(T$,2,P1-2):IFP2=0THENNEXT 26 OPENFT$FOROUTPUTAS1:IFINSTR("LCD:Lcd:lcd:",FT$)THENSG=1:PRINTE$"W":CLS 28 FORA=1TOCQ:I$=" ":IFA=CQTHENI$="" 30 PRINT#1,A$(K(A))SPACE$(M(K(A))-LEN(A$(K(A))))I$;:NEXT:PRINT#1,:PRINT#1,STRING$(CK,45):OPENTF$FORINPUTAS2:C=0 32 FORA=1TON 34 IFNOTEOF(2)THENI$=INPUT$(1,2)ELSEGOSUB116:CLOSE:KILLTF$:IFSGTHENX$=INPUT$(1):RUNELSERUN 36 IFI$<" "THEN34 38 IFI$<>CHR$(171)THENB$=B$+I$:GOTO34 40 B$(T(A))=B$:B$="":NEXT:C=C+1:GOSUB60 42 FORA=1TON:IFS$(A)=""THEN54ELSES$=LEFT$(S$(A),1):SV$=MID$(S$(A),2,M(A)) 44 IFS$=">"ANDVAL(B$(A))<=VAL(SV$)THEN32 46 IFS$="<"ANDVAL(B$(A))=>VAL(SV$)THEN32 48 IFS$="="ANDVAL(SV$)<>VAL(B$(A))THEN32 50 IFS$="$"ANDINSTR(B$(A),SV$)=0THEN32 52 IFS$="+"THENQ(A)=Q(A)+VAL(B$(A)) 54 S$="":SV$="":NEXT:FORA=1TOCQ:I$=" ":IFA=CQTHENI$="" 56 B1$=B$(K(A)):M1=M(K(A)):IFINSTR(S$(K(A)),"+")THENPRINT#1,SPACE$(M1-LEN(B1$))B1$I$;ELSEPRINT#1,B1$SPACE$(M1-LEN(B1$))I$; 58 NEXT:PRINT#1,:GOTO32 60 IFSG=0THENPRINT@131,"Reading record #";C:RETURNELSERETURN 62 ONERRORGOTO70:Q$=CHR$(34):E$=CHR$(27):TF$="SRT***.DO":TV$="SRT###.DO":IFPEEK(1)=171THENPP=600ELSEPP=280 64 PRINTE$"V":RETURN 66 CLOSE:OPENTV$FOROUTPUTAS1:PRINT#1,FP$:PRINT#1,FS$:PRINT#1,SF$:PRINT#1,FT$:PRINT#1,N:FORA=1TON:PRINT#1,A$(A):PRINT#1,P(A):PRINT#1,T(A):PRINT#1,M(A):NEXT:CLOSE:RETURN 68 CLOSE:OPENTV$FORINPUTAS1:LINEINPUT#1,FP$:LINEINPUT#1,FS$:LINEINPUT#1,SF$:LINEINPUT#1,FT$:INPUT#1,N:DIMA$(N),B$(N),S$(N),D(N),M(N),P(N),T(N),K(N),Q(N):FORA=1TON:LINEINPUT#1,A$(A):INPUT#1,P(A):INPUT#1,T(A):INPUT#1,M(A):NEXT:CLOSE:KILLTV$:RETURN 70 CLOSE:CLS:BEEP:IFERR=52THENPRINT"NO "Q$H$Q$ELSEIFERR=9ORERR=5THENPRINT"Bad format file: "Q$FP$Q$ELSEPRINT"Er";ERR;"Ln";ERL 72 END 74 CLOSE1:OPEN"DF-FMT"FORINPUTAS1:LINEINPUT#1,X$:FORA=1TO6:LINEINPUT#1,TT$(A):LINEINPUT#1,X$:NEXT:X$="" 76 W$="":IFFP=1ORFP=3THEN94ELSEIFFP=2THEN84ELSEPRINT@0,E$"p DF-AUT.BA(c) Sources in format table: "E$"q":SB=0 78 FORA=1TO6:IFEOF(1)THEN82ELSELINEINPUT#1,T$(A) 80 NEXT:IFINSTR(W$,"0"+T$(2))=0THENPRINTLEFT$(T$(2)+SPACE$(8),8)" ";:W$=W$+"0"+T$(2):GOTO78ELSE78 82 FP$="":SF$="":FE=0:GOSUB114:LINEINPUTSF$:FP=2:IFSF$=""THEN112ELSET$=SF$:P1=0:GOSUB110:IFP1=0THEN74ELSESF$=LEFT$(T$,P1-1):FP$=RIGHT$(T$,LEN(T$)-P1):FE=1:GOTO74 84 SY=0:PRINT@16,E$"p"SPACE$(24):PRINT@15,"Formats for:"E$"q "SF$" ":PRINT@40,E$"J" 86 FORA=1TO6:IFEOF(1)THEN90ELSELINEINPUT#1,T$(A):NEXT:IFT$(2)=SF$THENPRINTLEFT$(T$(1)+SPACE$(8),8)" ";:SY=SY+1:TQ$=T$(1) 88 GOTO86 90 IFSY=0THENBEEP:FP=0:GOTO74ELSEIFSY=1THENFP=1:FP$=TQ$:GOTO74 92 IFFETHENFE=0:FP=1:GOTO74ELSEGOSUB114:LINEINPUTFP$:FP=3:IFFP$=""THEN112ELSE74 94 FORA=1TO6:IFEOF(1)THENFP=2:FP$="":BEEP:GOTO74 96 LINEINPUT#1,T$(A):NEXT:IFT$(1)<>FP$ORT$(2)<>SF$THEN94ELSEGOSUB102:FS$=T$(2):FT$=T$(3):ST$=T$(4):RP$=T$(5):SC$=T$(6) 98 IFINSTR("LPT:Lpt:lpt:",FT$)THENIF(INP(187)AND6)-2THENBEEP:CLS:PRINT@125,"No Printer!":FORX=1TO500:NEXT:RUN 100 CLOSE1:RETURN 102 IFFP=3THENFP=1:PRINT@40,E$"J":FORA=1TO6:PRINT@A*40,TT$(A)T$(A):NEXT:PRINT@PP," Ok? ";:IFINSTR("Yy",INPUT$(1))=0THENFP=2:FP$="":GOTO74 104 RETURN 106 P2=0:GOSUB110:T$=RIGHT$(T$,LEN(T$)-P1):GOSUB110:IFP1=LEN(T$)THENP2=A 108 RETURN 110 P1=INSTR(T$,"/"):RETURN 112 MAXFILES=1:MENU 114 PRINT@PP+27,"(ENTER ends)":PRINT@PP," Use: ";:RETURN 116 FORA=1TOCQ:QT=QT+Q(K(A)):NEXT:IFQT=0THENRETURNELSEPRINT#1,STRING$(CK,45):FORA=1TOCQ:I$=" ":IFA=CQTHENI$="" 118 Q1$=STR$(Q(K(A))):Q1=M(K(A)):IFVAL(Q1$)THENQ1$=MID$(Q1$,2,LEN(Q1$)-1)ELSEQ1$=" " 120 PRINT#1,SPACE$(Q1-LEN(Q1$))Q1$I$;:NEXT:PRINT#1,:RETURN 122 CLS:PRINT@134,"Working...":RETURN