home *** CD-ROM | disk | FTP | other *** search
GW-BASIC | 1982-04-03 | 4.4 KB | 159 lines |
- 10 COMMON LINPTR%(),NLINES%,MAXLEN,LINBUF$(),TOPROG$,TOFILE$,PGRDATA()
- 15 DIM LIN$(2,5)
- 16 OFFSET$=SPACE$(8)
- 20 CLS
- 22 PIND%=0
- 25 PRINT " "
- 30 PRINT " SELECT PRINTER OPTIONS"
- 40 PRINT " "
- 50 PRINT " Print to SCREEN or PRINTER?"
- 60 INPUT " ==>";RESP1$
- 70 IF RESP1$ <> "screen" AND RESP1$ <> "printer" THEN 50
- 80 IF RESP1$ = "screen" THEN PRINTSW=1:NCOPS=1
- 85 OPEN "b:maillist.ree" AS #1 LEN=128
- 86 FIELD#1,9 AS ZIPCODE$, 30 AS NAM$, 30 AS ADD1$, 30 AS ADD2$, 29 AS CITYST$
- 90 IF RESP1$="printer" THEN PRINTSW=2: GOSUB 1000
- 100 IF RESP1$="printer" THEN GOSUB 7000
- 110 IF RESP1$="printer" THEN GOSUB 8000
- 120 IF RESP1$="printer" THEN LPRINT CHR$(27);"C";CHR$(6);: ON ERROR GOTO 4000
- 125 FOR J% = 1 TO NCOPS
- 130 FOR I% = 1 TO NLINES%
- 140 RECNUM%=CVI(RIGHT$(LINBUF$(LINPTR%(I%)),2))
- 150 GET #1,RECNUM%
- 160 ON PRINTSW GOSUB 2000, 3000
- 170 K$=INKEY$
- 180 IF K$=CHR$(27) GOTO 5000
- 190 IF K$ = "S" OR K$="s" THEN GOSUB 6000
- 200 NEXT
- 205 NEXT
- 210 CLOSE #1
- 211 IF RESP1$="printer" THEN IF PRINTSW2 = 2 THEN LSET NAM$ = "": LSET ADD1$="": LSET ADD2$="": LSET CITYST$="": LSET ZIPCODE$=MKD$(0):GOSUB 3000:GOSUB 3000
- 220 PRINT " Printing complete"
- 221 PRINT " "
- 222 PRINT " ";I%-1;" Labels printed
- 223 PRINT " "
- 230 GOTO 5000
- 1000 PRINT " "
- 1001 IF PGRDATA(1) = 1 THEN PRINTSW2=1: GOTO 1019
- 1002 IF PGRDATA(1) = 2 THEN PRINTSW2=2: RETURN
- 1003 IF PGRDATA(2) <> 1 THEN PRINT " ERROR FOUND";STOP
- 1004 INPUT " Is Return Address to be Printed";RETANS$:PRINTSW2=3
- 1005 IF LEFT$(RETANS$,1) = "Y" OR LEFT$(RETANS$,1) = "y" THEN RET$="Y": GOTO 1009
- 1006 IF LEFT$(RETANS$,1) = "N" OR LEFT$(RETANS$,1) = "n" THEN RET$="N": RETURN
- 1007 GOTO 1004
- 1009 GET #1,3
- 1010 RET1$=NAM$
- 1011 RET2$=ADD1$
- 1012 RET3$=ADD2$
- 1013 RET4$=CITYST$
- 1014 RET5$=SPACE$(20)+STR$(CVD(ZIPCODE$))
- 1015 RETURN
- 1019 PRINT " SELECT PRINT-TYPE OPTION"
- 1020 PRINT " A - Regular B - Compressed"
- 1030 PRINT " C - Emphasized D - Large"
- 1035 PRINT " E - Switch to normal characters"
- 1036 PRINT " F - Switch to italics"
- 1040 PRINT " "
- 1050 PRINT " Select option by letter"
- 1060 K$=INKEY$:IF K$="" THEN 1060
- 1070 IF K$="A" OR K$="a" THEN PRT$="":LPRINT CHR$(27);"F";:LPRINT CHR$(18);:RETURN
- 1080 IF K$="B" OR K$="b" THEN PRT$="":LPRINT CHR$(27);"F":LPRINT CHR$(15):RETURN
- 1090 IF K$="C" OR K$="c" THEN PRT$="":LPRINT CHR$(27);"E":RETURN
- 1095 IF K$="D" OR K$="d" THEN LPRINT CHR$(15);" ":PRT$=CHR$(14):RETURN
- 1096 IF K$="E" OR K$="e" THEN LPRINT CHR$(27);"5":GOTO 1000
- 1097 IF K$="F" OR K$="f" THEN LPRINT CHR$(27);"4":GOTO 1000
- 1098 GOTO 1060
- 2000 PRINT " "
- 2010 PRINT NAM$
- 2020 IF ADD1$ <> SPACE$(30) THEN PRINT ADD1$
- 2030 IF ADD2$<>SPACE$(30) THEN PRINT ADD2$
- 2040 PRINT CITYST$
- 2050 PRINT CVD(ZIPCODE$)
- 2060 RETURN
- 3000 ON PRINTSW2 GOTO 3010, 3100, 3200
- 3010 IF RET$="Y" THEN GOSUB 9000: RETURN
- 3019 LPRINT PRT$;NAM$
- 3020 IF ADD1$<>SPACE$(30) THEN LPRINT PRT$;ADD1$
- 3030 IF ADD2$ <> SPACE$(30) THEN LPRINT PRT$;ADD2$
- 3040 LPRINT PRT$;CITYST$
- 3050 IF PRT$ <> CHR$(14) THEN LPRINT PRT$;SPACE$(20);CVD(ZIPCODE$) ELSE LPRINT PRT$;SPACE$(16);CVD(ZIPCODE$)
- 3060 LPRINT CHR$(12);
- 3070 RETURN
- 3100 IF PIND%=0 THEN GOTO 3150
- 3105 PIND%=0
- 3110 LABL%=2
- 3120 GOSUB 3160
- 3125 FOR PRTI% = 1 TO 5
- 3130 LPRINT PRT$;LIN$(1,PRTI%);OFFSET$;LIN$(2,PRTI%)
- 3135 NEXT
- 3140 LPRINT CHR$(12);
- 3145 RETURN
- 3150 PIND%=1
- 3151 LABL%=1
- 3152 GOSUB 3160
- 3153 RETURN
- 3160 FOR PRTI% = 1 TO 5
- 3161 LIN$(LABL%,PRTI%) = SPACE$(30)
- 3162 NEXT
- 3170 PRTI%=1
- 3171 LIN$(LABL%,PRTI%)=NAM$
- 3172 IF ADD1$<> SPACE$(30) THEN PRTI%=PRTI%+1: LIN$(LABL%,PRTI%)= ADD1$
- 3173 IF ADD2$ <> SPACE$(30) THEN PRTI% = PRTI% + 1: LIN$(LABL%,PRTI%)=ADD2$
- 3174 PRTI% = PRTI% + 1
- 3175 LIN$(LABL%,PRTI%) = CITYST$+" "
- 3176 PRTI% = PRTI% + 1
- 3177 LIN$(LABL%,PRTI%) = SPACE$(20)+STR$(CVD(ZIPCODE$))+SPACE$((10-LEN(STR$(CVD(ZIPCODE$)))))
- 3180 RETURN
- 3200 PRINT " Put envelope in printer"
- 3205 INPUT " Press ENTER to proceed";ANSD$
- 3210 IF RET$= "Y" THEN GOSUB 3260
- 3215 LPRINT SPACE$(30);NAM$
- 3220 IF ADD1$ <> SPACE$(30) THEN LPRINT SPACE$(30);ADD1$
- 3225 IF ADD2$ <> SPACE$(30) THEN LPRINT SPACE$(30);ADD2$
- 3230 LPRINT SPACE$(30);CITYST$
- 3235 LPRINT SPACE$(50);CVD(ZIPCODE$)
- 3238 LPRINT " "
- 3239 LPRINT " "
- 3240 RETURN
- 3260 LPRINT RET1$:NBLINES%=6
- 3261 IF RET2$ <> SPACE$(30) THEN LPRINT RET2$:NBLINES%=NBLINES% + 1
- 3262 IF RET3$ <> SPACE$(30) THEN LPRINT RET3$:NBLINES%=NBLINES% + 1
- 3263 LPRINT RET4$
- 3264 LPRINT RET5$
- 3265 FOR LISUB = 1 TO NBLINES%
- 3270 LPRINT " "
- 3275 NEXT
- 3280 RETURN
- 4000 PRINT " Printing HELD"
- 4010 INPUT " Press enter to proceed";RESPE$
- 4020 RESUME
- 5000 PRINT " SPACE BAR to continue"
- 5010 PRINT " Esc KEY to return to menu"
- 5020 PRINT " T KEY to reprint"
- 5030 K$=INKEY$: IF K$="" THEN 5030
- 5040 IF K$=" " THEN IF I% =NLINES% THEN 210
- 5041 IF K$=" " THEN IF I% < NLINES% THEN 200
- 5050 IF K$=CHR$(27) THEN CLOSE #1:CHAIN "b:labmail"
- 5060 IF K$ = "T" OR K$="t" THEN CLOSE #1:GOTO 20
- 5070 GOTO 5030
- 6000 PRINT " --------Print Status--------"
- 6010 PRINT " ";I%;" Labels printed"
- 6020 PRINT " ";(NLINES%-I%);" Labels remaining"
- 6030 RETURN
- 7000 PRINT " "
- 7010 INPUT " Specify number of copies ==>";NCOPS
- 7020 RETURN
- 8000 PRINT " "
- 8010 PRINT " Do you want only return labels"
- 8020 INPUT " <yes or no> ==>";RETANS$
- 8021 IF LEFT$(RETANS$,1) <> "Y" AND LEFT$(RETANS$,1) <> "y" AND LEFT$(RETANS$,1) <> "N" AND LEFT$(RETANS$,1) <> "n" THEN 8020
- 8025 GOSUB 1005
- 8030 RETURN
- 9000 LPRINT RET1$:NBLINES%=6
- 9010 IF RET2$ <> SPACE$(30) THEN LPRINT RET2$:NBLINES%=NBLINES% + 1
- 9020 IF RET3$ <> SPACE$(30) THEN LPRINT RET3$:NBLINES%=NBLINES% + 1
- 9030 LPRINT RET4$
- 9040 LPRINT RET5$
- 9045 LPRINT CHR$(12);
- 9050 RETURN
-