home *** CD-ROM | disk | FTP | other *** search
/ Hall of Fame / HallofFameCDROM.cdr / misc3 / easymail.lzh / LABPRINT.BAS (.txt) < prev    next >
Encoding:
GW-BASIC  |  1982-04-03  |  4.4 KB  |  159 lines

  1. 10  COMMON LINPTR%(),NLINES%,MAXLEN,LINBUF$(),TOPROG$,TOFILE$,PGRDATA()
  2. 15  DIM LIN$(2,5)
  3. 16  OFFSET$=SPACE$(8)
  4. 20  CLS
  5. 22  PIND%=0
  6. 25  PRINT " "
  7. 30  PRINT "        SELECT PRINTER OPTIONS"
  8. 40  PRINT " "
  9. 50  PRINT "   Print to SCREEN or PRINTER?"
  10. 60  INPUT "    ==>";RESP1$
  11. 70  IF RESP1$ <> "screen" AND RESP1$ <> "printer" THEN 50
  12. 80  IF RESP1$ = "screen" THEN PRINTSW=1:NCOPS=1
  13. 85  OPEN "b:maillist.ree" AS #1 LEN=128
  14. 86  FIELD#1,9 AS ZIPCODE$, 30 AS NAM$, 30 AS ADD1$, 30 AS ADD2$, 29 AS CITYST$
  15. 90  IF RESP1$="printer" THEN PRINTSW=2: GOSUB 1000
  16. 100  IF RESP1$="printer" THEN GOSUB 7000
  17. 110  IF RESP1$="printer" THEN GOSUB 8000
  18. 120  IF RESP1$="printer" THEN LPRINT CHR$(27);"C";CHR$(6);: ON ERROR GOTO 4000
  19. 125  FOR J% = 1 TO NCOPS
  20. 130  FOR I% = 1 TO NLINES%
  21. 140  RECNUM%=CVI(RIGHT$(LINBUF$(LINPTR%(I%)),2))
  22. 150  GET #1,RECNUM%
  23. 160  ON PRINTSW GOSUB 2000, 3000
  24. 170  K$=INKEY$
  25. 180  IF K$=CHR$(27) GOTO 5000
  26. 190  IF K$ = "S" OR K$="s" THEN GOSUB 6000
  27. 200  NEXT
  28. 205  NEXT
  29. 210  CLOSE #1
  30. 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
  31. 220  PRINT "        Printing complete"
  32. 221  PRINT " "
  33. 222  PRINT "       ";I%-1;" Labels printed
  34. 223  PRINT " "
  35. 230  GOTO 5000
  36. 1000  PRINT " "
  37. 1001  IF PGRDATA(1) = 1 THEN PRINTSW2=1: GOTO 1019
  38. 1002  IF PGRDATA(1) = 2 THEN PRINTSW2=2: RETURN
  39. 1003  IF PGRDATA(2) <> 1 THEN PRINT "   ERROR FOUND";STOP
  40. 1004  INPUT "    Is Return Address to be Printed";RETANS$:PRINTSW2=3
  41. 1005  IF LEFT$(RETANS$,1) = "Y" OR LEFT$(RETANS$,1) = "y" THEN RET$="Y": GOTO 1009
  42. 1006  IF LEFT$(RETANS$,1) = "N" OR LEFT$(RETANS$,1) = "n" THEN RET$="N": RETURN
  43. 1007  GOTO 1004
  44. 1009  GET #1,3
  45. 1010  RET1$=NAM$
  46. 1011  RET2$=ADD1$
  47. 1012  RET3$=ADD2$
  48. 1013  RET4$=CITYST$
  49. 1014  RET5$=SPACE$(20)+STR$(CVD(ZIPCODE$))
  50. 1015  RETURN
  51. 1019  PRINT "    SELECT PRINT-TYPE OPTION"
  52. 1020  PRINT "    A - Regular    B - Compressed"
  53. 1030  PRINT "    C - Emphasized D - Large"
  54. 1035  PRINT "    E - Switch to normal characters"
  55. 1036  PRINT "    F - Switch to italics"
  56. 1040  PRINT " "
  57. 1050  PRINT "  Select option by letter"
  58. 1060  K$=INKEY$:IF K$="" THEN 1060
  59. 1070  IF K$="A" OR K$="a" THEN PRT$="":LPRINT CHR$(27);"F";:LPRINT CHR$(18);:RETURN
  60. 1080  IF K$="B" OR K$="b" THEN PRT$="":LPRINT CHR$(27);"F":LPRINT CHR$(15):RETURN
  61. 1090  IF K$="C" OR K$="c" THEN PRT$="":LPRINT CHR$(27);"E":RETURN
  62. 1095  IF K$="D" OR K$="d" THEN LPRINT CHR$(15);" ":PRT$=CHR$(14):RETURN
  63. 1096  IF K$="E" OR K$="e" THEN LPRINT CHR$(27);"5":GOTO 1000
  64. 1097  IF K$="F" OR K$="f" THEN LPRINT CHR$(27);"4":GOTO 1000
  65. 1098  GOTO 1060
  66. 2000  PRINT " "
  67. 2010  PRINT NAM$
  68. 2020  IF ADD1$ <> SPACE$(30) THEN PRINT ADD1$
  69. 2030  IF ADD2$<>SPACE$(30) THEN PRINT ADD2$
  70. 2040  PRINT CITYST$
  71. 2050  PRINT CVD(ZIPCODE$)
  72. 2060  RETURN
  73. 3000  ON PRINTSW2 GOTO 3010, 3100, 3200
  74. 3010  IF RET$="Y" THEN GOSUB 9000: RETURN
  75. 3019  LPRINT PRT$;NAM$
  76. 3020  IF ADD1$<>SPACE$(30) THEN LPRINT PRT$;ADD1$
  77. 3030  IF ADD2$ <> SPACE$(30) THEN LPRINT PRT$;ADD2$
  78. 3040  LPRINT PRT$;CITYST$
  79. 3050  IF PRT$ <> CHR$(14) THEN LPRINT PRT$;SPACE$(20);CVD(ZIPCODE$) ELSE LPRINT PRT$;SPACE$(16);CVD(ZIPCODE$)
  80. 3060  LPRINT CHR$(12);
  81. 3070  RETURN
  82. 3100  IF PIND%=0 THEN GOTO 3150
  83. 3105  PIND%=0
  84. 3110  LABL%=2
  85. 3120  GOSUB 3160
  86. 3125  FOR PRTI% = 1 TO 5
  87. 3130  LPRINT PRT$;LIN$(1,PRTI%);OFFSET$;LIN$(2,PRTI%)
  88. 3135  NEXT
  89. 3140  LPRINT CHR$(12);
  90. 3145  RETURN
  91. 3150  PIND%=1
  92. 3151  LABL%=1
  93. 3152  GOSUB 3160
  94. 3153  RETURN
  95. 3160  FOR PRTI% = 1 TO 5
  96. 3161  LIN$(LABL%,PRTI%) = SPACE$(30)
  97. 3162  NEXT
  98. 3170  PRTI%=1
  99. 3171  LIN$(LABL%,PRTI%)=NAM$
  100. 3172  IF ADD1$<> SPACE$(30) THEN PRTI%=PRTI%+1: LIN$(LABL%,PRTI%)= ADD1$
  101. 3173  IF ADD2$ <> SPACE$(30) THEN PRTI% = PRTI% + 1: LIN$(LABL%,PRTI%)=ADD2$
  102. 3174  PRTI% = PRTI% + 1
  103. 3175  LIN$(LABL%,PRTI%) = CITYST$+" "
  104. 3176  PRTI% = PRTI% + 1
  105. 3177  LIN$(LABL%,PRTI%) = SPACE$(20)+STR$(CVD(ZIPCODE$))+SPACE$((10-LEN(STR$(CVD(ZIPCODE$)))))
  106. 3180  RETURN
  107. 3200  PRINT "     Put envelope in printer"
  108. 3205  INPUT "     Press ENTER to proceed";ANSD$
  109. 3210  IF RET$= "Y" THEN GOSUB 3260
  110. 3215  LPRINT SPACE$(30);NAM$
  111. 3220  IF ADD1$ <> SPACE$(30) THEN LPRINT SPACE$(30);ADD1$
  112. 3225  IF ADD2$ <> SPACE$(30) THEN LPRINT SPACE$(30);ADD2$
  113. 3230  LPRINT SPACE$(30);CITYST$
  114. 3235  LPRINT SPACE$(50);CVD(ZIPCODE$)
  115. 3238  LPRINT " "
  116. 3239  LPRINT " "
  117. 3240  RETURN
  118. 3260  LPRINT RET1$:NBLINES%=6
  119. 3261  IF RET2$ <> SPACE$(30) THEN LPRINT RET2$:NBLINES%=NBLINES% + 1
  120. 3262  IF RET3$ <> SPACE$(30) THEN LPRINT RET3$:NBLINES%=NBLINES% + 1
  121. 3263  LPRINT RET4$
  122. 3264  LPRINT RET5$
  123. 3265  FOR LISUB = 1 TO NBLINES%
  124. 3270  LPRINT " "
  125. 3275  NEXT
  126. 3280  RETURN
  127. 4000  PRINT "   Printing HELD"
  128. 4010  INPUT "   Press enter to proceed";RESPE$
  129. 4020  RESUME
  130. 5000  PRINT "         SPACE BAR to continue"
  131. 5010  PRINT "       Esc KEY to return to menu"
  132. 5020  PRINT "         T KEY to reprint"
  133. 5030  K$=INKEY$: IF K$="" THEN 5030
  134. 5040  IF K$=" " THEN IF I% =NLINES% THEN 210
  135. 5041  IF K$=" " THEN IF I% < NLINES% THEN 200
  136. 5050  IF K$=CHR$(27) THEN CLOSE #1:CHAIN "b:labmail"
  137. 5060  IF K$ = "T" OR K$="t" THEN CLOSE #1:GOTO 20
  138. 5070  GOTO 5030
  139. 6000  PRINT " --------Print Status--------"
  140. 6010  PRINT "  ";I%;" Labels printed"
  141. 6020  PRINT "  ";(NLINES%-I%);" Labels remaining"
  142. 6030  RETURN
  143. 7000  PRINT " "
  144. 7010  INPUT "    Specify number of copies ==>";NCOPS
  145. 7020  RETURN
  146. 8000  PRINT " "
  147. 8010  PRINT "    Do you want only return labels"
  148. 8020  INPUT "    <yes or no>       ==>";RETANS$
  149. 8021  IF LEFT$(RETANS$,1) <> "Y" AND LEFT$(RETANS$,1) <> "y" AND LEFT$(RETANS$,1) <> "N" AND LEFT$(RETANS$,1) <> "n" THEN 8020
  150. 8025  GOSUB 1005
  151. 8030  RETURN
  152. 9000  LPRINT RET1$:NBLINES%=6
  153. 9010  IF RET2$ <> SPACE$(30) THEN LPRINT RET2$:NBLINES%=NBLINES% + 1
  154. 9020  IF RET3$ <> SPACE$(30) THEN LPRINT RET3$:NBLINES%=NBLINES% + 1
  155. 9030  LPRINT RET4$
  156. 9040  LPRINT RET5$
  157. 9045  LPRINT CHR$(12);
  158. 9050  RETURN
  159.