100 ! MLISTX -- SPECIAL LISTING PROGRAM FOR ! 'MISCELLANEOUS' FILE 120 ! ONLY. 150 ! 13-FEB-74 J. WARDEN WABASH COLLEGE 160 PRINT"MISCELLANEOUS FILE PRINTER" 170 PRINT"[SELECT IN LINES 720-760]" 180 INPUT"OUTPUT TO (DEV:FILE)";F2$ 200 INPUT"WANT GROUP NAME, ETC (Y/N)";O$ 220 IF O$="Y" THEN H%=2% ELSE IF O$="N" THEN H%=0% ELSE GO TO 200 240 OPEN F2$ FOR OUTPUT AS FILE 2% 260 DIM F2$(10) 280 READ F2$(I) FOR I=0 TO 9 300 PRINT"INSERT HEADER LINE ('RETURN' FOR NONE)" 320 INPUT LINE H1$ : H1$=LEFT(H1$,LEN(H1$)-2) 340 IF LEN(H1$)<1% THEN H1$=" " 360 S9$=SPACE$(10%) 380 ON ERROR GO TO 900 400 GOSUB 500 420 INPUT"SKIP PAST ID ([R] FOR NOSKIP)";I0$ 422 IF I0$="" THEN 600 425 GOSUB 2000 : GO TO 600 440 ! OPEN NEW FILE SUBROUTINE 460 CLOSE 1% 480 PRINT"NEW "; 500 INPUT"FILE NAME (DEV:FILE)";F$ 520 IF LEN(F$)=0% THEN 1040 540 OPEN F$ FOR INPUT AS FILE 1% 560 FIELD #1,127%*R% AS Z$,127% AS A$(R%) FOR R%=0% TO 3% 580 RETURN 600 ! PRINT HEADER 620 PRINT#2,S9$+H1$ : PRINT#2,S9$+DATE$(0) 640 PRINT #2%,CHR$(10)+CHR$(10)+CHR$(10) 660 FOR I=1 TO 9 680 IF R%<3% THEN R%=R%+1% ELSE R%=0% : GET #1% 700 IF LEFT(A$(R%),1%)="\" THEN GOSUB 460 : GO TO 680 720 ! INSERT SELECTION ROUTINE HERE 740 ! IF MID(A$(R%),X,Y) [IS NOT WANTED] THEN 680 760 ! END OF SELECTION ROUTINE 780 GOSUB 1120 800 K%=K%+1% 820 NEXT I 840 PRINT#2,CHR$(12) 860 GO TO 620 880 ! ERROR SUBROUTINE 900 IF ERR=11% THEN RESUME 980 920 IF ERR<>5% THEN ON ERROR GO TO 0 940 PRINT"** CAN'T FIND FILE '"+F$+"' **" 960 RESUME 500 980 GOSUB 460 1000 PRINT #2%,CHR$(12%) 1020 GO TO 620 1040 PRINT K%;" ITEMS PRINTED" 1060 CLOSE 1,2 1080 GO TO 1500 1100 ! PRINTING SUBROUTINE 1120 PRINT#2," "+MID(A$(R%),13,28)+" "+LEFT(A$(R%),6) 1140 G$=" " 1160 T4$=MID(A$(R%),97,14)+" "+MID(A$(R%),111,2)+" "+MID(A$(R%),113,5) 1180 IF H%>1% THEN 1220 1200 F$=" " : GO TO 1280 1220 F2%=ASCII(RIGHT(A$(R%),10%))-48% 1222 IF F2%<0% OR F2%>3% THEN F2%=4% : GO TO 1280 1240 IF F2%<>1% THEN 1280 ! SKIP GROUP IF NOT WIPD 1260 G$=S9$+"GROUP "+MID(A$(R%),7%,2%) 1280 PRINT #2,S9$+MID(A$(R%),41%,28%)+S9$+F2$(F2%) 1300 IF MID(A$(R%),69%,5%)=" " THEN 1380 1320 PRINT#2,S9$+MID(A$(R%),69%,28%)+G$ 1340 PRINT#2,S9$+T4$+CHR$(10%)+CHR$(10%) 1360 GO TO 1420 1380 PRINT#2,S9$+T4$+" "+G$ 1400 PRINT#2,CHR$(10%)+CHR$(10%) 1420 RETURN 1440 ! GROUP NAMES 1460 DATA "P & D ","WIPD ","PLACE ","EXCH " 1480 DATA " "," "," "," "," "," " 1500 GO TO 9999 2000 IF R%<3% THEN R%=R%+1% ELSE R%=0% : GET #1% 2010 IF LEFT(A$(R%),1%)="\" THEN RETURN 2020 IF I0$>=LEFT(A$(R%),6%) THEN 2000 2030 RETURN 9999 END