home *** CD-ROM | disk | FTP | other *** search
/ Publication 17 / Publication_17_19xx_Civitas_de_Side_B.d64 / instructions! (.txt) < prev    next >
Commodore BASIC  |  2023-02-26  |  9KB  |  244 lines

  1. 0 goto3
  2. 1 _o1,21,38,3,3,0,0
  3. 2 _pm1$:_pm2$:_pm3$:_g:return
  4. 3 i=i+1:ifi<2thenload"spacecode",8,1
  5. 4 sys49152
  6. 8 goto10
  7. 9 poke198,0:wait198,1:return
  8. 10 _!0,0:_i:print"";
  9. 20 _o1,1,38,23,0,1,0
  10. 21 gosub5000
  11. 22 i=102:ifrnd(0)>.5theni=160
  12. 23 _fa0,0,39,20,i,11
  13. 30 _o3,2,15,6,3
  14. 90 rem ----------- menue
  15. 100 :
  16. 105 _o1,21,38,3,3,0
  17. 106 _p"[211]teuerung mit den [154][195]ursortasten und [154][210]eturn.":_g
  18. 110 _p"[194]efehle":_p"[213][211][210]-[198]unktion"
  19. 111 _p"[198]ehlermeldungen":_p"[195]opyright":_p"[196]irectory":_p"[197][206][196][197]!":_md
  20. 120 _fw0,9:_ma
  21. 210 c=usr(3)+1
  22. 220 oncgosub1000,4000,2000,3000,500,600
  23. 230 goto120
  24. 500 print"[153]";:_d2:return
  25. 600 _t:_s:end
  26. 1000 rem ----------"[194][197][198][197][200][204][197]
  27. 1001 _o1,4,13,15,10
  28. 1003 _p"sysright$nit":_p"(NULL)pen":_p"lenlose":_p"(NULL)oplevel":_p"chr$et":_p"(NULL)croll"
  29. 1004 _p"(NULL)rint":_p"(NULL)ey":_p"str$irectory":_p"ascrame":_p"ascill":_p"right$nvert"
  30. 1005 _p"(NULL)enuebefehle":_p"lenursor/ascarben":_p"(NULL)(NULL)(NULL)(NULL)vallen(NULL)!":_md
  31. 1008 _fw0,7:_ma
  32. 1009 b[178][183](3)[170]1
  33. 1010 [139]b[178]15[167]:_c:[142]
  34. 1011 [145]b[141]1030,1065,1150,1180,1210,1270,1310,1430,1480,1520,1600,1700,1800,1900
  35. 1013 [137]1008
  36. 1020 :
  37. 1021 [143] -----------"right$nit
  38. 1022 :
  39. 1030 m1$="[201]nit:":m2$="[153]_[201]":m3$="":gosub1
  40. 1032 _o4,6,31,7,5:_p"_[201]":_s
  41. 1040 _p"[149][193]lle bereits gespeicherten (bzw. geoeffneten) [198]enster werden "
  42. 1050 _p";vergessen. [196]er [211]peicher ab $d000 wird fuer [215]indows reserviert."
  43. 1060 gosub9:_c:return
  44. 1061 :
  45. 1062 rem -----------"[207]pen
  46. 1063 :
  47. 1065 m1$[178]"(NULL)pen:":m2$[178]"print_(NULL) x,y,xwidth,ywidth,farbe"
  48. 1066 m3$[178]"   [,speichern?[,loeschen?]]":[141]1
  49. 1067 _o5,7,31,13,5
  50. 1070 _p"_(NULL)"
  51. 1080 _p"verifyatnn der angegebenen (NULL)osition (der (NULL)unkt x/y liegt openinnerhalbverify des "
  52. 1090 _p";ascensters) wird ein ascenster geoeffnet, das xwidth (NULL)eichen breit und "
  53. 1100 _p";ywidth (NULL)eichen lang ist. (NULL)oll der betroffene peekildschirmbereich "
  54. 1110 _p";opennichtverify zwischengespeichert oder geloescht werden, dann gehoert an "
  55. 1120 _p";die entsprechende (NULL)telle eine 0, sonst eine 1. str$iese beiden (NULL)arameter "
  56. 1130 _p";sind optional."
  57. 1140 [141]9:_c:[142]
  58. 1145 :
  59. 1146 [143] --------------"lenlose
  60. 1147 :
  61. 1150 m1$="[195]lose:":m2$="[153]_[195]":m3$="":gosub1
  62. 1155 _o5,8,20,6,5:_p"_[195]":_s
  63. 1160 _p"[149][196]as zuletzt geoeffnete [198]enster verschwindet vom [194]ildschirm."
  64. 1170 gosub9:_c:return
  65. 1174 :
  66. 1175 rem ----------------"[212]oplevel
  67. 1176 :
  68. 1180 m1$[178]"(NULL)oplevel:":m2$[178]"print_(NULL)":m3$[178]"":[141]1
  69. 1185 _o4,9,15,6,6:_p"_(NULL)":_s
  70. 1190 _p"verifyatnlle gespeicherten ascenster werden geschlossen."
  71. 1200 [141]9:_c:[142]
  72. 1201 :
  73. 1202 [143] ----------------"chr$et
  74. 1203 :
  75. 1210 m1$="[199]et:":m2$="[153]_[199]":m3$="":gosub1
  76. 1215 _o5,10,31,10,7:_p"_[199]":_s
  77. 1220 _p"[149][196]ie [203]oordinaten des zuletzt gespeicherten [198]ensters werden geholt. "
  78. 1230 _p";[196]as ist dann nuetzlich, wenn man ein 'nicht gespeichertes' "
  79. 1240 _p";[198]enster verlassen und im zuvor geoeffneten "
  80. 1250 _p";'gespeicherten' etwas ausgeben will."
  81. 1260 gosub9:_c:return
  82. 1261 :
  83. 1262 rem -----------------"[211]croll
  84. 1263 :
  85. 1270 m1$[178]"(NULL)croll:":m2$[178]"print_(NULL)":m3$[178]"":[141]1
  86. 1275 _o3,11,20,6,5:_p"_(NULL)":_s
  87. 1280 _p"verifystr$er right$nhalt des aktuellen ascensters wird um eine (NULL)eile nach oben "
  88. 1290 _p";kopiert."
  89. 1300 [141]9:_c:[142]
  90. 1301 :
  91. 1302 [143] ---------------"(NULL)rint
  92. 1303 :
  93. 1310 m1$="[208]rint:":m2$="[153]_[208] string":m3$="":gosub1
  94. 1311 _o7,7,24,12,5:_p"_[208]":_s
  95. 1312 _p"[149][196]er [211]tring wird (mit [215]ortumbruch) in das [198]enster geschrieben, "
  96. 1313 _p";und zwar in die unterste [218]eile. [196]er restliche [201]nhalt des [198]ensters "
  97. 1314 _p";wird nach oben gerollt."
  98. 1320 _k
  99. 1330 _s:_s:_p"[218]wei [211]onderfaelle von _[208]:"
  100. 1340 _s:_p"[149]1.[201]st das erste [218]eichen des [211]trings ein [211]emikolon, so wird dort in "
  101. 1350 _p";der [218]eile fortgefahren, wo der [195]ursor steht. [196]as ist nuetzlich beim "
  102. 1360 _p";[211]chreiben von [212]exten, die nicht in eine [194]asic-[218]eile passen."
  103. 1370 _k:_s
  104. 1380 _p"2.[197]in ^ als erstes [218]eichen im [211]tring bedeutet, dass die [193]usgabe oben "
  105. 1390 _p";links beginnt und kein [215]ortumbruch stattfindet. [196]urch [211]teuerzeichen "
  106. 1400 _p";oder zu lange [212]exte kann man auch [194]ereiche ausserhalb des [198]ensters "
  107. 1410 _p";erreichen."
  108. 1420 gosub9:_c:return
  109. 1421 :
  110. 1422 rem ----------------"[203]ey
  111. 1423 :
  112. 1430 m1$[178]"(NULL)ey:":m2$[178]"print_(NULL) [x,y[,farbe]]":m3$[178]"":[141]1
  113. 1435 _o5,7,30,12,5:_p"_(NULL)":_s
  114. 1440 _p"verifystr$ieser peekefehl wartet auf einen (NULL)astendruck. (NULL)erden (NULL)arameter "
  115. 1450 _p";angegeben (x/y), dann erscheint an der abgegebenen (NULL)telle ein kleines "
  116. 1460 _p"ascenster mit der (NULL)achricht 'space' in lenursorfarbe. str$ie (NULL)oordinaten "
  117. 1465 _p";geben diesmal die linke, obere valcke des for(NULL)ahmensverify an."
  118. 1470 _k16,6:_c:[142]
  119. 1471 :
  120. 1472 [143] ----------------"str$irectory
  121. 1473 :
  122. 1480 m1$="[196]irectory:":m2$="[153]_[196] [farbe]":m3$="":gosub1
  123. 1485 _o11,12,25,7,5:_p"_[196]":_s
  124. 1490 _p"[149][201]n einem grossen [198]enster wird das [196]irectory angezeigt. [196]er "
  125. 1500 _p"[194]ildschirm sieht danach genauso aus wie vorher."
  126. 1510 _k:_c:return
  127. 1511 :
  128. 1512 rem ---------------"[198]rame
  129. 1513 :
  130. 1520 m1$[178]"ascrame:":m2$[178]"print_asc x1,y1,x2,y2[,farbe[,loeschen?]]":m3$[178]"":[141]1
  131. 1525 _o5,6,32,6,5:_p"_asc x1,y1,x2,y2,fa
  132. 1530 _s:_p"[149][197]s wird ein [210]ahmen auf den [194]ildschirm gezeichnet, der die "
  133. 1540 _p";[215]indoworganisation nicht beeinflusst."
  134. 1550 _k:_c:return
  135. 1551 :
  136. 1552 rem --------------"[198]ill
  137. 1553 :
  138. 1600 m1$[178]"ascillatnrea / ascill(NULL)indow":m2$[178]"print_ascatn x1,y1,x2,y2[,char[,color]]"
  139. 1601 m3$[178]"_asc(NULL) [char[,color]]":[141]1
  140. 1610 _o6,1,31,18,5
  141. 1620 _p"_ascatn / _asc(NULL)":_s
  142. 1630 _p"verifyascuellt einen bestimmten peekereich des peekildschirms mit dem "
  143. 1640 _p";(NULL)eichen forcharverify in der ascarbe forcolorverify. (NULL)enn als (NULL)eichencode '0' "
  144. 1645 _p";angegeben wird, dann werden lediglich die vorhandenen (NULL)eichen "
  145. 1650 _p";eingefaerbt. (NULL)m den peekereich mit lenode-0-(NULL)eichen ((NULL)lammeraffen) "
  146. 1655 _p";zu fuellen, muss zum ascarbcode 100 addiert werden "
  147. 1660 _p";(peekeispiel: _asc(NULL) 0,101 fuellt das aktuelle ascenster mit weissen "
  148. 1665 _p";(NULL)lammeraffen)."
  149. 1670 _p"(NULL)ird kein (NULL)eichen angegeben, so wid der peekereich mit (NULL)paces geloescht."
  150. 1680 _k:_c:[142]
  151. 1690 :
  152. 1691 [143] -----------------"right$nvert
  153. 1692 :
  154. 1700 m1$="[201]nvert[193]rea / [201]nvert[215]indow":m2$="[153]_[201][193] x1,y1,x2,y2":m3$="_[201][215]"
  155. 1701 gosub1
  156. 1710 _o5,8,16,6,8
  157. 1720 _p"_[201][193] / _[201][215]":_s
  158. 1725 _p"[149][196]er angegebene [194]ereich bzw. das aktuelle [198]enster wird invertiert."
  159. 1750 _k:_c:return
  160. 1790 :
  161. 1791 rem ----------------"[205]enuebefehle
  162. 1792 :
  163. 1800 m1$[178]"(NULL)enuestr$efinieren:   print_(NULL)str$ [zeile]"
  164. 1801 m2$[178]"(NULL)enuebalkenpeekewegen:print_(NULL)(NULL) [zeile]"
  165. 1802 m3$[178]"(NULL)enueatnutomatik:    print_(NULL)atn [zeile1,zeile2]"
  166. 1803 [141]1
  167. 1810 _o1,1,38,18,10
  168. 1820 _p"_(NULL)str$ / _(NULL)(NULL) / _(NULL)atn":_s
  169. 1822 _p"verify(NULL)m diese peekefehle anwenden zu koennen, muss ein ascenster geoeffnet "
  170. 1824 _p";sein. valin (vertikales) (NULL)enue programmiert man folgendermassen:":_s
  171. 1826 _p"(NULL)it for_(NULL)str$verify wird ein atnuswahlbalken erzeugt."
  172. 1828 _p"(NULL)er for_(NULL)(NULL)verify laesst dieser peekalken sich dann in die angegebene (NULL)eile "
  173. 1830 _p";innerhalb des ascensters bewegen.":_k:_s
  174. 1832 _p"ascuer die meisten (NULL)enues ist es nicht notwendig, die (NULL)astaturabfrage "
  175. 1834 _p"umstaendlich in peekasic zu programmieren. (NULL)tattdessen gibt man einfach "
  176. 1836 _p";nur noch _(NULL)str$ und for_(NULL)atnverify ein. str$ieser peekefehl bewirkt, dass sich der "
  177. 1838 _p";(NULL)enuebalken mit den lenursortasten steuern laesst (zeile1 & zeile2 = "
  178. 1839 _p";atnnfang & valnde des (NULL)enues). (NULL)obald dann (NULL)eturn gedrueckt wird, "
  179. 1840 _p";wird wieder zum peekasic zurueckgekehrt.":_s
  180. 1842 _p"str$ie aktuelle (NULL)eilennummer, in der sich der peekalken befindet..."
  181. 1844 _p"for*verify wird zwischengespeichert, wenn ein neues ascenster geoeffnet wird. "
  182. 1846 _p"for*verify kann per forvar=(NULL)(NULL)(NULL)(3)verify abgefragt werden. (NULL)berste (NULL)eile=(NULL)r.0."
  183. 1860 _k:_c:[142]
  184. 1897 :
  185. 1898 [143] ---------------"lenursor/ascarben
  186. 1899 :
  187. 1900 m1$="[211]et[195]ursor: [153]_' x,y"
  188. 1901 m2$="[211]et[195]olors: [153]_! hintergrund,rahmen":m3$="":gosub1
  189. 1910 _o3,10,15,6,4
  190. 1920 _p"_' / _!":_s
  191. 1930 _p"[196]iese [194]efehle erklaeren sich wohl von selbst.":_k:_c:return
  192. 2000 rem ---------"[198]ehler
  193. 2001 _o1,6,16,6,4
  194. 2002 _p"clr(NULL)(NULL) (NULL)right$(NULL)str$(NULL)(NULL) (NULL)(NULL)(NULL)(NULL)valstr$":_p"(NULL)(NULL)(NULL) (NULL)asc (NULL)val(NULL)(NULL)(NULL)(NULL)":_p"(NULL)(NULL)(NULL)str$ (NULL)(NULL)(NULL) (NULL)(NULL)(NULL)chr$"
  195. 2003 _p"(NULL)(NULL)(NULL)val (NULL)right$(NULL)(NULL)atn(NULL)lenleft$":_p"right$(NULL)(NULL)valchr$atn(NULL) (NULL)(NULL)atn(NULL)(NULL)right$(NULL)(NULL)":_p"(NULL)(NULL)(NULL)(NULL)atn(NULL)"
  196. 2004 _md:c[178]0:[137]2010
  197. 2005 [161]a$:[139]a$[178]""[176]a$[178]"cmd"[167]c[178]c[170]1
  198. 2006 [139]a$[178]"on"[176]a$[178]""[167]c[178]c[171]1
  199. 2007 [139]c[178][171]1[167]c[178]5
  200. 2008 [139]c[178]6[167]c[178]0
  201. 2009 [139]a$[178][199](13)[167]:_c:[142]
  202. 2010 _mmc
  203. 2011 [145]c[170]1[141]2030,2070,2110,2140,2180,2190:_k:_c:[137]2005
  204. 2030 _o19,6,20,6,9
  205. 2035 _p"^cmd_wait"
  206. 2040 _p"verifyvals wurde versucht, mit _len ein ascenster zu schliessen, obwohl "
  207. 2050 _p"keins mehr gespeichert ist."
  208. 2060 [142]
  209. 2070 _o19,7,20,5,9:_p"^cmd_wait"
  210. 2080 _p"verifyvals ist nicht mehr genug (NULL)peicherplatz fuer das zu oeffnende ascenster "
  211. 2090 _p";vorhanden."
  212. 2100 [142]
  213. 2110 _o19,8,20,3,9:_p"^cmd_wait"
  214. 2120 _p"verifyvalin (NULL)ort ist zu lang, um in das ascenster zu passen."
  215. 2130 [142]
  216. 2140 _o19,9,20,6,9:_p"^cmd_wait"
  217. 2150 _p"verify(NULL)it dem _(NULL)-peekefehl koennen nur (NULL)trings ausgegeben werden, (NULL)ahlen "
  218. 2160 _p";muessen mit (NULL)(NULL)(NULL)(x) umgeformt werden."
  219. 2170 [142]
  220. 2180 _o19,10,20,2,9:_p"^cmd_wait"
  221. 2181 _p"^cmd_wait":_p"verify(NULL)ie im normalen peekasic!":[142]
  222. 2190 _o19,11,20,2,9:[137]2181
  223. 3000 [143] ------------"lenopyright
  224. 3010 _o1,18,38,1,3
  225. 3020 _p"[144]    ([195]) by [205][207][210][197].[199][207][210][197] [211][207][198][212][215][193][210][197] 1993    "
  226. 3021 gosub3040:_fw0,11:gosub3040:_fw0,12:gosub3040:_fw0,15:gosub3040:_fw0,1
  227. 3022 _k
  228. 3023 gosub3040:_fw0,15:gosub3040:_fw0,12:gosub3040:_fw0,11:gosub3040:_fw0,0
  229. 3024 gosub3040:gosub3040
  230. 3030 _c:return
  231. 3040 fori=1to50:next:return
  232. 4000 rem -----------"[213][211][210]
  233. 4001 _o1,5,20,7,3
  234. 4010 _p"verify... 'var' entspricht einer (NULL)ariable. (NULL)atuerlich kann die ascunktion "
  235. 4020 _p";auch anderweitig verwendet werden, z.peek. '(NULL)(NULL)right$(NULL)(NULL) (NULL)(NULL)(NULL)(0)'"
  236. 4030 m1$[178]"printvar=(NULL)(NULL)(NULL)(0)   ascreier (NULL)indowspeicher"
  237. 4040 m2$[178]"printvar=(NULL)(NULL)(NULL)(1/2) akt. lenursorposition (x/y)"
  238. 4050 m3$[178]"printvar=(NULL)(NULL)(NULL)(3)   akt. (NULL)enuepunkt"
  239. 4060 [141]1:_k:_c:[142]
  240. 5000 _p"str$ies ist die atnnleitung fuer die peekasic-valrweiterung "
  241. 5001 _p";'(NULL)indow (NULL)ystem', die auf dieser str$iskette unter dem (NULL)amen "
  242. 5002 _p";'(NULL)(NULL)atnlenvallen(NULL)str$val' zu finden ist. atnktiviert wird sie mit '(NULL)(NULL)(NULL) 49152'!"
  243. 5003 _p"(NULL)atn(NULL)(NULL)val!":_s:_s:_s:_k:[142]
  244.