home *** CD-ROM | disk | FTP | other *** search
/ 64'er 1988 January / 64er_Magazin_88-01_1988_Markt__Technik_de_Side_B.d64 / Master-Index (.txt) < prev    next >
Commodore BASIC  |  2022-10-26  |  10KB  |  371 lines

  1. 10 rem **********************
  2. 20 rem **                  **
  3. 30 rem **    master-index  **
  4. 40 rem **                  **
  5. 50 rem **   by r.maetche   **
  6. 60 rem **                  **
  7. 70 rem **********************
  8. 80 rem
  9. 100 poke53280,0:poke53281,9:print"[147][158]"+chr$(14)
  10. 110 dimc$(4),c(5),ds(3,300),d2(3,300),sp$(9),lp$(14)
  11. 120 open15,8,15:fo=0
  12. 129 rem *** titel ***
  13. 130 print;"[147]           [172][162][162][162][162][162][162][162][162][162][162][162][162][162][162][187]"
  14. 140 print"           [161] [205][193][211][212][197][210]-[201][206][196][197][216] [161]"
  15. 150 print"           [188][146][162][162][162][162][162][162][162][162][162][162][162][162][162][162][190]"
  16. 155 print"           < [194]itte warten >"
  17. 159 rem *** such-programm in strings
  18. 160 fori=1to9
  19. 170 a=(i-1)*32:h=int(a/256):l=a-h*256
  20. 180 sp$(i)="m-w"+chr$(l)+chr$(h+5)+chr$(32)
  21. 190 forj=1to32:reada:sp$(i)=sp$(i)+chr$(a):next:next:a=fre(0)
  22. 199 rem *** loesch-programm in strings
  23. 200 fori=1to14
  24. 210 a=(i-1)*32:h=int(a/256):l=a-h*256
  25. 220 lp$(i)="m-w"+chr$(l)+chr$(h+5)+chr$(32)
  26. 230 forj=1to32:reada:lp$(i)=lp$(i)+chr$(a):next:next:a=fre(0)
  27. 239 rem *** letzten titel holen
  28. 240 nb=0
  29. 250 open2,8,2,"titel,s,r"
  30. 260 gosub9300:ife<>0thenclose2:return
  31. 270 input#2,bn$:nb=nb+1
  32. 280 ifst=0then270
  33. 290 close2
  34. 599 rem **** menue *****
  35. 600 print"[147]     [205]enue"
  36. 605 ed=0
  37. 610 print" 1 = [218]eitschrift auswaehlen"
  38. 620 print" 2 = ";bn$;"-[193]rtikel hinzufuegen"
  39. 630 print" 3 = [193]rtikel suchen"
  40. 640 print" 4 = [201]n gefundenen [193]rtikeln suchen"
  41. 650 print" 5 = [199]efundene [193]rtikel zeigen"
  42. 660 print" 6 = [199]efundene [193]rtikel drucken"
  43. 670 print" 7 = [199]efundene [193]rtikel loeschen"
  44. 675 print" 8 = [199]efundenen [193]rtikel aendern"
  45. 680 print" 9 = [208]rogramm beenden"
  46. 690 print" [194]itte waehlen":a=fre(0)
  47. 700 geta$:ifa$=""then700
  48. 710 ifa$<>"2"thenclose2:fo=0
  49. 720 ifa$="1"then1000
  50. 730 ifa$="2"then2000
  51. 740 ifa$="3"thens2=0:goto3000
  52. 750 ifa$="4"then5000
  53. 760 ifa$="5"thenpr=0:goto4000
  54. 770 ifa$="7"then6000
  55. 780 ifa$="6"thenpr=1:goto4000
  56. 785 ifa$="8"then7000
  57. 790 ifa$="9"thenclose2:close15:end
  58. 800 goto700
  59. 999 rem *** zeitschrift waehlen
  60. 1000 nb=0
  61. 1010 print"[147]   [194]itte [218]eitschrift auswaehlen"
  62. 1020 aa$="":input"  [218]eitschrift:";aa$
  63. 1030 nb=0:remanzahlzeitschriften
  64. 1040 open2,8,2,"titel,s,r"
  65. 1050 gosub9300:ife<>0thenclose2:goto600
  66. 1060 input#2,bn$
  67. 1070 nb=nb+1
  68. 1080 ifbn$=aa$thenclose2:goto600
  69. 1090 ifst=0then1060
  70. 1100 rem *** dateiende,titel nicht gef.
  71. 1110 close2
  72. 1120 print"  [218]eitschrift nicht gefunden"
  73. 1130 input"  [206]eu anlegen (j/n)";a$
  74. 1140 if(a$<>"j")and(a$<>"[202]")then600
  75. 1150 open2,8,2,"titel,s,a"
  76. 1160 gosub9300:ife<>0thenclose2:goto600
  77. 1170 print#2,aa$
  78. 1180 close2
  79. 1190 nb=nb+1
  80. 1200 print" ";aa$;" neu angelegt ([218]eitschrift";nb;")"
  81. 1210 fori=1to2000:next:goto600
  82. 1999 rem *** artikel anfuegen
  83. 2000 iffo=0thenopen2,8,2,"stext,s,a":fo=1
  84. 2010 gosub9300:ife<>0thenclose2:fo=0:goto600
  85. 2020 print"[147]   [193]rtikel anfuegen"
  86. 2029 rem *** texteingabe
  87. 2030 print"   [212]itel eingeben ,[197]nde = <[210][197][212][213][210][206]>"
  88. 2040 ar$=""
  89. 2050 geta$:ifa$=""thenprint"[175][157]";:goto2050
  90. 2060 ifa$=chr$(20)then2130
  91. 2070 ifa$=chr$(13)then2180
  92. 2080 if(a$<" ")or((a$>chr$(127))and(a$<chr$(160)))or(a$>chr$(233))then2050
  93. 2090 ifa$=chr$(34)then2050:remsonstfehler
  94. 2100 ar$=ar$+a$
  95. 2110 iflen(ar$)>239thenar$=left$(ar$,239):goto2050
  96. 2120 printa$;:goto2050
  97. 2129 rem *** delete
  98. 2130 iflen(ar$)=0then2050
  99. 2140 ar$=left$(ar$,len(ar$)-1)
  100. 2150 print" [157][157] [157]";
  101. 2160 goto2050
  102. 2170 rem *** suchtextende
  103. 2180 print" "
  104. 2190 print#2,ar$;
  105. 2200 b=int(nb/256):a=nb-b*256
  106. 2210 print:print"   ";bn$
  107. 2215 ifed=1thenprinttab(16)an:print"[145]";
  108. 2220 input"   [193]usgabe [206]r.";an
  109. 2230 if(an<0)or(an>255)then2220
  110. 2235 ifed=1thenprinttab(10)s:print"[145]";
  111. 2240 input"   [211]eite";s
  112. 2250 if(s<0)or(s>32767)then2240
  113. 2260 d=int(s/256):c=s-d*256
  114. 2270 print#2,chr$(0);chr$(a);chr$(b);chr$(an);chr$(c);chr$(d);
  115. 2280 ifed=1thengoto7070
  116. 2290 goto600
  117. 2998 rem *** artikel suchen
  118. 2999 rem *** datenfile oeffnen
  119. 3000 open2,8,2,"#0":rem$0300
  120. 3010 print#15,"b-r"2;0;17;0
  121. 3020 gosub9300:ife<>0thenclose2:goto600
  122. 3030 rem *** rueckmeldungs-buffer oeffnen
  123. 3040 open3,8,3,"#1"
  124. 3050 gosub9300:ife<>0thenclose3:goto600
  125. 3060 print"[147]   [193]rtikel suchen"
  126. 3070 gosub9000:remsuch-programm
  127. 3080 rem *** suchstring uebertragen
  128. 3085 s$=""
  129. 3090 input"  [211]tichwort:";s$:ifs$=""thenclose3:goto600
  130. 3100 s1$=s$:s$="":fori=1tolen(s1$)
  131. 3110 ifmid$(s1$,i,1)=chr$(160)thens$=s$+chr$(32):goto3130
  132. 3120 s$=s$+mid$(s1$,i,1)
  133. 3130 next:rem * shift-space->space
  134. 3140 print#15,"m-w";chr$(160);chr$(4);chr$(len(s$)+1);s$;chr$(0):rem$04a0
  135. 3150 rem *** programm starten
  136. 3160 print#15,"m-w";chr$(0);chr$(4);chr$(1);chr$(0):reminit-command
  137. 3170 nf=0:remanzahlgefundenerartikel
  138. 3180 dp=1:remdatensatz-pointer
  139. 3190 print#15,"uc"
  140. 3200 rem *** daten lesen
  141. 3210 print#15,"b-p";3,1
  142. 3220 get#3,c$(1),c$(2),c$(3),c$(4)
  143. 3230 fori=1to4
  144. 3240 ifc$(i)=""thenc$(i)=chr$(0)
  145. 3250 c(i)=asc(c$(i))
  146. 3260 next
  147. 3270 ifc(4)<>0then3400:remendeoderfehler
  148. 3280 fori=1to3:ds(i,dp)=c(i):next
  149. 3290 dp=dp+1:nf=nf+1
  150. 3300 ifdp<3then3340
  151. 3310 rem *** doppeleintraege loeschen
  152. 3320 if(c(1)<>ds(1,dp-2))or(c(2)<>ds(2,dp-2))or(c(3)<>ds(3,dp-2))then3340
  153. 3330 dp=dp-1:nf=nf-1
  154. 3340 ifdp>200then3400
  155. 3350 rem *** weitere daten anfordern
  156. 3360 print#15,"m-w";chr$(0);chr$(4);chr$(1);chr$(1):remweiter-command
  157. 3370 print#15,"uc"
  158. 3380 goto3210
  159. 3390 rem *** ende der datei
  160. 3400 close3:close2
  161. 3410 ifc(4)<>99thenprint" [196][195]-[197]rrorcode:";c(4):goto3470
  162. 3420 ifs2=1then5100
  163. 3430 print"  '";s$;"'";
  164. 3440 ifnf=0thenprint" nicht";
  165. 3450 ifnf<>0thenprintnf;"mal";
  166. 3460 print" gefunden"
  167. 3470 print"  [212]aste druecken"
  168. 3480 poke198,0:wait198,1:poke198,0:goto600
  169. 3999 rem *** gefundene artikel zeigen
  170. 4000 ifpr=0thenprint"[147]  [199]efundene [193]rtikel zeigen"
  171. 4010 ifpr=1thenprint"[147]  [199]efundene [193]rtikel drucken"
  172. 4020 ifnf=0thenprint"  [203]eine [193]rtikel":fori=1to2000:next:goto600
  173. 4030 ifpr=0thenopen4,3
  174. 4040 ifpr=1thenopen4,4,10:print#4
  175. 4050 fori=1tonf
  176. 4055 open3,8,3,"#0"
  177. 4060 gosub9300:ife<>0thenclose3:goto600
  178. 4070 print#15,"b-r";3;0;ds(1,i);ds(2,i)
  179. 4080 close3
  180. 4090 print#15,"m-w";chr$(0);chr$(4);chr$(1);chr$(ds(3,i))
  181. 4100 print#15,"uc"
  182. 4110 open3,8,3,"#1"
  183. 4120 gosub9300:ife<>0thenclose3:goto600
  184. 4130 print#15,"b-p";3;0
  185. 4135 ar$=""
  186. 4140 get#3,a$
  187. 4150 ifa$<>""thenar$=ar$+a$:goto4140
  188. 4155 ifed<>1thenprint#4,ar$;
  189. 4160 rem *** endmarke gefunden
  190. 4170 forj=1to5
  191. 4180 get#3,a$:ifa$=""thena$=chr$(0)
  192. 4190 c(j)=asc(a$)
  193. 4200 next
  194. 4210 close3
  195. 4220 nb=256*c(2)+c(1):s=256*c(5)+c(4):an=c(3)
  196. 4225 ifed=1then7020
  197. 4230 open3,8,3,"titel,s,r"
  198. 4240 gosub9300:ife<>0thenclose3:goto600
  199. 4250 gosub9000
  200. 4260 forj=1tonb
  201. 4270 input#3,a$
  202. 4280 next
  203. 4290 print#4:print#4:print#4:print#4," ";a$:print#4," [193]usgabe";an
  204. 4295 print#4," [211]eite";s
  205. 4300 print#4:print#4:ifpr=0thenprint"  [212]aste druecken"
  206. 4310 close3
  207. 4320 ifpr=0thenpoke198,0:wait198,1:poke198,0
  208. 4330 ifpr=0thenprint"[147]"
  209. 4340 next:close4:goto600
  210. 4999 rem *** suchen in datensaetzen
  211. 5000 print"[147]  [201]n gefundenen [193]rtikeln suchen"
  212. 5010 ifnf=0then4020
  213. 5020 print"  [194]earbeite [193]rtikel:"
  214. 5030 fori=1tonf
  215. 5040 printtab(21)"[145]";i;"    "
  216. 5050 d2(1,i)=ds(1,i):d2(2,i)=ds(2,i):d2(3,i)=ds(3,i)
  217. 5060 next
  218. 5070 n2=nf
  219. 5080 s2=1
  220. 5090 goto3000
  221. 5100 rem *** 2.suchen beendet
  222. 5110 n1=nf:s2=0
  223. 5120 k=1:nf=0
  224. 5130 print"  [214]ergleiche [193]rtikel:"
  225. 5140 fori=1ton2
  226. 5150 ifn1=0then5190
  227. 5160 ifd2(1,i)<>ds(1,k)then5210
  228. 5170 ifd2(2,i)<>ds(2,k)then5210
  229. 5180 ifd2(3,i)<>ds(3,k)then5210
  230. 5190 nf=nf+1
  231. 5200 ds(1,nf)=d2(1,i):ds(2,nf)=d2(2,i):ds(3,nf)=d2(3,i)
  232. 5210 next
  233. 5220 k=k+1
  234. 5230 printtab(22)"[145]";k;"    "
  235. 5240 ifk<=n1then5140
  236. 5250 ifn1=0thenprint"  '";s$;"' nicht gefunden":goto3470
  237. 5260 goto3430
  238. 5999 rem *** gef.artikel loeschen
  239. 6000 print"[147]  [199]efundene [193]rtikel loeschen"
  240. 6010 ifnf=0thenprint"  [203]eine [193]rtikel":fori=1to2000:next:goto600
  241. 6020 w$=" werden "
  242. 6030 ifnf=1thenw$=" wird "
  243. 6040 print" ";nf;"[193]rtikel";w$;"geloescht"
  244. 6050 input"  [211]icher (j/n)";a$
  245. 6060 if(a$<>"j")and(a$<>"[202]")then600
  246. 6070 gosub9100:rem loeschprogramm
  247. 6080 print"  [204]oesche [193]rtikel:"
  248. 6090 fori=nfto1step-1
  249. 6100 print#15,"m-w";chr$(0);chr$(4);chr$(2);chr$(ds(1,i));chr$(ds(2,i))
  250. 6110 print#15,"m-w";chr$(2);chr$(4);chr$(1);chr$(ds(3,i))
  251. 6120 ifed<>1thenprinttab(20);"[145]";nf-i+1;"    "
  252. 6130 print#15,"uc"
  253. 6140 print#15,"m-r";chr$(0);chr$(4)
  254. 6150 get#15,a$:ifa$=""thena$=chr$(0)
  255. 6160 ifa$<>chr$(0)thenprint"  [196][195]-[197]rrorcode:";asc(a$);"[145][145][145]"
  256. 6165 ifed=1then6180
  257. 6170 next
  258. 6180 rem *** bam korrigieren
  259. 6190 print#15,"v"
  260. 6200 gosub9300:ife<>0then600
  261. 6210 rem *** blockzahl korrigieren
  262. 6220 open2,8,2,"stext,s,a"
  263. 6230 close2
  264. 6240 nf=0:goto600
  265. 6999 rem *** artikel aendern
  266. 7000 ifnf=0thenprint"[147]  [203]ein [193]rtikel"
  267. 7002 ifnf>1thenprint"[147]  [193]endern nur moeglich bei einem [193]rtikel"
  268. 7003 ifnf<>1thenfori=1to2000:next:goto600
  269. 7005 ed=1:i=1
  270. 7010 goto4055:rem artikel holen
  271. 7020 open2,8,2,"stext,s,a":fo=1
  272. 7030 gosub9300:ife<>0thenclose2:fo=0:goto600
  273. 7040 print"[147]   [193]rtikel aendern"
  274. 7050 print"   [212]itel aendern, [197]nde = <[210][197][212][213][210][206]>"
  275. 7060 printar$;:goto2050:rem neuer artikel
  276. 7070 close2:fo=0:gosub9100
  277. 7080 i=1:goto6100:rem alten artikel loeschen
  278. 8999 rem *** dc-suchprogramm uebertragen
  279. 9000 fork=1to9
  280. 9010 print#15,sp$(k)
  281. 9020 next
  282. 9030 return
  283. 9099 rem *** dc-loeschprogramm uebertragen
  284. 9100 fork=1to14
  285. 9110 print#15,lp$(k)
  286. 9120 next
  287. 9130 return
  288. 9300 rem *** error-test
  289. 9310 input#15,a$,b$,c$,d$
  290. 9320 e=val(a$):ife=0thenreturn
  291. 9330 print:print" [196]isk-[197]rror:":print" ";e;" ";b$;" ";c$;" ";d$
  292. 9340 print" [212]aste druecken"
  293. 9350 poke198,0:wait198,1:poke198,0
  294. 9360 return
  295. 9999 rem *** datas fuer such programm
  296. 10000 data169,0,141,4,4,172,0,4,240,9
  297. 10010 data136,240,3,76,154,5,76,136,5,162
  298. 10020 data0,189,160,4,240,3,232,208,248,142
  299. 10030 data33,6,160,2,162,0,165,6,141,1
  300. 10040 data4,165,7,141,2,4,140,3,4,169
  301. 10050 data0,141,4,4,185,0,3,240,29,221
  302. 10060 data160,4,240,14,162,0,200,208,241,32
  303. 10070 data208,5,176,58,160,2,208,232,232,236
  304. 10080 data33,6,208,238,140,34,6,96,152,24
  305. 10090 data105,6,168,144,7,32,208,5,176,32
  306. 10100 data200,200,162,0,165,6,141,1,4,165
  307. 10110 data7,141,2,4,140,3,4,173,0,3
  308. 10120 data208,188,204,1,3,144,183,169,99,141
  309. 10130 data4,4,140,34,6,96,162,0,172,34
  310. 10140 data6,200,208,166,32,208,5,176,239,200
  311. 10150 data200,76,54,5,172,0,4,162,0,185
  312. 10160 data0,3,157,0,4,240,13,232,200,208
  313. 10170 data244,32,208,5,176,212,160,2,208,235
  314. 10180 data169,6,141,34,6,208,6,185,0,3
  315. 10190 data157,0,4,232,200,208,5,32,208,5
  316. 10200 data160,2,206,34,6,208,236,96,169,5
  317. 10210 data141,31,6,173,0,3,240,30,133,6
  318. 10220 data173,1,3,133,7,169,128,133,0,165
  319. 10230 data0,48,252,201,1,240,16,141,32,6
  320. 10240 data32,255,5,176,236,173,32,6,141,4
  321. 10250 data4,56,96,24,96,138,72,162,3,173
  322. 10260 data32,6,221,27,6,240,7,202,16,248
  323. 10270 data104,170,24,96,206,31,6,240,247,104
  324. 10280 data170,56,96,5,7,9,16,0
  325. 10999 rem *** datas fuer loesch programm
  326. 11000 data173,0,4,174,1,4,172,2,4,140
  327. 11010 data162,6,133,6,134,7,169,5,141,163
  328. 11020 data6,169,0,141,165,6,141,166,6,141
  329. 11030 data167,6,173,0,28,9,8,141,0,28
  330. 11040 data169,128,133,0,165,0,48,252,201,1
  331. 11050 data240,10,141,164,6,32,48,6,144,50
  332. 11060 data176,234,32,76,6,173,0,3,208,6
  333. 11070 data173,1,3,141,165,6,162,2,189,0
  334. 11080 data3,157,0,4,232,208,247,172,162,6
  335. 11090 data185,0,3,240,22,200,208,248,32,214
  336. 11100 data5,176,7,32,76,6,160,2,208,236
  337. 11110 data173,164,6,141,0,4,96,152,24,105
  338. 11120 data6,168,144,10,32,214,5,176,237,32
  339. 11130 data76,6,200,200,174,162,6,173,0,3
  340. 11140 data208,5,204,1,3,240,37,185,0,3
  341. 11150 data157,0,4,204,165,6,240,26,200,208
  342. 11160 data10,32,214,5,176,200,32,76,6,160
  343. 11170 data2,232,208,229,32,117,6,32,17,6
  344. 11180 data144,221,176,182,32,117,6,169,0,141
  345. 11190 data0,4,142,1,4,32,17,6,176,166
  346. 11200 data169,0,141,0,4,173,0,28,41,247
  347. 11210 data141,0,28,96,169,5,141,163,6,173
  348. 11220 data0,3,240,42,133,6,173,1,3,133
  349. 11230 data7,169,128,133,0,165,0,48,252,201
  350. 11240 data1,208,13,173,0,3,208,6,173,1
  351. 11250 data3,141,165,6,24,96,141,164,6,32
  352. 11260 data48,6,176,211,56,96,169,99,141,164
  353. 11270 data6,56,96,169,5,141,163,6,169,144
  354. 11280 data133,1,165,1,48,252,201,1,208,4
  355. 11290 data162,2,24,96,141,164,6,32,48,6
  356. 11300 data176,232,56,96,138,72,162,3,173,164
  357. 11310 data6,221,158,6,240,7,202,16,248,104
  358. 11320 data170,24,96,206,163,6,240,247,104,170
  359. 11330 data56,96,138,72,174,166,6,165,6,157
  360. 11340 data168,6,232,165,7,157,168,6,232,173
  361. 11350 data0,3,157,168,6,173,1,3,157,169
  362. 11360 data6,224,6,208,2,162,0,142,166,6
  363. 11370 data104,170,96,138,72,174,167,6,189,168
  364. 11380 data6,133,8,232,189,168,6,133,9,232
  365. 11390 data189,168,6,141,0,4,189,169,6,141
  366. 11400 data1,4,224,6,208,2,162,0,142,167
  367. 11410 data6,104,170,96,5,7,9,16,0,0
  368. 11420 data0,0,0,0,0,0,0,0,0,0
  369. 11430 data0,0,0,0,0,0,0,0,0,0
  370. 11440 data0,0,0,0,0,0,0,0
  371.