home *** CD-ROM | disk | FTP | other *** search
/ Hall of Fame / HallofFameCDROM.cdr / open / lblmaker.lzh / LBLPNT60.BAS (.txt) < prev    next >
Encoding:
GW-BASIC  |  1987-02-12  |  15.8 KB  |  336 lines

  1. 1  ' ******************************
  2. 2  ' *      LABEL MAKER 6.04      *
  3. 3  ' *        LBLPNT60.BAS        *
  4. 4  ' *      January 15, 1986      *
  5. 5  ' ******************************
  6. 10  '             *****  INITIALIZE THE PROGRAM  *****
  7. 20  CLEAR 3000 : KEY OFF
  8. 30  GOSUB 1610: GOSUB 2110
  9. 40  DEF FN A$(Y)=STRING$(Y,32): DEF FN B$(LL)=STRING$(LL,"-")
  10. 50  DEFINT I-N
  11. 60  CLS: LINECOUNT=0: I=1
  12. 70  DIM FILE$(300), COMMENTS$(10)
  13. 80  ON ERROR GOTO 7510
  14. 100  '            *****  READ IN DATA  *****
  15. 110  OPEN "NAMEDISK.ZQW" FOR INPUT AS #1
  16. 120    IF EFLAG=53 THEN EFLAG=0: PRINT TAB(28)"Disk has not been named.": PRINT: PRINT TAB(20)"If the installation program has been run":PRINT:PRINT TAB(32) "then run LBL.BAT.": SYSTEM
  17. 130    IF EFLAG<>0 THEN GOTO 7530
  18. 140  INPUT #1,DISKNAME$,CN$,FREEBYTES,BYTESUSED,DS$,TYPEPRINTER$,DCOUNT%,FCOUNT%,LABEL.SIZE,TL,SKIPFILES$,JS,JB,JF,JW,JH,JNB,JSN: DSKNAME$=DISKNAME$
  19. 150  IF TYPEPRINTER$<>"OTHER" THEN TYPEPRINTER$="EPSON": KOMMENTS.PER.LABEL=8: LINES.OF.FILES=11: GOTO 180
  20. 160  IF TYPEPRINTER$="OTHER" THEN KOMMENTS.PER.LABEL=4: LINES.OF.FILES=4: GOTO 180
  21. 170  GOTO 7530
  22. 180  FOR K=1 TO KOMMENTS.PER.LABEL: INPUT #1,COMMENTS$(K): IF COMMENTS$(K)="" THEN GOTO 190 ELSE NEXT K
  23. 190  CLOSE 1: KOUNT=K-1: CN%=VAL(CN$): IF SKIPFILES$="no" THEN CN%=DCOUNT%: IF CN%=0 THEN GOTO 270
  24. 200  OPEN "TEMPFILE.ZQW" FOR INPUT AS #1
  25. 210    IF EFLAG=55 THEN EFLAG=0: CLOSE: GOTO 200
  26. 220    IF EFLAG<>0 THEN GOTO 7530
  27. 230  FOR I=1 TO CN%
  28. 240    INPUT #1,FILE$(I)
  29. 250    IF LEN(FILE$(I))<13 THEN FILE$(I)=FILE$(I)+" ": GOTO 250
  30. 260  NEXT I: CLOSE
  31. 270  IF TYPEPRINTER$="OTHER" THEN GOTO 330
  32. 280  ON LABEL.SIZE GOTO 290, 320
  33. 290  FILES.PER.LINE=4: LINES.PER.LABEL=8: TOTAL.FILES=96: TEMP.KOUNT=7
  34. 300  IF KOUNT>4 THEN KOUNT=4
  35. 310  LL=57: TL=15: GOTO 340
  36. 320  FILES.PER.LINE=5: LINES.PER.LABEL=15: TOTAL.FILES=260: TEMP.KOUNT=14: LL=64: TL=17: GOTO 340
  37. 330  FILES.PER.LINE=5: LINES.PER.LABEL=8: TOTAL.FILES=120: TEMP.KOUNT=8: LL=64: TL=17
  38. 340  IF CN%>TOTAL.FILES THEN PRINT: PRINT"You are limited to a total of";TOTAL.FILES;" files": CN%=TOTAL.FILES
  39. 400  '           *****  PRINT ON VIDEO OR PRINTER  *****
  40. 410  COLOR JF,JB: CLS
  41. 420  GOSUB 1010
  42. 430  LOCATE 13,5: PRINT"Do you want to print on (V)ideo or the (P)rinter?"
  43. 440  X=56: Y=13: LOCATE Y,X: IF JS=1 THEN BEEP
  44. 450  GOSUB 3310: VP$=IN$
  45. 460  IF VP$="V" OR VP$="v" THEN OPEN "SCRN:" FOR OUTPUT AS #2: PRINTERFLAG=0: NBR.LABELS=1: GOSUB 1010: GOSUB 5010: GOTO 610
  46. 470  IF VP$="P" OR VP$="p" THEN OPEN "LPT1:" AS #2: PRINTERFLAG=1: GOTO 490
  47. 480  GOTO 440
  48. 490  LOCATE 15,10: PRINT "How many labels do you want to print (0-9)?"
  49. 500  X=55: Y=15: LOCATE Y,X: IF JS=1 THEN BEEP
  50. 510  GOSUB 3310
  51. 520  IF IN$<"0" OR IN$>"9" THEN 500 ELSE NBR.LABELS=VAL(IN$)
  52. 530  IF NBR.LABELS=0 THEN 410
  53. 540  IF PRINTERFLAG=1 THEN 3510
  54. 550  NL=NL + 1
  55. 560  GOSUB 6010
  56. 570  GOSUB 5010
  57. 600  '           *****  SET UP LINE OF FILE NAMES FOR LABEL  *****
  58. 610  J=1
  59. 620  IF SKIPFILES$="no" THEN CN%=DCOUNT%: IF CN%=0 THEN GOTO 810
  60. 630  LABEL$=""
  61. 640  FOR M=1 TO FILES.PER.LINE
  62. 650    FILE$=LEFT$(FILE$(J),13)
  63. 660    LABEL$=LABEL$+FILE$: IF LABEL.SIZE=1 THEN LABEL$=LABEL$+"  "
  64. 670    J=J+1: IF J>CN% THEN GOTO 690
  65. 680  NEXT M
  66. 690  GOSUB 5010                          ' PRINT LINE OF FILE NAMES ON LABEL
  67. 700  IF LINECOUNT=LINES.PER.LABEL THEN GOSUB 6510
  68. 710  IF J>CN% THEN GOTO 730
  69. 720  GOTO 630
  70. 730  IF J>TOTAL.FILES THEN GOTO 5510
  71. 740  GOSUB 7010
  72. 800  '           *****  READ AND PRINT COMMENTS ON LABEL  *****
  73. 810  FOR N=1 TO KOUNT: LABEL$=COMMENTS$(N): GOSUB 5010: NEXT N: ICOMMENTS=1
  74. 820  IF LINECOUNT>0 THEN GOSUB 7040
  75. 830  GOSUB 6510
  76. 840  GOSUB 2110
  77. 850  IF NL<NBR.LABELS THEN LINECOUNT=0: J=1: JLABEL=0: ICOMMENTS=0: IF PRINTERFLAG=1 THEN 550 ELSE 5510
  78. 860  GOSUB 5510
  79. 870  END
  80. 1000  '          *****  TITLE SUBROUTINE  *****
  81. 1010  LOCATE 1,17: PRINT STRING$(10,"-")+"L A B E L   M A K E R   6.04"+STRING$(10,"-")
  82. 1020  LOCATE 2,29: PRINT"USER SUPPORTED SOFTWARE"
  83. 1030  LOCATE 3,31: PRINT"Serial No.";JSN
  84. 1040  LOCATE 23,20: PRINT"Copyright (c) 1984, 1985, 1986 Fort's Software"
  85. 1050  RETURN
  86. 1500  '          *****  INITIALIZE AND SET THE PRINTER FOR TITLE  *****
  87. 1510  LPRINT CHR$(27)"8";                ' DISABLE PAPER-END SIGNAL
  88. 1520  LPRINT CHR$(27)"3"; CHR$(34);      ' SET TO 34/216" LINE SPACING
  89. 1530  LPRINT CHR$(27)"G";                ' SET PRINTER TO DOUBLE STRIKE MODE
  90. 1540  LPRINT CHR$(27)"E";                ' SET PRINTER TO EMPHASIZED MODE
  91. 1550  LPRINT CHR$(14);                   ' SET PRINTER TO ENLARGED MODE
  92. 1560  RETURN
  93. 1600  '          *****  REINITIALIZE THE PRINTER AFTER TITLE  *****
  94. 1610  LPRINT CHR$(27)"9";                ' ENABLE PAPER-END SIGNAL
  95. 1620  LPRINT CHR$(27)"2";                ' SET TO 1/6" LINE SPACING
  96. 1630  LPRINT CHR$(27)"H";                ' CANCEL DOUBLE STRIKE MODE
  97. 1640  LPRINT CHR$(27)"F";                ' CANCEL EMPHASIZED MODE
  98. 1650  LPRINT CHR$(20);                   ' CANCEL ENLARGED MODE
  99. 1660  RETURN
  100. 2000  '          *****  INITIALIZE AND SET THE PRINTER FOR FILE NAMES  *****
  101. 2010  LPRINT CHR$(27)"8";                ' DISABLE PAPER-END SIGNAL
  102. 2020  LPRINT CHR$(27)"3"; CHR$(16);      ' SET TO 16/216" LINE SPACING
  103. 2030  LPRINT CHR$(27)"S"; CHR$(0);       ' SET TO SUPERSCRIPT MODE
  104. 2040  LPRINT CHR$(15);                   ' SET PRINTER TO CONDENSED MODE
  105. 2050  RETURN
  106. 2100  '          *****  REINITIALIZE THE PRINTER AFTER FILE NAMES  *****
  107. 2110  LPRINT CHR$(27)"9";                ' ENABLE PAPER-END SIGNAL
  108. 2120  LPRINT CHR$(27)"2";                ' SET TO 1/6" LINE SPACING
  109. 2130  LPRINT CHR$(27)"T";                ' CANCEL SUPERSCRIPT MODE
  110. 2140  LPRINT CHR$(18);                   ' CANCEL CONDENSED MODE
  111. 2150  RETURN
  112. 3000  '          *****  INKEY SUBROUTINE  *****
  113. 3010  W$="": IN$="": CF=0: WD=0: WS=WD: WL=WD
  114. 3020  PRINT STRING$(ABS(FL), CHR$(254)): LOCATE Y,X: IF FL=0 THEN FL=1
  115. 3030  W$=INKEY$
  116. 3040  IF W$<>"" THEN 3050 ELSE 3030
  117. 3050  IF W$<>CHR$(13) THEN 3080
  118. 3060  LOCATE Y,X+WL: PRINT STRING$(ABS(FL)-WL," ");
  119. 3070  RETURN
  120. 3080  IF LEN(W$)<>2 THEN 3110
  121. 3090  CF=1
  122. 3100  RETURN
  123. 3110  IF W$<>CHR$(8) THEN 3150
  124. 3120  IF WL>0 THEN WL=WL-1: IN$=LEFT$(IN$,WL): ELSE 3150
  125. 3130  LOCATE Y,X: PRINT STRING$(ABS(FL), CHR$(254))
  126. 3140  LOCATE Y,X: PRINT IN$: GOTO 3030
  127. 3150  IF W$=CHR$(27) THEN WL=0: IN$="": LOCATE Y,X: GOTO 3020
  128. 3160  IF ABS(FL)=WL THEN 3030
  129. 3170  IF FL>0 THEN IF W$>=" " AND W$<="z" THEN 3190
  130. 3180  IF W$<"0" OR W$>"9" THEN 3010
  131. 3190  LOCATE Y,X+WL: PRINT W$;
  132. 3200  IN$=IN$+W$
  133. 3210  WL=WL+1
  134. 3220  IF ABS(FL)=1 THEN RETURN
  135. 3230  GOTO 3030
  136. 3300  '          ***** SINGLE KEY INKEY SUBROUTINE  *****
  137. 3310  IN$=""
  138. 3320  IN$=INKEY$: IF IN$="" THEN 3320
  139. 3330  RETURN
  140. 3500  '          *****  PROMPT SUBROUTINE  *****
  141. 3510  PRINT: PRINT TAB(10)"If the label is lined up: "
  142. 3520  PRINT TAB(20)"Hit <C> to continue "
  143. 3530  PRINT TAB(20)"Hit <A> to abort"
  144. 3540  PRINT TAB(20)"Hit <E> to edit the title or comments."
  145. 3550  PRINT TAB(20)"Hit <L> to change the size of labels."
  146. 3560  PRINT TAB(30) "Enter your selection--"
  147. 3570  X=53: Y=CSRLIN-1: LOCATE Y,X: IF JS=1 THEN BEEP
  148. 3580  GOSUB 3310
  149. 3590  IF IN$="C" OR IN$="c" THEN 550
  150. 3600  IF IN$="A" OR IN$="a" THEN 5710
  151. 3610  IF IN$="E" OR IN$="e" THEN 8010
  152. 3620  IF IN$="L" OR IN$="l" THEN 9010
  153. 3630  PRINT: GOTO 3570
  154. 4000  '          *****  PRINT TITLE FOR EPSON PRINTERS  *****
  155. 4010  IF PRINTERFLAG=1 THEN GOSUB 1510           ' SET PRINTER FOR TITLE
  156. 4020  PRINT: PRINT #2, DISKNAME$                 ' PRINT DISK NAME
  157. 4030  LINECOUNT=LINECOUNT+1
  158. 4040  IF PRINTERFLAG=1 THEN GOSUB 1610: GOSUB 2010
  159. 4050  LABEL$=FN B$(LL)                           ' SET TO PRINT A LINE
  160. 4060  RETURN
  161. 4500  '          *****  SET PRINTER AND PRINT TITLE FOR OTHER PRINTERS *****
  162. 4510  IF PRINTERFLAG=0 THEN GOTO 4590
  163. 4520  LPRINT CHR$(18);: LPRINT CHR$(20);         ' CANCEL COND & ENL PRINT MODE
  164. 4530  LPRINT CHR$(14);                           ' SET PRINTER TO ENLARGED MODE
  165. 4540  WIDTH #2,255: PRINT #2, DISKNAME$          ' PRINT DISK NAME TO LABEL
  166. 4550  WIDTH #2,80
  167. 4560  LINECOUNT=LINECOUNT+1
  168. 4570  LPRINT CHR$(20);                           ' CANCEL ENLARGED MODE
  169. 4580  LPRINT CHR$(15);                           ' SET PRINTER TO CONDENSED MODE
  170. 4590  LABEL$=STRING$(64,"_")
  171. 4600  IF PRINTERFLAG=1 THEN RETURN ELSE PRINT #2, DISKNAME$;: LINECOUNT=LINECOUNT+1: RETURN
  172. 5000  '          *****  PRINT LINE  *****
  173. 5010  IF LINECOUNT<>0 THEN BOTTOMFLAG=0: GOTO 5080
  174. 5020  IF J>CN% THEN IF KOUNT=0 THEN ICOMMENTS=1
  175. 5030  IF J>CN% THEN IF ICOMMENTS=1 THEN RETURN
  176. 5040  IF JLABEL =0 THEN GOTO 5060 ELSE IF JLABEL<4 AND PRINTERFLAG=0 THEN PRINT: INPUT"Hit <ENTER> to continue";ZZ$: PRINT
  177. 5050  IF JLABEL>=4 THEN GOTO 5510
  178. 5060  IF TYPEPRINTER$="EPSON" THEN GOSUB 4010
  179. 5070  IF TYPEPRINTER$="OTHER" THEN GOSUB 4510
  180. 5080  PRINT #2, LABEL$
  181. 5090  LINECOUNT=LINECOUNT+1
  182. 5100  IF LINECOUNT=LINES.PER.LABEL THEN RETURN
  183. 5110  RETURN
  184. 5500  '          *****  END PROGRAM OR PRINT MORE LABELS  *****
  185. 5510  CLOSE 2: PRINT: PRINT"DO YOU WANT TO PRINT MORE LABELS FOR THIS DISK (Y/N)?"
  186. 5520  X=49: Y=CSRLIN-1: LOCATE Y,X: IF JS=1 THEN BEEP
  187. 5530  GOSUB 3310
  188. 5540  IF IN$="Y" OR IN$="y" THEN LINECOUNT=0: J=1: JLABEL=0: ICOMMENTS=0: NL=0: GOTO 410
  189. 5550  IF IN$="N" OR IN$="n" THEN 5800 ELSE PRINT: GOTO 5520
  190. 5700  '          *****  START PROGRAM OVER OR TERMINATE  *****
  191. 5710  CLS: CLOSE #2: LOCATE 5,10: PRINT "Do you want to:"
  192. 5720  LOCATE 7,20: PRINT "<S>tart the print routine over or"
  193. 5730  LOCATE 8,20: PRINT "<T>erminate the program?"
  194. 5740  LOCATE 10,30: PRINT "Enter your selection"
  195. 5750  X=52: Y=10: LOCATE Y,X: IF JS=1 THEN BEEP
  196. 5760  GOSUB 3310
  197. 5770  IF IN$="S" OR IN$="s" THEN CLS: GOTO 410
  198. 5780  IF IN$="T" OR IN$="t" THEN 5800
  199. 5790  GOTO 5750
  200. 5800  IF PRINTERFLAG=1 THEN GOSUB 1610: GOSUB 2110: CLS: SYSTEM ELSE SYSTEM
  201. 6000  '          *****  PRINT ANOTHER LABEL  *****
  202. 6010  CLS: IF NL>1 THEN GOTO 6110
  203. 6020  LOCATE 8,15: PRINT "IS ONE OF THE LABELS FOR A MASTER DISK (Y/N)?"
  204. 6030  X=62: Y=8: LOCATE Y,X: IF JS=1 THEN BEEP
  205. 6040  GOSUB 3310
  206. 6050  IF IN$="Y" OR IN$="y" THEN GOTO 6080
  207. 6060  IF IN$="N" OR IN$="n" THEN GOTO 6110
  208. 6070  GOTO 6030
  209. 6080  ON LABEL.SIZE GOTO 6090, 6100
  210. 6090  DISKNAME$=LEFT$(DISKNAME$,15)+" M": RETURN
  211. 6100  DISKNAME$=LEFT$(DISKNAME$,18)+"M": RETURN
  212. 6110  ON LABEL.SIZE GOTO 6120, 6130
  213. 6120  DISKNAME$=LEFT$(DISKNAME$,15)+" " : RETURN ELSE 6010
  214. 6130  DISKNAME$=LEFT$(DISKNAME$,18)+" " : RETURN ELSE 6010
  215. 6500  '          *****  NEW PAGE SUBROUTINE  *****
  216. 6510  IF BOTTOMFLAG=1 THEN BOTTOMFLAG=0: RETURN
  217. 6515  IF TYPEPRINTER$="EPSON" THEN PRINT #2, FN B$(LL)
  218. 6520  IF LABEL.SIZE=1 THEN PRINT #2, DATE$;"  ";FCOUNT%;"FILES";"    BYTES:";BYTESUSED;"USED  ";;FREEBYTES;"FREE": JLABEL=JLABEL+1: BOTTOMFLAG=1: GOTO 6540
  219. 6530  PRINT #2, DATE$;" ";FCOUNT%;"FILES";"  FORMAT ";DS$;"  BYTES:";BYTESUSED;"USED ";;FREEBYTES;"FREE": JLABEL=JLABEL+1: BOTTOMFLAG=1
  220. 6540  IF PRINTERFLAG=0 THEN GOTO 6580
  221. 6550  IF TYPEPRINTER$="EPSON" THEN LPRINT CHR$(27)"3";CHR$(17)
  222. 6560  LPRINT: IF LABEL.SIZE=1 THEN LPRINT CHR$(27)"3";CHR$(3)
  223. 6570  IF TYPEPRINTER$="EPSON" THEN GOSUB 2110
  224. 6580  LINECOUNT=0: GOSUB 5010
  225. 6590  IF J>CN% THEN IF ICOMMENTS=1 THEN RETURN ELSE IF J>CN% GOTO 810
  226. 6600  RETURN
  227. 7000  '          *****  CONDITIONAL PAGE SUBROUTINE  *****
  228. 7010  IF TEMP.KOUNT-LINECOUNT<KOUNT THEN GOSUB 7040 ELSE LABEL$=FN B$(LL): GOSUB 5010: GOTO 7030
  229. 7020  GOSUB 6510: GOSUB 5010
  230. 7030  RETURN
  231. 7040  BLANKS=LINES.PER.LABEL-LINECOUNT
  232. 7050  FOR I=1 TO BLANKS
  233. 7060    LABEL$=""
  234. 7070    GOSUB 5010
  235. 7080  NEXT I
  236. 7090  RETURN
  237. 7500  '          *****  generic error handler  *****
  238. 7510  EFLAG=ERR:ELINE=ERL:RESUME NEXT
  239. 7520  '          *****  fatal error handler  *****
  240. 7530  PRINT"fatal error ";EFLAG;" occurred at line ";ELINE
  241. 7540  STOP
  242. 8000  '          *****  SUBROUTINE TO EDIT TITLE OR COMMENTS  *****
  243. 8010  CLS: GOSUB 1010
  244. 8020  LOCATE 5,20: PRINT "Do you want to edit the"
  245. 8030  LOCATE 6,25: PRINT "<T>itle or the"
  246. 8040  LOCATE 7,25: PRINT "<C>omments?"
  247. 8050  X=38: Y=7: LOCATE Y,X: IF JS=1 THEN BEEP
  248. 8060  GOSUB 3310
  249. 8070  IF IN$="T" OR IN$="t" THEN 8310
  250. 8080  IF IN$="C" OR IN$="c" THEN 8610
  251. 8090  GOTO 8050
  252. 8300  '          *****  EDIT THE TITLE  *****
  253. 8310  LENGTH=LEN(DISKNAME$)
  254. 8320  INDENT = INT(40-(LENGTH/2))
  255. 8330  LOCATE 9,INDENT: PRINT DISKNAME$
  256. 8340  LOCATE 11,10: PRINT "What is the name of the disk?";
  257. 8350  FL=TL: X=41: Y=CSRLIN: LOCATE Y,X: IF JS=1 THEN BEEP
  258. 8360  GOSUB 3010
  259. 8370  IF IN$=" " THEN IN$="NO NAME"
  260. 8380  IF IN$="" THEN 8400
  261. 8390  IF CF=0 THEN DISKNAME$=IN$: DSKNAME$=DISKNAME$
  262. 8400  LENGTH=LEN(DISKNAME$)
  263. 8410  INDENT = INT(40-(LENGTH/2))
  264. 8420  SPACES=TL+1-LENGTH
  265. 8430  DISKNAME$=DISKNAME$ + STRING$(SPACES," ")
  266. 8440  LOCATE 13,20: PRINT "The new disk name is: ": LOCATE 13,42: PRINT DISKNAME$
  267. 8450  LOCATE 15,10: PRINT "Is this the title you want to use (Y/N)?"
  268. 8460  X=50: Y=15: LOCATE Y,X: IF JS=1 THEN BEEP
  269. 8470  GOSUB 3310
  270. 8480  IF IN$="y" OR IN$="Y" THEN 3510
  271. 8490  IF IN$="n" OR IN$="N" THEN LOCATE 13,1: PRINT STRING$(80," "): LOCATE 15,1: PRINT STRING$(80," "): GOTO 8310
  272. 8500  GOTO 8440
  273. 8600  '          *****  EDIT THE COMMENTS  *****
  274. 8610  CLS: GOSUB 1010
  275. 8620  V$=RIGHT$(STR$(KOMMENTS.PER.LABEL),1)
  276. 8630  LOCATE 5,32: PRINT DISKNAME$
  277. 8640  LOCATE 7,1: PRINT "COMMENTS: ";
  278. 8650  FOR J=1 TO KOMMENTS.PER.LABEL: LOCATE 6+J,11: PRINT J;STRING$(LL, CHR$(254)): NEXT J
  279. 8660  FOR J=1 TO KOMMENTS.PER.LABEL: LOCATE 6+J,11: PRINT J;COMMENTS$(J): NEXT J
  280. 8670  LOCATE 7+KOMMENTS.PER.LABEL,5: PRINT "Which comment line do you want to edit (0 to return)?"
  281. 8680  X=60: Y=7+KOMMENTS.PER.LABEL: LOCATE Y,X: IF JS=1 THEN BEEP
  282. 8690  GOSUB 3310
  283. 8700  IF IN$<"0" OR IN$>V$ THEN 8680 ELSE K=VAL(IN$): IF K>KOUNT THEN KOUNT=K
  284. 8710  IF K=0 THEN 8790
  285. 8720  LOCATE 7+KOMMENTS.PER.LABEL,1: PRINT STRING$(80," ")
  286. 8730  LOCATE 6+K,10: PRINT CHR$(26);K;STRING$(LL, CHR$(254))
  287. 8740  FL=LL: X=14: Y=6+K: LOCATE Y,X: IF JS=1 THEN BEEP
  288. 8750  GOSUB 3010
  289. 8760  IF IN$="" THEN COMMENTS$(K)=""
  290. 8770  IF CF=0 THEN COMMENTS$(K)=IN$
  291. 8780  GOTO 8670
  292. 8790  FOR J=KOUNT TO 1 STEP -1: IF COMMENTS$(J)<>"" THEN 8800 ELSE NEXT J
  293. 8800  KOUNT=J
  294. 8810  GOTO 3510
  295. 9000             *****  RESET SIZE OF LABELS  *****
  296. 9010  CLS
  297. 9020  GOSUB 1010: CLOSE #2                                ' print heading
  298. 9030  LOCATE 5,10: PRINT"What size labels will you be using?"
  299. 9040  LOCATE 7,15: PRINT "<1> 3 1/2 x 15/16"
  300. 9050  LOCATE 8,15: PRINT "<2> 4 x 1 7/16"
  301. 9060  LOCATE 11,10: PRINT "> ENTER SELECTION: "
  302. 9070  Y=11: X=31: LOCATE Y,X: IF JS=1 THEN BEEP
  303. 9080  GOSUB 3310
  304. 9090  LABEL.SIZE=VAL(IN$)
  305. 9100  ON LABEL.SIZE GOTO 280,280
  306. 9110  GOTO 9070
  307. 9500  '          *****  MENU OF GOTO'S AND SUBROUTINES  *****
  308. 9510  GOTO 20                            ' initialize the program
  309. 9520  GOTO 100                           ' read in the data
  310. 9530  GOTO 400                           ' print on screen or printer
  311. 9540  GOTO 600                           ' set up line of filenames
  312. 9550  GOTO 800                           ' read and print comments
  313. 9560  GOSUB 1000                         ' print heading on screen
  314. 9570  GOSUB 1500                         ' set printer for title
  315. 9580  GOSUB 1600                         ' reinitialize printer after title
  316. 9590  GOSUB 2000                         ' set printer for file names
  317. 9600  GOSUB 2100                         ' reinitialize printer after file names
  318. 9610  GOSUB 3000                         ' inkey$ subroutine
  319. 9620  GOSUB 3300                         ' single key inkey$ subroutine
  320. 9630  GOSUB 3500                         ' prompt subroutine for labels
  321. 9640  GOSUB 4000                         ' print title for Epson printer
  322. 9650  GOSUB 4500                         ' print title for other printers
  323. 9660  GOSUB 5000                         ' print line or files on label
  324. 9670  GOSUB 5500                         ' ask about more labels
  325. 9680  GOSUB 5700                         ' start over or terminate program
  326. 9690  GOSUB 6000                         ' set master disk flag
  327. 9700  GOSUB 6500                         ' new page subroutine
  328. 9710  GOSUB 7000                         ' conditional page subroutine
  329. 9720  GOSUB 7500                         ' error subroutine
  330. 9730  GOSUB 7530                         ' fatal error subroutine
  331. 9740  GOSUB 8000                         ' edit the title or comments
  332. 9750  GOTO 8300                          ' edit the title
  333. 9760  GOTO 8600                          ' edit the comments
  334. 9770  GOSUB 9500                         ' routine library
  335. 9780  '          *****  LAST LINE  *****
  336.