home *** CD-ROM | disk | FTP | other *** search
/ 64'er 1993 July / 64er_Magazin_93-07_1993_Markt__Technik_de_Side_A.d64 / demo (.txt) < prev    next >
Commodore BASIC  |  2022-10-26  |  7KB  |  289 lines

  1. 90 rem ********************************
  2. 91 rem *      demo zu menubasic       *
  3. 92 rem ********************************
  4. 93 rem * (w) 21.3.93 by matthias wenk *
  5. 94 rem ********************************
  6. 95 rem
  7. 96 rem *****************
  8. 97 rem *** titelbild ***
  9. 98 rem *****************
  10. 99 rem
  11. 100 print"[147]":init
  12. 110 fori=0to12
  13. 120 fill160,i,i,25-i*2,40-i*2,i
  14. 130 next
  15. 140 fori=0to11
  16. 150 box160,i+1,i+1,3,11,0
  17. 160 box160,i,i,3,11,15
  18. 170 texti+1,i+1,1,10,15,"menubasic"
  19. 180 fora=0to50:next
  20. 190 ifi<11then:decover:decover
  21. 200 next
  22. 210 fori=3to0step-1
  23. 220 forj=8to0step-1
  24. 230 box160,19+i,j,1,1,peek(56056+40*i+j)
  25. 240 next
  26. 250 next
  27. 260 a$(1)="(w) 1993 by       "
  28. 270 a$(2)="matthias wenk     "
  29. 280 a$(3)="hagenbuchstr. 43  "
  30. 290 a$(4)="ch-9000 st. gallen"
  31. 300 fori=1to4
  32. 310 forj=0to9
  33. 320 text18+i,j,1,20,13,a$(i)
  34. 330 ifj<9then:decover
  35. 340 next
  36. 350 next
  37. 500 a=0:poke198,0
  38. 510 text24,5,1,31,aand15,"bitte druecken sie eine taste!"
  39. 520 ifpeek(198)=0thena=a+1:goto510
  40. 521 rem
  41. 522 rem *******************************
  42. 523 rem          hauptprogramm
  43. 524 rem *******************************
  44. 525 rem
  45. 526 rem *********************
  46. 527 rem *** menu ausgeben ***
  47. 528 rem *********************
  48. 529 rem
  49. 530 poke198,0:print"[147]":init
  50. 540 a$="menu":b$="box":c$="icon":d$="tastdef":e$="fill":f$="trans":g$="text"
  51. 550 h$="__"
  52. 560 menu1,0,0,4,a$,1000,b$,2000,c$,3000,d$,4000,e$,5000,f$,6000,g$,7000,h$,8000
  53. 570 fill160,9,9,12,22,10
  54. 580 a$="willkommen zur demo von menubasic! bitte waehlen sie einen menupunkt!"
  55. 590 gosub60000
  56. 600 release50,24
  57. 991 rem
  58. 992 rem *******************************
  59. 993 rem           menupunkte
  60. 994 rem *******************************
  61. 995 rem
  62. 996 rem **************
  63. 997 rem *** 'menu' ***
  64. 998 rem **************
  65. 999 rem
  66. 1000 a$="menupunkt "
  67. 1010 menu0,1,0,3,a$+"1",1100,a$+"2",1200,a$+"3",1300
  68. 1020 release58,24
  69. 1100 a$="menupunkt "
  70. 1110 menu0,1,11,1,a$+"1.1",1150,a$+"1.2",1160,a$+"1.3",1170,a$+"1.4",1180
  71. 1120 release58,112
  72. 1150 a$="1.1":goto1190
  73. 1160 a$="1.2":goto1190
  74. 1170 a$="1.3":goto1190
  75. 1180 a$="1.4"
  76. 1190 a$="sie haben menupunkt "+a$+" gewaehlt!"
  77. 1195 gosub60000
  78. 1197 delmenu:delmenu:goto62000
  79. 1200 menu1,2,11,1,"bitte anklicken!",1250
  80. 1210 a$="das passiert, wenn sie ein horizontales untermenu ausgeben! "
  81. 1220 a$=a$+"sie koennen es nur durch anklicken verlassen!"
  82. 1230 gosub60000
  83. 1240 release66,112
  84. 1250 delmenu:delmenu:goto62000
  85. 1300 fori=3to9
  86. 1310 menu0,i,11,1,"menupunkt "+str$(i-2),1350
  87. 1320 next
  88. 1330 a$="ein mit 'for-next' ausgegebenes menu"
  89. 1340 gosub60000:release122,112
  90. 1350 delmenu:goto62000
  91. 1995 rem
  92. 1996 rem *************
  93. 1997 rem *** 'box' ***
  94. 1998 rem *************
  95. 1999 rem
  96. 2000 a$="mit 'box' ist es moeglich, beliebig grosse bereiche mit einem zeichen"
  97. 2010 a$=a$+" zu fuellen. im speicher haben bis zu 4 ganze bildschirme ..."
  98. 2020 gosub60000
  99. 2030 gosub61000
  100. 2040 fori=0to3
  101. 2050 box160,0,0,25,40,i
  102. 2055 forj=1to100:next
  103. 2060 next
  104. 2070 gosub61000
  105. 2080 fori=0to3
  106. 2090 decover
  107. 2095 forj=1to100:next
  108. 2100 next
  109. 2110 a$="oder 39 10x10-felder platz:"
  110. 2120 gosub60000
  111. 2130 gosub61000
  112. 2140 fori=1to3
  113. 2150 forj=1to13
  114. 2160 box160,i*2,j*2+i,10,10,i+j
  115. 2170 next:next
  116. 2180 gosub61000
  117. 2190 fori=0to38
  118. 2200 decover
  119. 2210 next
  120. 2220 goto62000
  121. 2995 rem
  122. 2996 rem **************
  123. 2997 rem *** 'icon' ***
  124. 2998 rem **************
  125. 2999 rem
  126. 3000 a$="icons sind so einfach wie menus!"
  127. 3010 gosub60000
  128. 3020 icon0,0,25,40,3200
  129. 3030 fori=0to3
  130. 3040 box160,3,i*10+2,3,7,0
  131. 3050 box160,2,i*10+1,3,7,5
  132. 3060 text3,i*10+2,1,6,5,"icon"+str$(i+1)
  133. 3070 icon2,i*10+1,3,7,3300+i*100
  134. 3080 next
  135. 3090 box160,22,12,3,8,0
  136. 3100 box160,21,11,3,8,3
  137. 3110 text22,12,1,7,3,"weiter"
  138. 3120 icon21,11,3,8,3700
  139. 3130 goto62000
  140. 3200 a$="wieso klicken sie hier?"
  141. 3210 gosub60000
  142. 3220 goto62000
  143. 3300 a$="das war icon 1"
  144. 3310 gosub60000
  145. 3320 goto62000
  146. 3400 a$="das war icon 2"
  147. 3410 gosub60000
  148. 3420 goto62000
  149. 3500 a$="das war icon 3"
  150. 3510 gosub60000
  151. 3520 goto62000
  152. 3600 a$="das war icon 4"
  153. 3610 gosub60000
  154. 3620 goto62000
  155. 3700 fori=0to9
  156. 3710 decover
  157. 3720 next
  158. 3730 fori=0to5
  159. 3740 delreg
  160. 3750 next
  161. 3760 goto62000
  162. 3995 rem
  163. 3996 rem *****************
  164. 3997 rem *** 'tastdef' ***
  165. 3998 rem *****************
  166. 3999 rem
  167. 4000 a$="'tastdef' eignet sich hervorragend fuer menus, dessen menupunkte mit ta
  168. 4010 a$[178]a$[170]"sten ausgewaehlt werden, die also ohne joystick auskommen (muessen)"
  169. 4020 [141]60000
  170. 4030 [141]61000
  171. 4040 b$[178]" menupunkt ":a$[178]""
  172. 4050 [129]i[178]1[164]8
  173. 4060 a$[178]a$[170]">"[170][199](i[170]64)[170]"<"[170]b$[170][196](i)[170][199](13)
  174. 4070 [130]
  175. 4080 a$[178]a$[170][199](13)[170]"taste"
  176. 4090 [141]60000
  177. 4100 tser[150]4200,0,255
  178. 4110 tast[150]65,4300,66,4310,67,4320,68,4330,69,4340,70,4350,71,4360,72,4370
  179. 4200 release0,0,19,16,1,1,1,a$
  180. 4300 a$[178]"1":[137]4400
  181. 4310 a$[178]"2":[137]4400
  182. 4320 a$[178]"3":[137]4400
  183. 4330 a$[178]"4":[137]4400
  184. 4340 a$[178]"5":[137]4400
  185. 4350 a$[178]"6":[137]4400
  186. 4360 a$[178]"7":[137]4400
  187. 4370 a$[178]"8"
  188. 4400 a$[178]"sie haben den menupunkt "[170]a$[170]" gewaehlt!"
  189. 4410 [141]60000
  190. 4420 tser[150]0,255,0
  191. 4430 release50,24
  192. 4995 [143]
  193. 4996 [143] **************
  194. 4997 [143] *** 'fill' ***
  195. 4998 [143] **************
  196. 4999 [143]
  197. 5000 a$[178]"mit dem fill-befehl geht zwar der hintergrund unter dem ausgefuellten"
  198. 5010 a$[178]a$[170]" rechteck verloren, dafuer ist er schneller und braucht keinen "
  199. 5020 a$[178]a$[170]"speicherplatz fuer den hintergrund."
  200. 5030 [141]60000
  201. 5040 [151]198,0
  202. 5100 a[178]a[170]1[175]15
  203. 5110 fill160,1,0,8,40,a
  204. 5120 fill160,9,0,12,9,a[170]1
  205. 5130 fill160,21,0,4,40,a[170]2
  206. 5140 fill160,9,31,12,9,a[170]3
  207. 5150 [139][194](198)[178].[137]5100
  208. 5160 [137]62000
  209. 5995 [143]
  210. 5996 [143] ***************
  211. 5997 [143] *** 'trans' ***
  212. 5998 [143] ***************
  213. 5999 [143]
  214. 6000 a$[178]"mit dem 'trans'-befehl kann man auch farbige und invertierte zeichen "
  215. 6020 a$[178]a$[170]"vom bildschirm in einen string kopieren und z.b. mit 'text' wieder"
  216. 6030 a$[178]a$[170]" ausgeben:"
  217. 6040 [141]60000
  218. 6050 [141]61000
  219. 6060 trans0,0,5,0,a$
  220. 6070 [129]i[178]1[164]8
  221. 6080 texti,i,1,6,4,a$
  222. 6090 [130]
  223. 6100 [129]i[178]21[164]24
  224. 6110 texti,i,1,6,4,a$
  225. 6120 [130]
  226. 6130 trans0,35,5,0,a$
  227. 6140 [129]i[178]1[164]8
  228. 6150 texti,35[171]i,1,6,4,a$
  229. 6160 [130]
  230. 6170 [129]i[178]21[164]24
  231. 6180 texti,35[171]i,1,6,4,a$
  232. 6190 [130]
  233. 6200 [137]62000
  234. 6995 [143]
  235. 6996 [143] **************
  236. 6997 [143] *** 'text' ***
  237. 6998 [143] **************
  238. 6999 [143]
  239. 7000 a$[178]"mit dem 'text'-befehl kann man fortlaufende texte einfach auf dem "
  240. 7010 a$[178]a$[170]"bildschirm ausgeben. zu lange woerter werden auf der naechsten "
  241. 7020 a$[178]a$[170]"zeile ausgegeben (wordwrapping)."
  242. 7030 [141]60000
  243. 7040 [141]61000
  244. 7050 a$[178]"texte koennen auch stopfclrasysrprintbdefiglist und inverswait sein. wenn der text zu l"
  245. 7060 a$[178]a$[170]"ang ist, wird die ausgabe abgebro- chen, um zu verhin- dern, dass "
  246. 7070 a$[178]a$[170]"eventuell eine bildschirmmaske ueberschrieben wird."
  247. 7080 [141]60000
  248. 7090 [137]62000
  249. 7995 [143]
  250. 7996 [143] *******************
  251. 7997 [143] *** '__' (ende) ***
  252. 7998 [143] *******************
  253. 7999 [143]
  254. 8000 init:[153]"load";:[128]
  255. 59991 [143]
  256. 59992 [143] *****************************
  257. 59993 [143]        unterprogramme
  258. 59994 [143] *****************************
  259. 59995 [143]
  260. 59996 [143] *****************************
  261. 59997 [143] *** text im feld ausgeben ***
  262. 59998 [143] *****************************
  263. 59999 [143]
  264. 60000 fill32,10,10,10,20,0
  265. 60010 text10,10,10,20,15,a$
  266. 60020 [142]
  267. 60994 [143]
  268. 60995 [143] ***************************
  269. 60996 [143] *** ok ausgeben und an- ***
  270. 60997 [143] ***   klicken lassen    ***
  271. 60998 [143] ***************************
  272. 60999 [143]
  273. 61000 box160,20,30,3,4,0
  274. 61010 box160,19,29,3,4,1
  275. 61020 menu1,20,30,1,"ok",61050
  276. 61030 ic[145]19,29,3,4,61050
  277. 61040 release210,264
  278. 61050 delmenu
  279. 61060 decover:decover
  280. 61070 [142]
  281. 61993 [143]
  282. 61994 [143] ***************************
  283. 61995 [143] *** pfeil einschalten,  ***
  284. 61996 [143] *** ohne seine position ***
  285. 61997 [143] ***    zu veraendern    ***
  286. 61998 [143] ***************************
  287. 61999 [143]
  288. 62000 release[194](53249),[194](53248)[170]256[172]([194](53264)[175]1)
  289.