5 MAXFILES=2 10 CLEAR 1024:DIM N$(19),V$(19),F$ 15 HT$=CHR$(9):ES$=CHR$(27) 20 ON ERROR GOTO 9000 30 F$="":INPUT "Input file name";F$ 40 IF F$="" THEN MENU 50 ER%=0:OPEN F$ FOR INPUT AS 1 60 IF ER% THEN 30 70 ON ERROR GOTO 0 80 O$="LCD:":INPUT "Output file name";O$ 90 FOR I%=1 TO LEN(O$) 100 C$=MID$(O$,I%,1):IF C$>="a" AND C$<="z" THEN MID$(O$,I%,1)=CHR$(ASC(C$)-32) 110 NEXT I% 120 OPEN O$ FOR OUTPUT AS 2 130 GOSUB 5000 200 IF EOF(1) THEN 300 210 GOSUB 5200 220 ON ST%+1 GOSUB 5400,5500,5600 230 GOTO 200 300 CLOSE 310 IF O$="LCD:" THEN PRINT ES$;"pPress any key to continue";ES$;"q";:C$=INPUT$(1) 320 MENU 5000 LINEINPUT#1,S$ 5010 P%=1:N%=0 5020 Q%=INSTR(P%,S$,HT$):IF Q%=0 THEN Q%=LEN(S$)+1 5030 N$(N%)=MID$(S$,P%,Q%-P%):N%=N%+1 5040 IF N%<20 AND Q%<=LEN(S$) THEN P%=Q%+1:GOTO 5020 5050 GOSUB 5200 5060 FOR II%=0 TO N%-1 5070 IF II% THEN PRINT#2," "; 5080 F$(II%)=V$(II%) 5090 F$=F$(II%):V$=N$(II%) 5100 S$="":IF LEN(F$)LEN(V$) THEN S$=SPACE$(LEN(F$)-LEN(V$)) 5110 C$=LEFT$(F$,1):IF C$="!" OR C$="\" THEN V$=V$+S$ ELSE V$=S$+V$ 5120 PRINT#2,V$; 5130 NEXT II% 5140 PRINT #2,"" 5150 FOR II%=0 TO N%-1 5160 IF II% THEN PRINT#2," "; 5170 FOR JJ%=1 TO LEN(F$(II%)):PRINT#2,"-";:NEXT JJ% 5180 NEXT II% 5190 PRINT#2,"":RETURN 5200 LINEINPUT#1,S$ 5210 ST%=0:P%=1:II%=0:IF S$="" OR S$="*" THEN ST%=3:RETURN 5215 IF LEFT$(S$,1)="*" THEN ST%=(INSTR("tTsS",MID$(S$,2,1))+1)\2:IF ST% THEN IF MID$(S$,3,1)=HT$ THEN P%=3 ELSE P%=4 5220 Q%=INSTR(P%,S$,HT$):IF Q%=0 THEN Q%=LEN(S$)+1 5230 V$(II%)=MID$(S$,P%,Q%-P%):II%=II%+1 5240 IF II%"," THEN VV$=VV$+MID$(V$,II%,1) 5330 NEXT II% 5340 V=VAL(VV$) 5350 RETURN 5400 IF S$="" THEN PRINT#2,S$:RETURN 5402 IF LEFT$(S$,1)="*" THEN PRINT#2,S$:RETURN 5405 FOR I1%=0 TO N%-1 5410 IF I1% THEN PRINT#2," "; 5420 F$=F$(I1%):C$=LEFT$(F$,1):V$=V$(I1%) 5430 IF V$="" THEN PRINT#2,SPACE$(LEN(F$));:GOTO 5460 5440 IF C$="\" OR C$="!" THEN PRINT#2,USING F$;V$;:GOTO 5460 5450 GOSUB 5300:PRINT#2,USING F$;V; 5460 NEXT I1% 5470 PRINT#2,"":RETURN 5500 V$="*Total":GOTO 5610 5600 V$="*Subtotal" 5610 IF LEN(S$)<3 THEN 5400 5620 IF MID$(S$,3,1)=HT$ THEN V$(0)=V$ 5630 GOTO 5405 9000 ER%=1:RESUME NEXT