home *** CD-ROM | disk | FTP | other *** search
- 10 CLEAR
- 15 WIDTH LPRINT 254
- 20 OPTION BASE 1:DEFINT A-Z:DIM BUFFER$(2,66),FLY$(10),BUFF,BUFFLINE,COUNT,FLAG,FLAG2,FLY,FLYNO,MAX,A$,B$,ESC$,F$,Z$
- 30 GOSUB 1000:'blurb
- 40 GOSUB 2000:'initialize buffer,get get file name
- 45 FOR FLY=1 TO FLYNO
- 46 F$=FLY$(FLY)
- 47 BUFF=1:BUFFLINE=1:BLOCK=1:FLAG=0:FLAG2=0:LPRINT Z$;
- 48 ON ERROR GOTO 60000:OPEN"i",1,F$
- 49 CLS:PRINT TAB(20)"PRINTING FILE: "F$
- 50 IF EOF(1) THEN GOSUB 5000:GOTO 220
- 55 IF FLAG=1 THEN 70
- 60 GOSUB 3000:'line input routine
- 70 IF A$="" THEN 50
- 80 IF A$=STRING$(LEN(A$),32) THEN 50
- 90 IF LEN(A$)>80 THEN FLAG=1 ELSE FLAG=0
- 100 LSET BUFFER$(BUFF,BUFFLINE)=A$
- 105 IF FLAG=1 THEN A$=MID$(A$,81)
- 110 BUFFLINE=BUFFLINE +1
- 120 IF BUFFLINE <67 THEN 50
- 130 IF BUFF=1 THEN BUFF=2:BUFFLINE=1:GOTO 50
- 139 ' REST FOLLOWS FROM FILLING BUFFER 2
- 140 BUFFLINE=1
- 150 MAX=66:GOSUB 4000:' PRINT THE BLOCK
- 195 BUFF=1
- 200 IF BLOCK=1 THEN LPRINT STRING$(159,"#"):BLOCK=2:GOTO 50
- 210 LPRINT STRING$(159,"#");CHR$(12);:BLOCK=1:GOTO 50
- 220 NEXT FLY
- 230 END
- 1000 CLS
- 1010 PRINT TAB(20)"SIMPLE SQUEEZE PRINT":PRINT
- 1020 PRINT:PRINT: PRINT TAB(20)"(c) C.R.J.Currie 1990"
- 1100 RETURN
- 2000 PRINT: PRINT "initializing buffer"
- 2010 FOR COUNT=1 TO 66:FOR N=1 TO 2
- 2020 BUFFER$(N,COUNT)=STRING$(80,32)
- 2030 NEXT:NEXT
- 2035 ESC$=CHR$(27)
- 2036 Z$=ESC$+"@"+ESC$+CHR$(15)+ESC$+"M"+ESC$+"Q"+CHR$(160)+ESC$+"S0"+ESC$+"A"+CHR$(5)
- 2038 :INPUT"HOW MANY FILES TO PRINT (MAX. 10)";FLYNO
- 2039 IF FLYNO<1 OR FLYNO>10 THEN PRINT"TOO FEW OR TOO MANY!":PRINT:GOTO 2038
- 2040 FOR FLY=1 TO FLYNO
- 2047 PRINT"ENTER NAME OF FILE NO.";FLY;":";:LINE INPUT F$:FLY$(FLY)=F$
- 2049 NEXT FLY
- 2050 PRINT :LINE INPUT"GET PRINTER READY AND PRESS ENTER TO CONTINUE: ";DUMMY$
- 2070 RETURN
- 3000 LINE INPUT#1,A$:RETURN:' OK for model 4 etc
- 3009 REM for model III bascom: return line in A$
- 3010 A$=""
- 3015 IF EOF(1) THEN CLOSE:GOTO 3500
- 3020 B$=INPUT$(1,#1)
- 3030 IF B$=CHR$(13) THEN 3500 ELSE A$=A$+B$:GOTO 3015
- 3500 RETURN
- 3999 REM PRINT ROUTINE
- 4000 FOR COUNT=1 TO MAX
- 4010 SPEW$=BUFFER$(1,COUNT)+BUFFER$(2,COUNT)
- 4020 LPRINT SPEW$
- 4030 NEXT
- 4040 RETURN
- 4999 'TIDY UP ROUTINE
- 5000 CLOSE
- 5010 IF BUFF=2 THEN GOSUB 6000:MAX=66:GOSUB 4000:LPRINT STRING$(159,"#");CHR$(12);:GOTO 5800
- 5011 BUFFLINE=BUFFLINE-1
- 5015 IF BUFFLINE<>(INT(BUFFLINE/2)*2) THEN FLAG2=1 ELSE FLAG2=0
- 5020 MAX=INT(BUFFLINE/2)+1
- 5030 IF MAX>33 THEN MAX=33
- 5040 FOR COUNT=1 TO MAX
- 5050 LSET BUFFER$(2,COUNT)=BUFFER$(1,MAX+COUNT)
- 5055 NEXT
- 5060 IF FLAG2=1 THEN LSET BUFFER$(2,COUNT)=" "
- 5070 GOSUB 4000
- 5080 LPRINT STRING$(159,"#");CHR$(12);
- 5800 RETURN
- 5999 'BLANK OUT REST OF BUFF2
- 6000 START=BUFFLINE+1
- 6010 FOR COUNT=START TO 66
- 6020 LSET BUFFER$(2,COUNT)=" "
- 6025 NEXT COUNT
- 6030 RETURN
- 60000 IF ERL=48 THEN PRINT "Cannot open file: ";F$:CLOSE:STOP
- 60010 PRINT"unexpected error no. ";ERR;" in line: ";ERL:STOP