home *** CD-ROM | disk | FTP | other *** search
/ 64'er Special 7 / 64er_Magazin_Sonderheft_07_86-07_1986_Markt__Technik_de_Side_A.d64 / invisible (.txt) < prev    next >
Commodore BASIC  |  2022-10-26  |  4KB  |  123 lines

  1. 63000 rem menue
  2. 63001 printchr$(147)chr$(5)chr$(14):poke53281,0:poke53280,0
  3. 63002 print""tab(2)"-- 1 --  ==> [196]oppelpunkte einfuegen."
  4. 63003 print""tab(2)"-- 2 --  ==> [196]oppelpunkte entfernen."
  5. 63004 print""tab(2)"-- 3 --  ==> [218]eilen unsichtbar machen"
  6. 63005 print""tab(2)"-- 4 --  ==> [218]eilen sichtbar machen."
  7. 63006 print""tab(2)"-- q --  ==> [197]nde !"
  8. 63007 a$="":geta$:ifa$=""then63007
  9. 63008 ifa$="q"thengoto63115
  10. 63009 z=val(a$):ifz<1orz>4thenrun63001
  11. 63010 ifz=3thenun=1:gosub63055
  12. 63011 ifz=4thenun=0:gosub63055
  13. 63012 ifz=1thengosub63016
  14. 63013 ifz=2thengosub63074
  15. 63014 un=2:goto63001
  16. 63015 rem doppelpunkte einfuegen
  17. 63016 by=2049:rem startadresse 1. zeile
  18. 63017 lb=peek(2051):hb=peek(2052):rem zeilennummer 1. zeile
  19. 63018 l2=peek(2049):h2=peek(2050):rem adresse naechste zeile
  20. 63019 poke49160,int(by/256):poke49159,by-int(by/256)*256
  21. 63020 poke49153,lb:poke49154,hb
  22. 63021 poke49155,l2:poke49156,h2
  23. 63022 ze=lb+256*hb:rem zeilennummer aus low- und highbyte
  24. 63023 ifze>62999then63051:rem test ob schutzprogramm erreicht
  25. 63024 bn=l2+256*h2:rem adresse naechste zeile
  26. 63025 ifbn-by>60thenprint"[147][218]eile"ze;"ist zu lang"
  27. 63026 ifbn-by>60thenprint"[212]aste !":poke198,0:wait198,1:poke198,0:by=bn:goto63045
  28. 63027 ifpeek(by+4)=58thenprint"[147][201]n";ze;"ist bereits ein [196]oppelpunkt !"
  29. 63028 ifpeek(by+4)=58thenprint"[212]aste !":poke198,0:wait198,1:poke198,0
  30. 63029 ifpeek(by+4)=58thenby=bn:goto63045
  31. 63030 print"[147]list";lb+256*hb:print"g[207]63032:":print"g[207]63032":print"g[207]63032"
  32. 63031 gosub63111:stop:rem cursor down bestimmen
  33. 63032 ifze>9999thenx=6:goto63038
  34. 63033 ifze>999thenx=5:goto63038
  35. 63034 ifze>99thenx=4:goto63038
  36. 63035 ifze>9thenx=3:goto63038
  37. 63036 ifze<=9thenx=2:goto63038
  38. 63037 rem ^ feststellen wieviel nach rechts wegen zeilennummer ^
  39. 63038 print"";
  40. 63039 fori=1tox:print"";:next
  41. 63040 print"[148][148][148][148][148]:::::":rem einfuegen doppelpunkte
  42. 63041 print"goto 63044:[145][145][145][145][145]"
  43. 63042 poke631,145:poke632,145:poke633,145:poke634,145:poke635,13
  44. 63043 poke636,17:poke637,17:poke638,17:poke639,17:poke640,13:poke198,10:stop
  45. 63044 by=peek(49155)+256*peek(49156)+5:rem adresse alte zeile aus lb und hb
  46. 63045 poke49159,by-int(by/256)*256:poke49160,int(by/256)
  47. 63046 l2=peek(by):h2=peek(by+1):rem adresse neue zeile low und highbyte
  48. 63047 poke49155,l2:poke49156,h2
  49. 63048 lb=peek(by+2):hb=peek(by+3):rem zeilennummer neue zeile low- und highbyte
  50. 63049 ze=lb+256*hb:rem zeilennummer neue zeile
  51. 63050 ifze<63000thengoto63024:rem schutzprogramm erreicht ?
  52. 63051 print"[147][197]ndzeile erreicht !"
  53. 63052 fori=1to1000:next:goto63001
  54. 63053 rem zeilen unsichtbar machen
  55. 63054 rem zeilen sichtbar machen
  56. 63055 print"[197]inen [205]oment !":by=2049
  57. 63056 lb=peek(2049):hb=peek(2050)
  58. 63057 ze=peek(2051)+256*peek(2052)
  59. 63058 ifze>62999thenreturn
  60. 63059 a=peek(by+4)
  61. 63060 b=peek(by+5)
  62. 63061 c=peek(by+6)
  63. 63062 d=peek(by+7)
  64. 63063 e=peek(by+8)
  65. 63064 f=peek(by+9):rem ^ erste 6 byte aus der eigentlichen zeile lesen ^
  66. 63065 ifun=1thenifa=58andb=58andc=58andd=58ande=58andf<>58thenpokeby+4,0
  67. 63066 ifun=0thenifa=0andb=58andc=58andd=58ande=58thenpokeby+4,58
  68. 63067 rem ^ test auf 5 doppelpunkte bzw auf 1. byte = 0 ^
  69. 63068 by=lb+256*hb:rem neue adresse
  70. 63069 ze=peek(by+2)+256*peek(by+3):rem neue zeilennummer
  71. 63070 ifze>62999thenreturn
  72. 63071 lb=peek(by):hb=peek(by+1):rem low- und highbyte adresse naechste zeile
  73. 63072 goto63059
  74. 63073 rem doppelpunkte entfernen
  75. 63074 print"[197]inen[205]oment bitte !":by=2049:rem adresse erste zeile
  76. 63075 lb=peek(2051):hb=peek(2052):rem lb und hb der nummer der naechsten zeile
  77. 63076 l2=peek(2049):h2=peek(2050):rem lb und hb der adresse der naechsten zeile
  78. 63077 poke49160,int(by/256):poke49159,by-int(by/256)*256
  79. 63078 poke49153,lb:poke49154,hb
  80. 63079 poke49155,l2:poke49156,h2
  81. 63080 ze=lb+256*hb:rem berechnen der zeilennummer
  82. 63081 ifze>62999then63108:rem test ob im schutzprogramm
  83. 63082 bn=l2+256*h2:rem adresse der naechsten zeile fuer laengenbestimmung
  84. 63083 fori=4to8:ifpeek(by+i)<>58thenprint"[147][201]n"ze"sind keine 5 [196]oppel";
  85. 63084 ifpeek(by+i)<>58thenprint"punkte":print"[212]aste"
  86. 63085 ifpeek(by+i)<>58thenpoke198,0:wait198,1:poke198,0
  87. 63086 ifpeek(by+i)<>58thenby=bn:goto63102
  88. 63087 nexti
  89. 63088 print"[147]list";lb+256*hb
  90. 63089 print"g[207]63090:":print"g[207]63090":print"g[207]63090":gosub63111:stop
  91. 63090 ifze>9999thenx=6:goto63095
  92. 63091 ifze>999thenx=5:goto63095
  93. 63092 ifze>99thenx=4:goto63095
  94. 63093 ifze>9thenx=3:goto63095
  95. 63094 ifze<=9thenx=2:goto63095:rem ^ bestimmen der zahl cursor rechts wegen zn
  96. 63095 print"";
  97. 63096 fori=1tox:print"";:next
  98. 63097 print"     ":rem doppelpunkte entfernen
  99. 63098 print"goto 63101:[145][145][145][145][145]"
  100. 63099 poke631,145:poke632,145:poke633,145:poke634,145:poke635,13
  101. 63100 poke636,17:poke637,17:poke638,17:poke639,17:poke640,13:poke198,10:stop
  102. 63101 by=peek(49155)+256*peek(49156)-5:rem adresse neue zeile
  103. 63102 poke49159,by-int(by/256)*256:poke49160,int(by/256)
  104. 63103 l2=peek(by):h2=peek(by+1):rem adresse naechste zeile
  105. 63104 poke49155,l2:poke49156,h2
  106. 63105 lb=peek(by+2):hb=peek(by+3):rem nummer aktuelle zeile
  107. 63106 ze=lb+256*hb:rem nummer berechnen
  108. 63107 ifze<63000thengoto63082
  109. 63108 print"[147][197]ndzeile erreicht !"
  110. 63109 fori=1to1000:next
  111. 63110 goto63001
  112. 63111 poke631,19:poke632,13:poke633,17
  113. 63112 poke634,13:poke198,4:stop
  114. 63113 rem ^ cursor mittels tastaturpuffer auf goto setzen ^
  115. 63114 rem loeschroutine
  116. 63115 ze=63000
  117. 63116 poke49165,int(ze/256):poke49166,ze-int(ze/256)*256
  118. 63117 print""ze:print"goto63119:"
  119. 63118 poke631,19:poke632,13:poke633,17:poke634,13:poke198,4:stop
  120. 63119 ze=peek(49166)+256*peek(49165):ze=ze+1:ifze<63117then63116
  121. 63120 print"[147]"ze:printze+1:printze+2:printze+3:printze+4:print"";
  122. 63121 poke631,13:poke632,13:poke633,13:poke634,13:poke635,13:poke198,5
  123.