home *** CD-ROM | disk | FTP | other *** search
/ Compute! Gazette 1987 May / 1987-05.d64 / sleevemaker (.txt) < prev    next >
Commodore BASIC  |  2022-09-20  |  3KB  |  124 lines

  1. 10 dim sg$(2,19),te$(19):rem set up arrays
  2. 20 fori=1to2:forj=1to19
  3. 30 sg$(i,j)="                   "
  4. 40 nextj:nexti
  5. 50 set$="+----------------------------------------+"
  6. 60 ax$="-------------------":zx$="                  "
  7. 70 fm$="a":fc$="b"
  8. 80 print"[147][144]cassette sleeve maker[146]"
  9. 90 print"enter the number of sides"
  10. 100 print"you wish to label (1/2)";
  11. 110 inputc:ifc<>1andc<>2then110
  12. 120 at=c
  13. 130 print"[147]the next screen will"
  14. 140 print"show half of a tape label"
  15. 150 print"entered lines may not[146] contain:"
  16. 160 print"; or , or _, or +, or ^"
  17. 170 print"hit any key to continue"
  18. 180 gets$:ifs$=""then180
  19. 190 rem  *main program*
  20. 200 fori=1toc
  21. 210 forj=1to19
  22. 220 gosub700:gosub1020
  23. 230 gosub650
  24. 240 print"":forr=1toj
  25. 250 ifr=15orr=17thenprint"[145]"
  26. 260 print"";sg$(i,r)
  27. 270 nextr
  28. 280 gosub910
  29. 290 ifj>15thenprint"[145]"
  30. 300 gosub1170:inputc$
  31. 310 ifleft$(c$,1)=chr$(94)andj<15thenj=15:goto220
  32. 320 sg$(i,j)=c$
  33. 330 gosub910:sg$(i,j)=left$(sg$(i,j),19)
  34. 340 gosub1210
  35. 350 bb$=sg$(i,j):gosub1110:sg$(i,j)=bb$
  36. 360 print"":forik=1toj:gosub1150
  37. 370 ifik=jthenprint"[145]"
  38. 380 print"";sg$(i,ik):nextik
  39. 390 gosub1060:ifks$<>"y"andks$<>"n"thenprint"[145]":goto390
  40. 400 ifks$="n"thensg$(i,j)=zx$:goto220
  41. 410 nextj
  42. 420 nexti
  43. 430 rem     ** hard copy **
  44. 440 print"[147]press any key for printout"
  45. 450 geta$:ifa$=""then450
  46. 460 lb=2:la=1:ifat=1thenla=1:lb=2
  47. 470 open 4,4
  48. 480 print#4,set$
  49. 490 print#4,"+ side a               side b            +"
  50. 500 forj=1to19
  51. 510 te$(j)="+ "+sg$(la,j)+" "+sg$(lb,j)+"+":nextj
  52. 520 forj=1to14:print#4,te$(j):nextj
  53. 530 print#4,set$
  54. 540 print#4,te$(15):print#4,te$(16)
  55. 550 print#4,set$
  56. 560 fori=17to19:print#4,te$(i):nexti
  57. 570 print#4,set$
  58. 580 close4
  59. 590 print"[147]would you like another label (y/n)";
  60. 600 inputa$:ifa$<>"y"anda$<>"n"then600
  61. 610 ifa$="y"then20
  62. 620 print"[147]":end
  63. 630 rem    *** subroutines ***
  64. 640 rem  ---sub pointer----
  65. 650 gosub910
  66. 660 gosub1180:ifj>15thenprint"[145]"
  67. 670 printtab(21)"_"
  68. 680 return
  69. 690 rem  ------sub setup-----
  70. 700 print"[147]":if i=2then810
  71. 710 fd$=" +"+ax$
  72. 720 print" +side ";fm$;"             [146]"
  73. 730 forii=1to14:print" +":nextii
  74. 740 printfd$
  75. 750 print" +"
  76. 760 print" +"
  77. 770 printfd$
  78. 780 forii=1to3:print" +":nextii
  79. 790 print fd$
  80. 800 gosub970:return
  81. 810 fd$="  "+ax$+"+"
  82. 820 print" +side ";fc$;"             [146]+"
  83. 830 forii=1to14:printtab(21)"+":nextii
  84. 840 printfd$
  85. 850 printtab(21)"+"
  86. 860 printtab(21)"+"
  87. 870 printfd$
  88. 880 forii=1to3:printtab(21)"+":nextii
  89. 890 printfd$:gosub970:return
  90. 900 rem  ---- sub cursor ----
  91. 910 print""
  92. 920 ford=1toj
  93. 930 print"[145]"
  94. 940 nextd:print"[145]":return
  95. 950 :
  96. 960 rem  ---- sub 19 characters ----
  97. 970 print""
  98. 980 printtab(22)"___this is 19"
  99. 990 printtab(25)"characters"
  100. 1000 printtab(25)"for reference"
  101. 1010 return
  102. 1020 print""
  103. 1030 print""tab(23)"input line #";j
  104. 1040 return
  105. 1050 rem  ------sub correct----
  106. 1060 print"":ks$=""
  107. 1070 print""tab(23)"is this entry"
  108. 1080 printtab(23)"correct (y/n)"
  109. 1090 printtab(29);:inputks$
  110. 1100 rem    ------ sub 19 string ------
  111. 1110 fr=len(bb$):f=19-fr:tr$=right$(zx$,f)
  112. 1120 bb$=bb$+tr$:return
  113. 1130 return
  114. 1140 rem  ----sub skip-----
  115. 1150 ifik=15orik=17then print"[145]"
  116. 1160 return
  117. 1170 rem  ---sub input skip---
  118. 1180 ifj=15orj>=17then print"[145]"
  119. 1190 return
  120. 1200 rem  ----sub blank space----
  121. 1210 fk$=left$(sg$(i,j),1)
  122. 1220 iffk$="_"orfk$="+"thensg$(i,j)=zx$
  123. 1230 return
  124.