home *** CD-ROM | disk | FTP | other *** search
- 1 goto15000:rem neue disk herstellen
- 10 rem **********************
- 20 rem ** **
- 30 rem ** master-index **
- 40 rem ** **
- 50 rem ** by r.maetche **
- 60 rem ** **
- 70 rem **********************
- 80 rem
- 100 poke53280,0:poke53281,9:print"[147][158]"+chr$(14)
- 110 dimc$(4),c(5),ds(3,300),d2(3,300),sp$(9),lp$(14)
- 120 open15,8,15:fo=0
- 129 rem *** titel ***
- 130 print;"[147] [172][162][162][162][162][162][162][162][162][162][162][162][162][162][162][187]"
- 140 print" [161] [205][193][211][212][197][210]-[201][206][196][197][216] [161]"
- 150 print" [188][146][162][162][162][162][162][162][162][162][162][162][162][162][162][162][190]"
- 155 print" < [194]itte warten >"
- 159 rem *** such-programm in strings
- 160 fori=1to9
- 170 a=(i-1)*32:h=int(a/256):l=a-h*256
- 180 sp$(i)="m-w"+chr$(l)+chr$(h+5)+chr$(32)
- 190 forj=1to32:reada:sp$(i)=sp$(i)+chr$(a):next:next:a=fre(0)
- 199 rem *** loesch-programm in strings
- 200 fori=1to14
- 210 a=(i-1)*32:h=int(a/256):l=a-h*256
- 220 lp$(i)="m-w"+chr$(l)+chr$(h+5)+chr$(32)
- 230 forj=1to32:reada:lp$(i)=lp$(i)+chr$(a):next:next:a=fre(0)
- 239 rem *** letzten titel holen
- 240 nb=0
- 250 open2,8,2,"titel,s,r"
- 260 gosub9300:ife<>0thenclose2:return
- 270 input#2,bn$:nb=nb+1
- 280 ifst=0then270
- 290 close2
- 599 rem **** menue *****
- 600 print"[147] [205]enue"
- 605 ed=0
- 610 print" 1 = [218]eitschrift auswaehlen"
- 620 print" 2 = ";bn$;"-[193]rtikel hinzufuegen"
- 630 print" 3 = [193]rtikel suchen"
- 640 print" 4 = [201]n gefundenen [193]rtikeln suchen"
- 650 print" 5 = [199]efundene [193]rtikel zeigen"
- 660 print" 6 = [199]efundene [193]rtikel drucken"
- 670 print" 7 = [199]efundene [193]rtikel loeschen"
- 675 print" 8 = [199]efundenen [193]rtikel aendern"
- 680 print" 9 = [208]rogramm beenden"
- 690 print" [194]itte waehlen":a=fre(0)
- 700 geta$:ifa$=""then700
- 710 ifa$<>"2"thenclose2:fo=0
- 720 ifa$="1"then1000
- 730 ifa$="2"then2000
- 740 ifa$="3"thens2=0:goto3000
- 750 ifa$="4"then5000
- 760 ifa$="5"thenpr=0:goto4000
- 770 ifa$="7"then6000
- 780 ifa$="6"thenpr=1:goto4000
- 785 ifa$="8"then7000
- 790 ifa$="9"thenclose2:close15:end
- 800 goto700
- 999 rem *** zeitschrift waehlen
- 1000 nb=0
- 1010 print"[147] [194]itte [218]eitschrift auswaehlen"
- 1020 aa$="":input" [218]eitschrift:";aa$
- 1030 nb=0:remanzahlzeitschriften
- 1040 open2,8,2,"titel,s,r"
- 1050 gosub9300:ife<>0thenclose2:goto600
- 1060 input#2,bn$
- 1070 nb=nb+1
- 1080 ifbn$=aa$thenclose2:goto600
- 1090 ifst=0then1060
- 1100 rem *** dateiende,titel nicht gef.
- 1110 close2
- 1120 print" [218]eitschrift nicht gefunden"
- 1130 input" [206]eu anlegen (j/n)";a$
- 1140 if(a$<>"j")and(a$<>"[202]")then600
- 1150 open2,8,2,"titel,s,a"
- 1160 gosub9300:ife<>0thenclose2:goto600
- 1170 print#2,aa$
- 1180 close2
- 1190 nb=nb+1
- 1200 print" ";aa$;" neu angelegt ([218]eitschrift";nb;")"
- 1210 fori=1to2000:next:goto600
- 1999 rem *** artikel anfuegen
- 2000 iffo=0thenopen2,8,2,"stext,s,a":fo=1
- 2010 gosub9300:ife<>0thenclose2:fo=0:goto600
- 2020 print"[147] [193]rtikel anfuegen"
- 2029 rem *** texteingabe
- 2030 print" [212]itel eingeben ,[197]nde = <[210][197][212][213][210][206]>"
- 2040 ar$=""
- 2050 geta$:ifa$=""thenprint"[175][157]";:goto2050
- 2060 ifa$=chr$(20)then2130
- 2070 ifa$=chr$(13)then2180
- 2080 if(a$<" ")or((a$>chr$(127))and(a$<chr$(160)))or(a$>chr$(233))then2050
- 2090 ifa$=chr$(34)then2050:remsonstfehler
- 2100 ar$=ar$+a$
- 2110 iflen(ar$)>239thenar$=left$(ar$,239):goto2050
- 2120 printa$;:goto2050
- 2129 rem *** delete
- 2130 iflen(ar$)=0then2050
- 2140 ar$=left$(ar$,len(ar$)-1)
- 2150 print" [157][157] [157]";
- 2160 goto2050
- 2170 rem *** suchtextende
- 2180 print" "
- 2190 print#2,ar$;
- 2200 b=int(nb/256):a=nb-b*256
- 2210 print:print" ";bn$
- 2215 ifed=1thenprinttab(16)an:print"[145]";
- 2220 input" [193]usgabe [206]r.";an
- 2230 if(an<0)or(an>255)then2220
- 2235 ifed=1thenprinttab(10)s:print"[145]";
- 2240 input" [211]eite";s
- 2250 if(s<0)or(s>32767)then2240
- 2260 d=int(s/256):c=s-d*256
- 2270 print#2,chr$(0);chr$(a);chr$(b);chr$(an);chr$(c);chr$(d);
- 2280 ifed=1thengoto7070
- 2290 goto600
- 2998 rem *** artikel suchen
- 2999 rem *** datenfile oeffnen
- 3000 open2,8,2,"#0":rem$0300
- 3010 print#15,"b-r"2;0;17;0
- 3020 gosub9300:ife<>0thenclose2:goto600
- 3030 rem *** rueckmeldungs-buffer oeffnen
- 3040 open3,8,3,"#1"
- 3050 gosub9300:ife<>0thenclose3:goto600
- 3060 print"[147] [193]rtikel suchen"
- 3070 gosub9000:remsuch-programm
- 3080 rem *** suchstring uebertragen
- 3085 s$=""
- 3090 input" [211]tichwort:";s$:ifs$=""thenclose3:goto600
- 3100 s1$=s$:s$="":fori=1tolen(s1$)
- 3110 ifmid$(s1$,i,1)=chr$(160)thens$=s$+chr$(32):goto3130
- 3120 s$=s$+mid$(s1$,i,1)
- 3130 next:rem * shift-space->space
- 3140 print#15,"m-w";chr$(160);chr$(4);chr$(len(s$)+1);s$;chr$(0):rem$04a0
- 3150 rem *** programm starten
- 3160 print#15,"m-w";chr$(0);chr$(4);chr$(1);chr$(0):reminit-command
- 3170 nf=0:remanzahlgefundenerartikel
- 3180 dp=1:remdatensatz-pointer
- 3190 print#15,"uc"
- 3200 rem *** daten lesen
- 3210 print#15,"b-p";3,1
- 3220 get#3,c$(1),c$(2),c$(3),c$(4)
- 3230 fori=1to4
- 3240 ifc$(i)=""thenc$(i)=chr$(0)
- 3250 c(i)=asc(c$(i))
- 3260 next
- 3270 ifc(4)<>0then3400:remendeoderfehler
- 3280 fori=1to3:ds(i,dp)=c(i):next
- 3290 dp=dp+1:nf=nf+1
- 3300 ifdp<3then3340
- 3310 rem *** doppeleintraege loeschen
- 3320 if(c(1)<>ds(1,dp-2))or(c(2)<>ds(2,dp-2))or(c(3)<>ds(3,dp-2))then3340
- 3330 dp=dp-1:nf=nf-1
- 3340 ifdp>200then3400
- 3350 rem *** weitere daten anfordern
- 3360 print#15,"m-w";chr$(0);chr$(4);chr$(1);chr$(1):remweiter-command
- 3370 print#15,"uc"
- 3380 goto3210
- 3390 rem *** ende der datei
- 3400 close3:close2
- 3410 ifc(4)<>99thenprint" [196][195]-[197]rrorcode:";c(4):goto3470
- 3420 ifs2=1then5100
- 3430 print" '";s$;"'";
- 3440 ifnf=0thenprint" nicht";
- 3450 ifnf<>0thenprintnf;"mal";
- 3460 print" gefunden"
- 3470 print" [212]aste druecken"
- 3480 poke198,0:wait198,1:poke198,0:goto600
- 3999 rem *** gefundene artikel zeigen
- 4000 ifpr=0thenprint"[147] [199]efundene [193]rtikel zeigen"
- 4010 ifpr=1thenprint"[147] [199]efundene [193]rtikel drucken"
- 4020 ifnf=0thenprint" [203]eine [193]rtikel":fori=1to2000:next:goto600
- 4030 ifpr=0thenopen4,3
- 4040 ifpr=1thenopen4,4,10:print#4
- 4050 fori=1tonf
- 4055 open3,8,3,"#0"
- 4060 gosub9300:ife<>0thenclose3:goto600
- 4070 print#15,"b-r";3;0;ds(1,i);ds(2,i)
- 4080 close3
- 4090 print#15,"m-w";chr$(0);chr$(4);chr$(1);chr$(ds(3,i))
- 4100 print#15,"uc"
- 4110 open3,8,3,"#1"
- 4120 gosub9300:ife<>0thenclose3:goto600
- 4130 print#15,"b-p";3;0
- 4135 ar$=""
- 4140 get#3,a$
- 4150 ifa$<>""thenar$=ar$+a$:goto4140
- 4155 ifed<>1thenprint#4,ar$;
- 4160 rem *** endmarke gefunden
- 4170 forj=1to5
- 4180 get#3,a$:ifa$=""thena$=chr$(0)
- 4190 c(j)=asc(a$)
- 4200 next
- 4210 close3
- 4220 nb=256*c(2)+c(1):s=256*c(5)+c(4):an=c(3)
- 4225 ifed=1then7020
- 4230 open3,8,3,"titel,s,r"
- 4240 gosub9300:ife<>0thenclose3:goto600
- 4250 gosub9000
- 4260 forj=1tonb
- 4270 input#3,a$
- 4280 next
- 4290 print#4:print#4:print#4:print#4," ";a$:print#4," [193]usgabe";an
- 4295 print#4," [211]eite";s
- 4300 print#4:print#4:ifpr=0thenprint" [212]aste druecken"
- 4310 close3
- 4320 ifpr=0thenpoke198,0:wait198,1:poke198,0
- 4330 ifpr=0thenprint"[147]"
- 4340 next:close4:goto600
- 4999 rem *** suchen in datensaetzen
- 5000 print"[147] [201]n gefundenen [193]rtikeln suchen"
- 5010 ifnf=0then4020
- 5020 print" [194]earbeite [193]rtikel:"
- 5030 fori=1tonf
- 5040 printtab(21)"[145]";i;" "
- 5050 d2(1,i)=ds(1,i):d2(2,i)=ds(2,i):d2(3,i)=ds(3,i)
- 5060 next
- 5070 n2=nf
- 5080 s2=1
- 5090 goto3000
- 5100 rem *** 2.suchen beendet
- 5110 n1=nf:s2=0
- 5120 k=1:nf=0
- 5130 print" [214]ergleiche [193]rtikel:"
- 5140 fori=1ton2
- 5150 ifn1=0then5190
- 5160 ifd2(1,i)<>ds(1,k)then5210
- 5170 ifd2(2,i)<>ds(2,k)then5210
- 5180 ifd2(3,i)<>ds(3,k)then5210
- 5190 nf=nf+1
- 5200 ds(1,nf)=d2(1,i):ds(2,nf)=d2(2,i):ds(3,nf)=d2(3,i)
- 5210 next
- 5220 k=k+1
- 5230 printtab(22)"[145]";k;" "
- 5240 ifk<=n1then5140
- 5250 ifn1=0thenprint" '";s$;"' nicht gefunden":goto3470
- 5260 goto3430
- 5999 rem *** gef.artikel loeschen
- 6000 print"[147] [199]efundene [193]rtikel loeschen"
- 6010 ifnf=0thenprint" [203]eine [193]rtikel":fori=1to2000:next:goto600
- 6020 w$=" werden "
- 6030 ifnf=1thenw$=" wird "
- 6040 print" ";nf;"[193]rtikel";w$;"geloescht"
- 6050 input" [211]icher (j/n)";a$
- 6060 if(a$<>"j")and(a$<>"[202]")then600
- 6070 gosub9100:rem loeschprogramm
- 6080 print" [204]oesche [193]rtikel:"
- 6090 fori=nfto1step-1
- 6100 print#15,"m-w";chr$(0);chr$(4);chr$(2);chr$(ds(1,i));chr$(ds(2,i))
- 6110 print#15,"m-w";chr$(2);chr$(4);chr$(1);chr$(ds(3,i))
- 6120 ifed<>1thenprinttab(20);"[145]";nf-i+1;" "
- 6130 print#15,"uc"
- 6140 print#15,"m-r";chr$(0);chr$(4)
- 6150 get#15,a$:ifa$=""thena$=chr$(0)
- 6160 ifa$<>chr$(0)thenprint" [196][195]-[197]rrorcode:";asc(a$);"[145][145][145]"
- 6165 ifed=1then6180
- 6170 next
- 6180 rem *** bam korrigieren
- 6190 print#15,"v"
- 6200 gosub9300:ife<>0then600
- 6210 rem *** blockzahl korrigieren
- 6220 open2,8,2,"stext,s,a"
- 6230 close2
- 6240 nf=0:goto600
- 6999 rem *** artikel aendern
- 7000 ifnf=0thenprint"[147] [203]ein [193]rtikel"
- 7002 ifnf>1thenprint"[147] [193]endern nur moeglich bei einem [193]rtikel"
- 7003 ifnf<>1thenfori=1to2000:next:goto600
- 7005 ed=1:i=1
- 7010 goto4055:rem artikel holen
- 7020 open2,8,2,"stext,s,a":fo=1
- 7030 gosub9300:ife<>0thenclose2:fo=0:goto600
- 7040 print"[147] [193]rtikel aendern"
- 7050 print" [212]itel aendern, [197]nde = <[210][197][212][213][210][206]>"
- 7060 printar$;:goto2050:rem neuer artikel
- 7070 close2:fo=0:gosub9100
- 7080 i=1:goto6100:rem alten artikel loeschen
- 8999 rem *** dc-suchprogramm uebertragen
- 9000 fork=1to9
- 9010 print#15,sp$(k)
- 9020 next
- 9030 return
- 9099 rem *** dc-loeschprogramm uebertragen
- 9100 fork=1to14
- 9110 print#15,lp$(k)
- 9120 next
- 9130 return
- 9300 rem *** error-test
- 9310 input#15,a$,b$,c$,d$
- 9320 e=val(a$):ife=0thenreturn
- 9330 print:print" [196]isk-[197]rror:":print" ";e;" ";b$;" ";c$;" ";d$
- 9340 print" [212]aste druecken"
- 9350 poke198,0:wait198,1:poke198,0
- 9360 return
- 9999 rem *** datas fuer such programm
- 10000 data169,0,141,4,4,172,0,4,240,9
- 10010 data136,240,3,76,154,5,76,136,5,162
- 10020 data0,189,160,4,240,3,232,208,248,142
- 10030 data33,6,160,2,162,0,165,6,141,1
- 10040 data4,165,7,141,2,4,140,3,4,169
- 10050 data0,141,4,4,185,0,3,240,29,221
- 10060 data160,4,240,14,162,0,200,208,241,32
- 10070 data208,5,176,58,160,2,208,232,232,236
- 10080 data33,6,208,238,140,34,6,96,152,24
- 10090 data105,6,168,144,7,32,208,5,176,32
- 10100 data200,200,162,0,165,6,141,1,4,165
- 10110 data7,141,2,4,140,3,4,173,0,3
- 10120 data208,188,204,1,3,144,183,169,99,141
- 10130 data4,4,140,34,6,96,162,0,172,34
- 10140 data6,200,208,166,32,208,5,176,239,200
- 10150 data200,76,54,5,172,0,4,162,0,185
- 10160 data0,3,157,0,4,240,13,232,200,208
- 10170 data244,32,208,5,176,212,160,2,208,235
- 10180 data169,6,141,34,6,208,6,185,0,3
- 10190 data157,0,4,232,200,208,5,32,208,5
- 10200 data160,2,206,34,6,208,236,96,169,5
- 10210 data141,31,6,173,0,3,240,30,133,6
- 10220 data173,1,3,133,7,169,128,133,0,165
- 10230 data0,48,252,201,1,240,16,141,32,6
- 10240 data32,255,5,176,236,173,32,6,141,4
- 10250 data4,56,96,24,96,138,72,162,3,173
- 10260 data32,6,221,27,6,240,7,202,16,248
- 10270 data104,170,24,96,206,31,6,240,247,104
- 10280 data170,56,96,5,7,9,16,0
- 10999 rem *** datas fuer loesch programm
- 11000 data173,0,4,174,1,4,172,2,4,140
- 11010 data162,6,133,6,134,7,169,5,141,163
- 11020 data6,169,0,141,165,6,141,166,6,141
- 11030 data167,6,173,0,28,9,8,141,0,28
- 11040 data169,128,133,0,165,0,48,252,201,1
- 11050 data240,10,141,164,6,32,48,6,144,50
- 11060 data176,234,32,76,6,173,0,3,208,6
- 11070 data173,1,3,141,165,6,162,2,189,0
- 11080 data3,157,0,4,232,208,247,172,162,6
- 11090 data185,0,3,240,22,200,208,248,32,214
- 11100 data5,176,7,32,76,6,160,2,208,236
- 11110 data173,164,6,141,0,4,96,152,24,105
- 11120 data6,168,144,10,32,214,5,176,237,32
- 11130 data76,6,200,200,174,162,6,173,0,3
- 11140 data208,5,204,1,3,240,37,185,0,3
- 11150 data157,0,4,204,165,6,240,26,200,208
- 11160 data10,32,214,5,176,200,32,76,6,160
- 11170 data2,232,208,229,32,117,6,32,17,6
- 11180 data144,221,176,182,32,117,6,169,0,141
- 11190 data0,4,142,1,4,32,17,6,176,166
- 11200 data169,0,141,0,4,173,0,28,41,247
- 11210 data141,0,28,96,169,5,141,163,6,173
- 11220 data0,3,240,42,133,6,173,1,3,133
- 11230 data7,169,128,133,0,165,0,48,252,201
- 11240 data1,208,13,173,0,3,208,6,173,1
- 11250 data3,141,165,6,24,96,141,164,6,32
- 11260 data48,6,176,211,56,96,169,99,141,164
- 11270 data6,56,96,169,5,141,163,6,169,144
- 11280 data133,1,165,1,48,252,201,1,208,4
- 11290 data162,2,24,96,141,164,6,32,48,6
- 11300 data176,232,56,96,138,72,162,3,173,164
- 11310 data6,221,158,6,240,7,202,16,248,104
- 11320 data170,24,96,206,163,6,240,247,104,170
- 11330 data56,96,138,72,174,166,6,165,6,157
- 11340 data168,6,232,165,7,157,168,6,232,173
- 11350 data0,3,157,168,6,173,1,3,157,169
- 11360 data6,224,6,208,2,162,0,142,166,6
- 11370 data104,170,96,138,72,174,167,6,189,168
- 11380 data6,133,8,232,189,168,6,133,9,232
- 11390 data189,168,6,141,0,4,189,169,6,141
- 11400 data1,4,224,6,208,2,162,0,142,167
- 11410 data6,104,170,96,5,7,9,16,0,0
- 11420 data0,0,0,0,0,0,0,0,0,0
- 11430 data0,0,0,0,0,0,0,0,0,0
- 11440 data0,0,0,0,0,0,0,0
- 15000 rem ****** disk fuer'master-index'
- 15010 rem *** neu anlegen
- 15020 print"[147] [206]eue [196]isk fuer '[205]aster-[201]ndex' anlegen"
- 15030 print" [206]eue [196]isk einlegen"
- 15040 print" <[212]aste>"
- 15050 poke198,0:wait198,1:poke198,0
- 15060 print" [193]lle [196]aten auf dieser [196]isk"
- 15070 print" werden geloescht !!!"
- 15080 input" [215]eitermachen (j,n)";a$
- 15090 ifa$<>"j"thenend
- 15100 input" [206]euer [196]iskname:";n$
- 15110 input" [206]eue [201][196]:";id$
- 15120 print" [196]isk wird formatiert"
- 15130 open15,8,15,"n0:"+n$+","+id$
- 15140 gosub15500
- 15150 rem *** 1.directory-eintrag belegen
- 15160 open2,8,1,"tmp,s,w"
- 15170 gosub15500
- 15180 close2
- 15190 rem *** textfile anlegen
- 15200 print" [212]extfile wird angelegt"
- 15210 open2,8,1,"stext,s,w"
- 15220 gosub15500
- 15230 close2
- 15240 rem *** directory manipulieren
- 15250 open3,8,3,"#"
- 15260 print#15,"ua"3;0;18;1
- 15270 print#15,"b-p"3;35
- 15280 print#3,chr$(17);chr$(0);
- 15290 print#15,"ub"3;0;18;1
- 15300 gosub15500
- 15310 rem ** 1.block vom textfile erzeugen
- 15320 print#15,"b-p"3;0
- 15330 print#3,chr$(0);chr$(1);
- 15340 print#15,"ub"3;0;17;0
- 15350 gosub15500
- 15360 rem *** titel file anlegen
- 15370 print" [212]itelfile wird angelegt"
- 15380 open2,8,1,"titel,s,w"
- 15390 gosub15500
- 15400 print#2,"64'er 86":close2
- 15410 print#15,"s0:tmp"
- 15420 rem *** block allocaten
- 15430 print#15,"b-a"0;17;0
- 15440 gosub15500
- 15450 close3
- 15460 print" [208]rogramm '[205]aster-[201]ndex' wird erzeugt"
- 15470 fori=1to2000:next:close2:close3:close15
- 15480 rem *** init-programm loeschen
- 15490 goto15560
- 15500 input#15,a$,b$,c$,d$
- 15510 ifval(a$)=0thenreturn
- 15520 print" [196]isk-[198]ehler:";a$;" ";b$;" ";c$;" ";d$
- 15530 close2:close3:close15
- 15540 end
- 15560 poke828,0:poke646,peek(53281)
- 15570 a=peek(828):print"[147]";:fori=0to6:print15000+(a*7+i)*10:poke632+i,13:next
- 15580 ifa=8thenprint"[145][145] 1 ":print"s[193]";chr$(34);"master-index";chr$(34);",8"
- 15590 ifa=8thenprint"":print"run"
- 15600 print"goto 15570":poke828,a+1:poke631,19:poke640,13:poke198,10:end
-