home *** CD-ROM | disk | FTP | other *** search
/ Oakland CPM Archive / oakcpm.iso / sigm / vol209 / header6.bas < prev    next >
Encoding:
BASIC Source File  |  1986-03-09  |  9.7 KB  |  231 lines

  1. 10 REM (C) 1984 by Merlin R. Null
  2. 20 REM Permission is given to copy this program provided it is not to be sold.
  3. 30 DEFINT A-Z
  4. 40 CLS$=CHR$(26)
  5. 50 PRINT CLS$;STRING$(24,10)
  6. 60 PRINT TAB(22)"[]==================[]"
  7. 70 PRINT TAB(22)"[]   INITIALIZING   []"
  8. 80 PRINT TAB(22)"[]==================[]"
  9. 90 DIM LN$(14),LT$(127),TD$(30)
  10. 100 GOSUB 1180
  11. 110 NM$="HEADER":Z=2:X=4:Y=3    'sets title screen message and layout
  12. 120 GOSUB 890
  13. 130 PRINT TAB(25)"Version 6.01  7/3/84":Z=3:Y=2
  14. 140 PRINT:PRINT TAB(18)"Prints 1-1/2 inch high letters for headers."
  15. 150 PRINT:PRINT TAB(10)"Maximum characters per line"
  16. 160 PRINT TAB(10)" 80 column:  7       \   Approximation only, some characters"
  17. 170 PRINT TAB(10)" 96 column:  8        >  are narrower.  See next menu for";
  18.     " column"
  19. 180 PRINT TAB(10)"132 column: 12       /   width of your heading."
  20. 190 PRINT:PRINT
  21. 200 LINE INPUT"Please enter your heading. ";NM$
  22. 210 IF NM$="" THEN NM$="TEST":X=10 ELSE X=0 'sets default header message
  23. 220 IF CH<>4 THEN 340
  24. 230 PRINT STRING$(12,10)
  25. 240 PRINT"<NOTE> The maximum value of spacing between letters is limited to 20."
  26. 250 PRINT"       If you need more than that use <SPACE> as a character."
  27. 260 PRINT"       Each space is 6 columns wide plus 2 times the spacing"
  28. 270 PRINT"       between letters."
  29. 280 PRINT STRING$(10,10)
  30. 290 PRINT"You may increase the spacing between your heading letters."
  31. 300 PRINT"The default setting is 2.  Adding 1 will set it to 3."
  32. 310 PRINT:INPUT"How many spaces to add to default value";Y1
  33. 320 IF Y1>20 THEN 230
  34. 330 Y=2+Y1
  35. 340 IF CH<>3 THEN 380
  36. 350 PRINT STRING$(22,10)
  37. 360 PRINT"You may add spaces to the left margin to center the header."
  38. 370 PRINT:INPUT"How many spaces would you like to add ot the left margin";X
  39. 380 IF CH<>2 THEN 480
  40. 390 PRINT STRING$(22,10)
  41. 400 PRINT:PRINT"Do you want the output to go to:"
  42. 410 PRINT:PRINT"1. Printer"
  43. 420 PRINT"2. Console"
  44. 430 PRINT"3. Both"
  45. 440 PRINT"4. Exit program"
  46. 450 INPUT Z
  47. 460 IF Z>3 THEN 840
  48. 470 IF Z<1 THEN Z=3
  49. 480 PRINT CLS$;STRING$(12,10):P=0
  50. 490 IF Z=1 THEN PC$="Printer" ELSE PC$="Printer and Console"
  51. 500 IF Z=2 THEN PC$="Console"
  52. 510 FOR I=1 TO LEN(NM$)
  53. 520   IF MID$(NM$,I,1)="m" OR MID$(NM$,I,1)="v" OR MID$(NM$,I,1)="w" THEN P=P-1
  54. 530   IF ASC(MID$(NM$,I,1))>96 AND ASC(MID$(NM$,I,1))<123 THEN P=P+1
  55. 540   IF MID$(NM$,I,1)="$" OR MID$(NM$,I,1)="T" OR MID$(NM$,I,1)="Y" OR
  56.       MID$(NM$,I,1)="j" OR MID$(NM$,I,1)="k" OR MID$(NM$,I,1)="x" OR
  57.       MID$(NM$,I,1)="~" THEN P=P+1
  58. 550   IF MID$(NM$,I,1)="f" OR MID$(NM$,I,1)="i" OR MID$(NM$,I,1)="l" OR
  59.       MID$(NM$,I,1)="t" OR MID$(NM$,I,1)="*" THEN P=P+2
  60. 560   IF MID$(NM$,I,1)=" " OR MID$(NM$,I,1)="I" OR MID$(NM$,I,1)="1" THEN P=P+3
  61. 570   IF MID$(NM$,I,1)="+" OR MID$(NM$,I,1)="-" OR MID$(NM$,I,1)="<" OR
  62.       MID$(NM$,I,1)="=" OR MID$(NM$,I,1)=">" OR MID$(NM$,I,1)="^" THEN P=P+3
  63. 580   IF MID$(NM$,I,1)=CHR$(34) THEN P=P+4
  64. 590   IF MID$(NM$,I,1)="{" OR MID$(NM$,I,1)="}" THEN P=P+5
  65. 600   IF MID$(NM$,I,1)="(" OR MID$(NM$,I,1)=")" OR MID$(NM$,I,1)="[" OR
  66.       MID$(NM$,I,1)="]" THEN P=P+6
  67. 610   IF MID$(NM$,I,1)="!" OR MID$(NM$,I,1)="'" OR MID$(NM$,I,1)="," OR
  68.       MID$(NM$,I,1)="." OR MID$(NM$,I,1)=":" OR MID$(NM$,I,1)=";" OR
  69.       MID$(NM$,I,1)="`" OR MID$(NM$,I,1)="|" THEN P=P+7
  70. 620 NEXT I
  71. 630 PRINT"Header message is:",NM$
  72. 640 PRINT:PRINT"Header column width is:    "(9+Y)*(LEN(NM$))-(Y+P)
  73. 650 PRINT:PRINT"Output directed to:",PC$
  74. 660 PRINT:PRINT"Spaces in left margin:     "X
  75. 670 PRINT:PRINT"Spaces between letters:    "Y
  76. 680 PRINT:PRINT:PRINT
  77. 690 PRINT"1.    Change message"
  78. 700 PRINT"2.    Redirect output"
  79. 710 PRINT"3.    Add spaces to left margin"
  80. 720 PRINT"4.    Change spacing between letters"
  81. 730 PRINT"5.    Exit program"
  82. 740 PRINT"<RET> GO - Start printing now"
  83. 750 PRINT:PRINT:INPUT"Option 1-5 or <RET> to print";CH
  84. 760 PRINT CLS$
  85. 770 ON CH GOTO 150,390,350,230,840
  86. 780 GOSUB 890
  87. 790 IF Z=1 THEN PRINT STRING$(12,10)
  88. 800 IF Z=1 THEN NM$="DONE":X=15:Z=2:Y=3:GOSUB 890
  89. 810 PRINT STRING$(6,10)
  90. 820 INPUT"Do you want another line of print";ANS$
  91. 830 IF LEFT$(ANS$,1)="Y" OR LEFT$(ANS$,1)="y" THEN 130
  92. 840 PRINT CLS$:PRINT:END
  93. 850 PRINT STRING$(24,10)
  94. 860 PRINT"You have entered a character that this program does not recognize."
  95. 870 PRINT:PRINT"Use only characters with ASCII values from 32 through 126."
  96. 880 GOTO 200
  97. 890 STRL=LEN(NM$)
  98. 900 IF STRL>20 THEN 190
  99. 910 FOR I=1 TO STRL
  100. 920   TMP$=MID$(NM$,I,1)
  101. 930   NUM=ASC(TMP$)
  102. 940   IF NUM<32 OR NUM>126 THEN 850
  103. 950   N=0
  104. 960   FOR J=0 TO 33 STEP 3
  105. 970     FOR SEG=1 TO 3
  106. 980       J1=J+SEG
  107. 990       TEMP$=MID$(LT$(NUM),J1,1)
  108. 1000       NVAL=ASC(TEMP$)-65
  109. 1010       TD$(N)=TD$(N)+LN$(NVAL)
  110. 1020     NEXT SEG
  111. 1030     IF I<STRL THEN TD$(N)=TD$(N)+STRING$(Y,32)
  112. 1040     N=N+1
  113. 1050   NEXT J
  114. 1060 NEXT I
  115. 1070 PRINT CLS$;STRING$(12,10)
  116. 1080 IF X>80 THEN X1=X-80 ELSE X1=X
  117. 1090 FOR I=0 TO 11
  118. 1100   IF Z=1 OR Z=3 THEN LPRINT TAB(X+1) TD$(I)
  119. 1110   IF Z=2 OR Z=3 THEN PRINT TAB(X+1) LEFT$(TD$(I),80-X1)
  120. 1120 NEXT I
  121. 1130 IF Z=1 OR Z=3 THEN LPRINT:LPRINT
  122. 1140 FOR I=0 TO 11
  123. 1150   TD$(I)=""
  124. 1160 NEXT I
  125. 1170 RETURN
  126. 1180 FOR I=0 TO 14
  127. 1190   READ LN$(I)
  128. 1200 NEXT I
  129. 1210 FOR I=1 TO 95
  130. 1220   READ LT$(I+31)
  131. 1230 NEXT I
  132. 1240 RETURN
  133. 1250 DATA""," ","@","  "," @","@ ","@@"
  134. 1260 DATA"   ","  @"," @ "," @@","@  ","@ @","@@ ","@@@"
  135. 10000 'Line numbers are key to ASCII, line 10650 = 'A' (ASCII 65)
  136. 10320 DATA"DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD"
  137. 10330 DATA"GAAGAAGAAGAAGAAGAAGAADAAGAAGAADAADAA"
  138. 10340 DATA"NGANGANGAHDAHDAHDAHDAHDAHDAHDAHDAHDA"
  139. 10350 DATA"IMLIMLIMLOOOOOOIMLOOOOOOIMLIMLHHHHHH"
  140. 10360 DATA"HNDKOGOOGNNDOOFKOGHNGOOGOOFHNDHHDHHD"
  141. 10370 DATA"OHKMHKOHNHILHKHHNHILHKHONHMNHOHHHHHH"
  142. 10380 DATA"IOHKOLKILIOHINHKKKNINNINKOKINHHHHHHH"
  143. 10390 DATA"GAAGAAGAADAADAADAADAADAADAADAADAADAA"
  144. 10400 DATA"KAAOAANAANAANAANAANAANAAOAAKAAHAAHAA"
  145. 10410 DATA"NAANAAKAAKAAKAAKAAKAAKAAOAANAAHAAHAA"
  146. 10420 DATA"HHBHHBLLCJMBINBOOCINBJMBLLCHHBHHBHHB"
  147. 10430 DATA"HHAHHAILAILAOOAOOAILAILAHHAHHAHHAHHA"
  148. 10440 DATA"DAADAADAADAADAADAADAADAAGAAGAAEAAFAA"
  149. 10450 DATA"HHAHHAHHAHHAOOAOOAHHAHHAHHAHHAHHAHHA"
  150. 10460 DATA"DAADAADAADAADAADAADAADAAGAAGAADAADAA"
  151. 10470 DATA"HHKHHKHHNHILHKHHNHILHKHHNHHNHHHHHHHH"
  152. 10480 DATA"IOLKONNHKNHKNHKNHKNHKNHKKONIOLHHHHHH"
  153. 10490 DATA"HLAILAKLAILAILAILAILAILAOOAOOAHHAHHA"
  154. 10500 DATA"KONOOONHKHHNHILHKHHNHILHKOOOOOHHHHHH"
  155. 10510 DATA"OOOOOONHNHILHKNHOOHHKNHKOOOKONHHHHHH"
  156. 10520 DATA"HHLHILHKLHOLIMLKILOOOOOOHILHILHHHHHH"
  157. 10530 DATA"OOOOOONHHOONKOOHHKHHKNHKOOOKONHHHHHH"
  158. 10540 DATA"KONOOONHKNHHOONOOONHKNHKOOOKONHHHHHH"
  159. 10550 DATA"OOOOOONHNHILHKHHNHILHILHILHILHHHHHHH"
  160. 10560 DATA"KONOOONHKNHKKONKONNHKNHKOOOKONHHHHHH"
  161. 10570 DATA"KONOOONHKNHKOOOKOOHHKNHKOOOKONHHHHHH"
  162. 10580 DATA"DAADAAGAAGAADAADAADAADAAGAAGAADAADAA"
  163. 10590 DATA"DAADAAGAAGAADAADAADAADAAGAAGAAEAAFAA"
  164. 10600 DATA"HKAHNAILAKHANHANHAKHAILAHNAHKAHHAHHA"
  165. 10610 DATA"HHAHHAHHAOOAOOAHHAOOAOOAHHAHHAHHAHHA"
  166. 10620 DATA"NHAKHAILAHNAHKAHKAHNAILAKHANHAHHAHHA"
  167. 10630 DATA"KONOOONHKHHNHILHKHHKHHHHHKHHKHHHHHHH"
  168. 10640 DATA"KONOOONHKNKONJKNKONHHNHHOOOKOOHHHHHH"
  169. 10650 DATA"HOHIOLKHNNHKNHKOOOOOONHKNHKNHKHHHHHH"
  170. 10660 DATA"OONOOONHKNHKOONOONNHKNHKOOOOONHHHHHH"
  171. 10670 DATA"KONOOONHKNHHNHHNHHNHHNHKOOOKONHHHHHH"
  172. 10680 DATA"OONOOONHKNHKNHKNHKNHKNHKOOOOONHHHHHH"
  173. 10690 DATA"OOOOOONHHNHHOOHOOHNHHNHHOOOOOOHHHHHH"
  174. 10700 DATA"OOOOOONHHNHHOOHOOHNHHNHHNHHNHHHHHHHH"
  175. 10710 DATA"KONOOONHKNHHNHHNIONIONHKOOOKONHHHHHH"
  176. 10720 DATA"NHKNHKNHKNHKOOOOOONHKNHKNHKNHKHHHHHH"
  177. 10730 DATA"OOAOOAILAILAILAILAILAILAOOAOOAHHAHHA"
  178. 10740 DATA"HHKHHKHHKHHKHHKHHKHHKNHKOOOKONHHHHHH"
  179. 10750 DATA"NHKNHNNILNKHOLHOLHNKHNILNHNNHKHHHHHH"
  180. 10760 DATA"NHHNHHNHHNHHNHHNHHNHHNHHOOOOOOHHHHHH"
  181. 10770 DATA"LHINHKOHOOMONOKNJKNHKNHKNHKNHKHHHHHH"
  182. 10780 DATA"LHKNHKOHKOLKNNKNKKNIONHONHKNHIHHHHHH"
  183. 10790 DATA"KONOOONHKNHKNHKNHKNHKNHKOOOKONHHHHHH"
  184. 10800 DATA"OONOOONHKNHKOOOOONNHHNHHNHHNHHHHHHHH"
  185. 10810 DATA"KONOOONHKNHKNHKNHKNIKNHOOONKOMHHHHHH"
  186. 10820 DATA"OONOOONHKNHKOOOOONNKHNILNHNNHKHHHHHH"
  187. 10830 DATA"KONOOONHKNHHOONKOOHHKNHKOOOKONHHHHHH"
  188. 10840 DATA"OOGOOGHNDHNDHNDHNDHNDHNDHNDHNDHHDHHD"
  189. 10850 DATA"NHKNHKNHKNHKNHKNHKNHKNHKOOOKONHHHHHH"
  190. 10860 DATA"NHKNHKNHKNHKNHKNHKKHNIMLHOHHJHHHHHHH"
  191. 10870 DATA"NHKNHKNHKNHKNHKNHKNJKNOKKMNIHLHHHHHH"
  192. 10880 DATA"LHINHKKHNIMLHOHHOHIMLKHNNHKLHIHHHHHH"
  193. 10890 DATA"NHGNHGNHGKIFIODHNDHNDHNDHNDHNDHHDHHD"
  194. 10900 DATA"OOOOOOHHNHILHKHHNHILHKHHOOOOOOHHHHHH"
  195. 10910 DATA"OAAOAANAANAANAANAANAANAAOAAOAAHAAHAA"
  196. 10920 DATA"NHHNHHKHHILHHNHHKHHILHHNHHKHHKHHHHHH"
  197. 10930 DATA"OAAOAAKAAKAAKAAKAAKAAKAAOAAOAAHAAHAA"
  198. 10940 DATA"ILAKNANKAHHAHHAHHAHHAHHAHHAHHAHHAHHA"
  199. 10950 DATA"HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHOOOOOO"
  200. 10960 DATA"GAAGAAGAADAADAADAADAADAADAADAADAADAA"
  201. 10970 DATA"HHDHHDKOFOOGHHGKOGOOGNHGOOGKOFHHDHHD"
  202. 10980 DATA"NHDNHDNHDNHDOOFOOGNHGNHGOOGOOFHHDHHD"
  203. 10990 DATA"HHDHHDHHDHHDKOGOOGNHDNHDOOGKOGHHDHHD"
  204. 11000 DATA"HHGHHGHHGHHGKOGOOGNHGNHGOOGKOGHHDHHD"
  205. 11010 DATA"HHDHHDKOFOOGNHGOOGOOGNHDOOGKOFHHDHHD"
  206. 11020 DATA"HOAIOAILAILAOOAOOAILAILAILAILAHHAHHA"
  207. 11030 DATA"HHDHHDHHDKOFOOGNHGNHGOOGKOGHHGKOGKOF"
  208. 11040 DATA"NHDNHDNHDNHDOOFOOGNHGNHGNHGNHGHHDHHD"
  209. 11050 DATA"ILAILAHHAOLAOLAILAILAILAOOAOOAHHAHHA"
  210. 11060 DATA"HICHICHHBIOCIOCHICHICHICHICNICOOCKOB"
  211. 11070 DATA"NHBNHBNICNKBNNBOLBOLBNNBNKBNICHHBHHB"
  212. 11080 DATA"OLAOLAILAILAILAILAILAILAOOAOOAHHAHHA"
  213. 11090 DATA"HHHHHHHHHHHHKHNOMONOKNJKNHKNHKHHHHHH"
  214. 11100 DATA"HHDHHDHHDHHDNOFOOGOHGNHGNHGNHGHHDHHD"
  215. 11110 DATA"HHDHHDHHDHHDKOFOOGNHGNHGOOGKOFHHDHHD"
  216. 11120 DATA"HHDHHDHHDHHDOOFOOGNHGNHGOOGOOFNHDNHD"
  217. 11130 DATA"HHDHHDHHDHHDKOGOOGNHGNHGOOGKOGHHGHHG"
  218. 11140 DATA"HHDHHDHHDHHDNOGOOGOHDNHDNHDNHDHHDHHD"
  219. 11150 DATA"HHDHHDKOGOOGNHDOOFKOGHHGOOGOOFHHDHHD"
  220. 11160 DATA"ILAILAOOAOOAILAILAILAILAIOAHOAHHAHHA"
  221. 11170 DATA"HHDHHDHHDHHDNHGNHGNHGNHGOOGKOFHHDHHD"
  222. 11180 DATA"HHHHHHHHHHHHNHKNHKKHNIMLHOHHJHHHHHHH"
  223. 11190 DATA"HHHHHHHHHHHHNHKNHKNJKNOKOMOKHNHHHHHH"
  224. 11200 DATA"HHBHHBHHBHHBNICKKBINBINBKKBNICHHBHHB"
  225. 11210 DATA"HHDHHDHHDHHDNHGNHGNHGOOGKOGHHGIOGIOF"
  226. 11220 DATA"HHDHHDHHDOOGOOGHIFHNDKHDOOGOOGHHDHHD"
  227. 11230 DATA"ICAKBAKBAKBANBANBAKBAKBAKBAICAHBAHBA"
  228. 11240 DATA"GAAGAAGAAGAAGAAGAAGAAGAAGAAGAADAADAA"
  229. 11250 DATA"NBAKBAKBAKBAICAICAKBAKBAKBANBAHBAHBA"
  230. 11260 DATA"KHEOOGLKFHHDHHDHHDHHDHHDHHDHHDHHDHHD"
  231.