100 SCREEN1,0:CLS:PRINT "FORMAT progam for text output" 105 ' BY DAVID H. AHL:PRINT " " 110 PRINT,"FILES" 115 PRINT " " 120 DEFINT C,D,E,J,L,M,P,Z 130 PG=0:Z=66:L=80:TB$=CHR$(9):CR$=CHR$(10):FILES 135 PRINT " " 140 INPUT "FILE NAME ";N$:OPEN N$ FOR INPUTAS1 145 PRINT " " 150 INPUT "PAGE LENGTH (NORM=66 LINES)";Z:Z=Z-1:PL=Z-9 155 PRINT " " 160 INPUT"MAXIMUM LINE LENGTH (NORM=80)";L:LT=L:E=L 165 PRINT " " 170 INPUT "LEFT MARGIN";M 175 PRINT " " 180 IF M>=LTHENPRINT"TOO HIGH. AGAIN":GOTO170 190 INPUT "HALT AT PAGE END (Y / N) (NORM=N)";H$ 193 PRINT" " 195 INPUT"HOW MANY COPIES";CC 197 PRINT " " 200 INPUT "LINE SPACING (1,2 OR 3)";D 205 PRINT" " 210 IFD<1 OR D>3THEN PRINT "CAN'T DO THAT":GOTO200 220 INPUT "PAGE TITLE AND NUMBERING (Y / N)";P$ 230 IF P$="n" OR P$="N"THEN 260 240 INPUT "PAGE TITLE";T$ 250 IF LEN(T$)>L-8THENPRINT"TOO LONG":GOTO240 260 IF H$<>"Y"ANDH$<>"y"THEN290 270 PRINT"HIT RETURN WHEN PRINTER IS READY" 280 B$=INKEY$:IF B$=""THEN280 290 IF P$="n" OR P$="N"THEN LC=0:GOTO340 300 PG=PG+1:LPRINT TAB(M);T$;TAB(M+L-7);"PAGE";PG:LPRINT:LC=2 310 ON D GOTO340,330,320 320 LPRINT:LC=LC+1 330 LPRINT:LC=LC+1 340 FOR C=1TOLT 350 IN$=INPUT$(1,1):IF EOF(1)THEN510 360 IF IN$<>TB$THEN380 370 PR$=PR$+" ":C=C+7:GOTO390 380 PR$=PR$+IN$:IF IN$=CR$THEN E=L:GOTO440 390 NEXT 400 FOR E=L TO 1 STEP-1 410 IF MID$(PR$,E,1)=" "OR MID$(PR$,E,1)="-"THEN430 420 NEXT:E=L 430 PT$=RIGHT$(PR$,L-E):PR$=LEFT$(PR$,E):GOTO450 440 PR$=LEFT$(PR$,LEN(PR$)-2):PT$="" 450 LPRINTTAB(M);PR$:LC=LC+1 460 ON D GOTO490,480,470 470 LPRINT:LC=LC+1 480 LPRINT:LC=LC+1 490 PR$=PT$:LT=E 500 IF LC=>PLTHEN520ELSE340 510 LPRINT TAB(M);PR$:LC=LC+1 520 IF Z=9998THEN540 530 FOR J=LCTOZ:LPRINT:NEXT 540 IF EOF(1)THEN550ELSE260 545 CN=CN+1:IF CN<>CCTHEN CLOSE:OPEN N$FORINPUT AS 1:TR$="":PG=O:GOTO 260 550 PRINT"PRINTING FINISHED":SCREEN1,1:END