home *** CD-ROM | disk | FTP | other *** search
- 0 REM PRINT ROUTINE TO PRINT EDLIN FILES
- 1 DEFINT A-Z:DIM A$(100)
- 2 N=1:ON ERROR GOTO 3000
- 3 INPUT "FILE NAME ", NA$
- 4 OPEN NA$ FOR INPUT AS #1
- 5 A$(0)=""
- 6 C=0
- 7 CLS
- 9 FALSE=0:TRUE=-1
- 10 FFLG=FALSE ' FINAL FLAG SET WHEN LASTRECORD READ
- 11 FLG=TRUE
- 12 CR$=CHR$(13):LF$=CHR$(10)
- 13 INPUT "NUMBER OF CHARACTERS/LINE ",NC
- 14 IF NC=0 THEN NC=66
- 15 PRINT NC
- 19 WHILE NOT FFLG
- 21 B$=INPUT$(1,#1)
- 25 C=C+1
- 30 W=W+1
- 35 IF B$="$" THEN GOSUB 3500
- 40 IF B$=" " THEN GOSUB 2000
- 50 IF B$="." THEN GOSUB 2100
- 60 IF B$="'" THEN GOSUB 2200
- 62 IF B$=CR$ THEN GOSUB 2300
- 63 IF FLG THEN A$(N)=A$(N)+B$
- 64 FLG=TRUE
- 65 IF EOF(1) THEN FFLG=TRUE
- 70 WEND
- 75 N=N+1
- 80 GOSUB 1000
- 100 END
- 900 REM INPUT N NO OF WORDS
- 910 REM A$(1)-A$(N) WORDS
- 920 REM PRINT'S OUT A$(1)-A$(N)
- 930 REM RETURNS WITH
- 940 REM A$(1)=A$(N) N=1
- 950 REM C=W W=0
- 1000 REM FULL LINE
- 1005 A$(N-1)=A$(N-1)+CHR$(13)
- 1010 FOR I=1 TO N-1
- 1020 LPRINT A$(I);
- 1025 A$(I)=""
- 1030 NEXT I
- 1040 A$(1)=A$(N)
- 1045 A$(N)=""
- 1050 N=1
- 1055 C=W:W=0
- 1060 RETURN
- 1900 REM INPUT N NO OF WORDS
- 1910 REM ADD A SPACE TO A$(N) AND INCREMENT TO N=N+1
- 1920 REM W=0 ON RETURN
- 2000 REM SPACE CHECK
- 2010 A$(N)=A$(N)+B$
- 2020 IF C>NC THEN GOSUB 1000
- 2025 W=0
- 2030 N=N+1
- 2040 FLG=FALSE
- 2050 RETURN
- 2090 REM N NO OF CURRENT WORD
- 2091 REM ADD . TO A$(N)
- 2092 REM THEN SKIP ALL FOLLOWING SPACES
- 2093 REM THEN ADD TWO SPACES TO A$(N)
- 2094 REM WHICH WILL BE AFTER THE .
- 2095 REM C=C+3 W=1 ACCOUNTS FOR TWO SPACES AND THE CHARACTER IN B$
- 2096 REM IF THE . IS FOLLOWED BY A CR THEN GOTO ROUTINE THAT TREATS CR
- 2097 REM THEN INCREMENT N=N+1
- 2100 REM . CHECK
- 2110 A$(N)=A$(N)+B$
- 2130 B$=INPUT$(1,#1):IF B$="$" THEN GOSUB 3500
- 2140 IF B$=" " THEN GOTO 2130 ELSE A$(N)=A$(N)+" ":C=C+3
- 2145 IF C>NC THEN GOSUB 1000
- 2147 IF B$=CR$ THEN GOSUB 2310
- 2148 W=1
- 2150 N=N+1
- 2160 RETURN
- 2199 REM SAME COMMENTS AS FOR .
- 2200 REM , CHECK
- 2210 A$(N)=A$(N)+B$
- 2230 B$=INPUT$(1,#1):IF B$="$" THEN GOSUB 3500
- 2240 IF B$=" " THEN GOTO 2230 ELSE A$(N)=A$(N)+" ":C=C+2
- 2245 IF C>NC THEN GOSUB 1000
- 2247 IF B$=CR$ THEN GOSUB 2310
- 2248 W=1
- 2250 N=N+1
- 2260 RETURN
- 2290 REM ADD A SPACE TO A$(N) AFTER A CR2300*
- 2291 REM N INCREMENTED N=N+1
- 2292 REM AFTER A CR AN LF IS CHECKED FOR
- 2293 REM THEN ANOTHER CHARACTER IS READ IN TO SEE IF IT IS A SPACE OR CR TO
- 2294 REM INDICATE END OF PARAGRAPH.
- 2295 REM ON RETURN C AND W= 1 OR 2 DEPENDING ON WHETHER A SPACE OCCURED TO START
- 2296 REM A NEW PARAGRAPH
- 2300 REM CARRIAGE RETURN
- 2305 A$(N)=A$(N)+" ":N=N+1
- 2310 B$=INPUT$(1,#1):IF B$="$" THEN GOSUB 3500
- 2320 IF B$=LF$ THEN GOTO 2310
- 2325 IF NOT SFLAG THEN GOTO 2340 ' if in the dont adjust lines continue
- 2330 IF B$=" " OR B$=CR$ THEN GOTO 2340 ELSE RETURN
- 2340 N=N+1:C$=B$:GOSUB 1000
- 2350 C=0:W=0:A$(1)=""
- 2360 IF SFLAG THEN LPRINT
- 2370 IF C$=" " THEN A$(1)=" ":C=1:W=1
- 2375 IF NOT SFLAG THEN A$(1)=C$
- 2380 B$=INPUT$(1,#1):IF B$="$" THEN GOSUB 3500
- 2390 IF B$=LF$ THEN GOTO 2380
- 2400 C=C+1
- 2410 W=W+1
- 2415 FLG=TRUE
- 2420 RETURN
- 2999 REM THIS IS WHERE THE SYSTEM GOES IF AN EOF IS DETECTED. N=N+1 IN ORDER` TO GET LAST WORD
- 3000 X=ERR:Y=ERL
- 3010 RESUME 3011
- 3011 ON ERROR GOTO 0
- 3015 N=N+1
- 3020 IF X=62 THEN GOTO 1000 ELSE PRINT "ERROR # " X " OCCURED AT " Y
- 3030 END
- 3500 REM LOOK AT $ TO SEE IF CONTROL
- 3510 B$=INPUT$(1,#1)
- 3520 IF B$<>"C" AND B$<>"c" AND B$<>"S" AND B$<>"s" THEN A$(N)=A$(N)+"$":C=C+1:W=W+1:RETURN
- 3530 IF B$="S" OR B$="s" THEN SFLAG=FALSE:ELSE SFLAG=TRUE
- 3540 FOR IJ=1 TO 3
- 3550 B$=INPUT$(1,#1)
- 3560 NEXT IJ
- 3570 C=1:W=1
- 3580 RETURN
- OR B$="s" THEN SFLAG=FALSE:ELSE SFLAG=TRUE
- 3540 FOR IJ=1 TO 3
- 3550 B$=INPUT$(1,#1)
- 3560 NEXT IJ
- 3570 C=1:W=1
-