home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
64'er Special 46
/
64er_Magazin_Sonderheft_46_19xx_Markt__Technik_de_Side_A.d64
/
d
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2022-10-26
|
23KB
|
639 lines
0 rem":" bitte zeilen 40000ff beachten
1 poke56,128:clr:fori=.to40:sp$=sp$+" ":next:sy$="datamaster (c) nss 1987 v
2 [141]3300:[151]53280,.:[151]53281,11:[151]650,128:f$[178]"(NULL)tart":[141]3000
3 mw$[178]"m-w":[160]15:[159]15,8,15,mw$:[141]3100:[139]ok[178].[167]3
6 [151]1,55:[158]51400:zo[178]7:b8$[178]"b-p 8 0
7 dimm%(147),s%(147),t%(147),s$(147):dv$=chr$(34)
8 br=32783:si=32780:ta=32774:in=32777:rr=32786:me=32768:ms=32795:ml=ms-3
9 c1=32798:cb=32813:rv=32810:ob=32816:ei=32819:we=32822:aw=32804:vr=32825
10 ci=32771:oh=32828:sq=32807:pa=32831:ap=pa+3:c2=c1+3:qs=32837:fi=32840
11 dd=32849:ed=32843:ck=32846:us=32852:i1=32855:i3=32861:i4=i3+3
12 sysi3,14:sysi1:poke161,.
20 gosub3200
21 open8,8,8,"#":gosub3100:ifok=.thenclose8:goto21
22 sysbr,23,0,0:syssi,8,28,a$
23 ifleft$(a$,25)=sy$then200
30 f$="[196]atendisk vorbereiten":gosub3000
35 close8:print"[194]itte legen [211]ie eine [196]atendisk ein, oder
36 [153]"eine leere, formatierte str$iskette, die
37 print"eine [196]atendisk werden soll ! ([212][193][211][212][197])":systa:gosub3200
40 open8,8,8,"#":sysbr,18,0,144:syssi,8,16,a$
42 ifa$<>"datamaster[160][160][160][160][160][160]"then50
44 print"[193]chtung:[146] [196]ie [208]rogrammdisk kann nicht zur
46 [153]"str$atenspeicherung herangezogen werden !
48 print"[196]ruecken [211]ie eine [212]aste.":close8:systa:goto30
50 sysbr,23,0,0:syssi,8,28,b$
51 ifleft$(b$,25)=sy$then200
52 print"[211]ind [211]ie sicher, dass sich auf der [196]isk
53 [153]""a$"wait keine wichtigen str$aten
54 print"befinden ? [[202]a/[206]ein]":gosub3010:ifok=.thenclose8:goto30
56 f$="[196]atendisk anlegen":gosub3000
60 print"[194]itte warten - [196]atendisk wird angelegt
61 [160]8:[152]15,"u9":[152]15,mw$
62 [152]15,"n:datendisk":[141]3100:[139]ok[178].[167]62
63 [141]300
64 [152]15,b8$:[152]8,sy$ve$
68 [152]15,"u2 8 0 23 0":[141]3100:[139]ok[178].[167]68
70 [153]"peekitte geben (NULL)ie ein (NULL)asswort fuer diese
72 print"[196]atendisk ein: [157][157]";:sysin,20,a$:ifa$=""thena$="-
73 [139]a$[178]"-"[167][153]"onononon":[137]70
74 [152]15,b8$:[152]8,a$"let":[152]15,"u2:8 0 23 1":[141]3100
76 [139]ok[178].[167]74
78 [129]s[178]2[164]4
80 [152]15,b8$:[152]8,"let(NULL)eer":[152]15,"u2:8 0 23"s
81 [141]3100:[139]ok[178].[167]80
82 [130]:[152]15,b8$:[152]8,[199](.)[199](.)[199](.)
84 [152]15,"u2:8 0 23 5":[141]3100:[139]ok[178].[167]84
86 [139]rf[178].[137]1000
88 rf[178].:[142]
100 [153][163]20[171][195](a$)[173]2)a$:zx[178]zx[170]1:[139]zx[179]19[167][142]
102 zx[178].:[153][163]12)"stop--- (NULL)aste ---":[158]ta:[141]3000:[151]646,1:[142]
200 f$[178]"(NULL)ulassungspruefung":[141]3000
202 [153]"peekitte geben (NULL)ie das (NULL)asswort ein ('-':
204 print"[193]bbruch): ";:sysin,20,p$:ifp$="-"then30
206 sysbr,23,1,0:syssi,8,21,a$
208 fori=1tolen(a$):ifmid$(a$,i,1)="[136]"thena$=left$(a$,i-1):goto210
209 next
210 ifa$<>p$thenprint"[208]asswort unbekannt/[212]aste druecken !":systa:goto200
212 gosub3610:goto1000
300 open2,8,2,"----------------,s,w":close2:gosub3100:ifok=.then300
302 open2,8,2,"bitte diese disk,s,w":close2
304 open2,8,2,"nicht benutzen !,s,w":close2
306 open2,8,2,"/---------------,s,w":close2:open8,8,8,"#":sysbr,18,1,2
308 print#8,chr$(143);:print#15,"b-p 8 34":print#8,chr$(143);
310 print#15,"b-p 8 66":print#8,chr$(143);:print#15,"b-p 8 98
312 [152]8,[199](143);:[152]15,"b-p 8 101":[152]8,"-";
314 [152]15,"u2 8 0 18 1":[142]
900 [171]
1000 f$[178]"left$auptmenue":[141]3000:[137]1004
1002 [141]1050:[153]" ((NULL)) (NULL)eue str$atendisk einlesen/anlegen":[137]1010
1003 [153]" ((NULL)) str$ienst":[137]1006
1004 [153]" (atn) str$atei von str$atendisk eroeffnen
1005 print" ([194]) [206]eue [196]atei anlegen":goto1007
1006 print" ([210]) [208]rogrammende":goto1020
1007 print" ([195]) [201]n [196]atei blaettern
1008 [141]1050:[153]" (str$) (NULL)euen str$atensatz eingeben
1009 print" ([197]) [196]atensatz aendern":goto1011
1010 print" ([204]) [196]atendisk loeschen (erneut anlegen)";:goto1019
1011 gosub1050:print" ([198]) [211]uche (nach [211]chluessel)":goto1013
1012 gosub1050:print" ([200]) [211]ortieren":goto1018
1013 print" ([199]) [211]uche im gesamten [196]atensatz":goto1012
1014 print" ([206]) [205]aske zeigen":goto1016
1015 print" ([208]) [200]inweise":goto1003
1016 gosub1050:print" ([207]) [198]reier [211]peicherplatz":goto1015
1017 print" ([202]) [204]iste drucken":goto1002
1018 gosub1050:print" ([201]) [196]atensatz drucken":goto1017
1019 gosub1050:print" ([205]) [205]arkierungen managen":goto1014
1020 poke646,.:poke214,22:sys58732:fori=.to39:print"[164]";:next:n5%=.
1021 print"[208]rogrammiert von [206]. [200]eusler, [202]un/[193]ug 87";
1022 ifma$>""thenprint"[194]elegte [211]aetze:"nb"[157] ";
1023 printleft$(sp$,14-(ma$="")*15);
1024 ifpeek(211)<36thenprint" ";:goto1024
1025 a$=" ":ifmkthena$="[205][193][210]
1026 [153]a$:[151]56295,[194](56294):[151]2023,160[170]43[172]mk
1028 [151]2018,160[170]10[172]jq%
1030 [161]a$:[139]a$[178]"^"[167]a$[178]"r
1031 ifa$<"a"ora$>"r"then1030
1032 mp=asc(a$)-64:onmpgosub22000,23000,25000,26000,28000,29000,31000,30000
1033 ifmp<9then1000
1034 onmp-8gosub36000,35000,20000,27000,37000,32000,34000,33000,21000,24000
1040 goto1000
1050 poke646,13-peek(646):return
2000 poke768,185:open4,4,0:print#4,"";:close4:poke768,139:return
3000 print:print"[147][144][196][193][212][193][205][193][211][212][197][210] 64 [214]4/"ve$" (w) [206][211][211] 1987";
3002 printma$left$(sp$,40-len(ma$+f$))f$:return
3010 poke198,.
3012 geta$:ifa$<>"y"anda$<>"^"anda$<>"j"anda$<>"n"then3012
3014 ok=.:ifa$="y"ora$="j"thenok=1
3016 return
3100 input#15,f1,f1$,f2,f3:iff1=.thenok=1:return
3102 print"[196][201][211][203][198][197][200][204][197][210] #"f1
3104 print"[212]ext: "f1$:print"in [212]rack"f2"[211]ektor"f3"([212]aste)":systa:ok=.:return
3200 print#15,"i0":gosub3100:ifok=.then3200
3202 return
3300 ve=peek(2055)
3302 ve$=chr$(48+ve/100)+chr$(48+(ve-(int(ve/100)*100))/10)
3303 ve$=ve$+chr$(48+ve-(int(ve/10)*10))
3304 return
3400 forii=1tolen(a$):ifmid$(a$,ii,1)=chr$(13)thena$=left$(a$,ii-1)
3402 next:return
3500 rem ** datei schliessen
3501 print"[196]atei '"ma$"' wird geschlossen
3502 mk[178].:[139]ma$[178]""[167]jq%[178].:[142]
3503 [139]jq%[178].[167]ma$[178]"":[142]
3510 [152]15,b8$:[129]x[178]1[164]nb
3512 [152]8,[199](t%(x));:[130]:[152]15,"u2 8 0"30[170]nd;5:[141]3100:[139]ok[178].[167]3510
3514 [152]15,b8$:[129]x[178]1[164]nb
3516 [152]8,[199](s%(x));:[130]:[152]15,"u2 8 0"30[170]nd;6:[141]3100:[139]ok[178].[167]3514
3518 [158]br,23,5,nd[171]1:[152]8,[199](nb);:[152]15,"u2 8 0 23 5":[141]3100
3520 [139]ok[178].[167]3518
3521 [139]nb[178].[167]3532
3522 [153]:se[178].:ig[178].:[152]15,b8$:[129]x[178]1[164]nb:a$[178]s$(x)
3523 [153]"(NULL)chreibe (NULL)chluessel"x"on
3524 iflen(a$)>16thena$=left$(a$,16)
3526 iflen(a$)<16thena$=a$+" ":goto3526
3528 print#8,a$;:ig=ig+1:ifig>15thenig=.:print#15,"u2 8 0"nd+23;se:se=se+1
3530 ifig=.thenprint#15,b8$
3531 next:print:print#15,"u2 8 0"nd+23;se
3532 ma$="":jq%=.:return
3600 gosub3500
3601 print"[196]atendisk wird geschlossen...
3602 [158]br,18,0,2:[152]8,"";:[152]15,"u2 8 0 18 0":[141]3100:[139]ok[178].[167]3602
3603 [152]15,"i0":[141]3100:[139]ok[178].[167]3603
3604 [142]
3610 [158]br,18,0,0:[152]15,"m-wa":[152]15,"b-p 8 2":[152]8,"a";
3612 [152]15,"u2 8 0 18 0":[141]3100:[139]ok[178].[167]3610
3614 [160]8:[152]15,"i0":[141]3100:[139]ok[178].[167]3610
3616 [159]8,8,8,"#":[142]
3700 [139]ma$[177]""[167]ok[178]1:[142]
3702 [153]"(NULL)effnen (NULL)ie erst eine str$atei ! ((NULL)aste)":ok[178].:[158]ta:[142]
3710 [139]nb[178].[167][153]"(NULL)ein str$atensatz gefuellt ! ((NULL)aste)":[158]ta:ok[178].:[142]
3712 ok[178]1:[142]
3800 f$[178]"str$atensatz"[170][196](i)[170]" anzeigen":[141]3000
3810 [158]br,t%(i),s%(i),0:[158]aw:[158]we:[158]si,8,[194](821),a$:[151]646,1
3812 [158]vr,50688,a$:[158]ob:[142]
10000 [151]2055,[194](2055)[170]1:[153]"new version #"[194](2055)
10002 [148]"@:d":[151]631,[198]("dim"):[151]198,1:[128]
10004 [143] die zeilen 10000 bis 10004 koennen entfallen !!!!
20000 f$[178]"(NULL)eue str$atendisk":[141]3000:[139]ma$[178]""[167]20010
20001 [153]"(NULL)ind (NULL)ie sicher ? [j/n]":[141]3010:[139]ok[178].[167][142]
20010 [141]3600:rf[178]1:[137]30
21000 f$[178]"str$ienstmenue":[141]3000
21002 [153]" (atn) (NULL)teuerung: chr$atn(NULL)peekatnchr$val len(NULL)(NULL)(NULL)vallen(NULL)right$(NULL)(NULL)
21004 print" ([194]) [205]askenformat
21006 [153]" (len) (NULL)asswort aendern
21008 print" ([196]) [196]ateinamen aendern
21010 [153]" (val) (NULL)ekundaeradresse str$rucker ="zo
21012 [153]" (asc) (NULL)creen - peeklanking
21014 print" ([199]) [214]ersionsnummer [196]iskette
21018 [153]" (left$) left$auptmenue
21020 geta$:ifa$="^"thena$="h
21021 [139]a$[179]"a"[176]a$[177]"h"[167]21020
21022 [139]a$[178]"h"[167][142]
21024 [145][198](a$)[171]64[141]21100,21200,21300,21400,21500,21600,21700:[137]21000
21100 f$[178]"chr$atn(NULL)peekatnchr$val64":[141]3000:[158]rr
21102 [153]"str$ie chr$atn(NULL)peekatnchr$val len(NULL)(NULL)(NULL)vallen(NULL)right$(NULL)(NULL) wird vom (NULL)ystem
21104 print"automatisch ausgefuehrt, wenn der [211]pei-
21106 [153]"cher ueberlaeuft und gereinigt werden
21108 print"muss. [206]ormalerweise dauert dies sehr
21110 [153]"lang (bis 1/2 (NULL)tunde !), (NULL)ie koennen
21112 print"aber die [197]rweiterung '[199][193][210][194][193][199][197] 64' ein-
21114 [153]"schalten, die dies auf maximal 5 (NULL)inu-
21116 print"ten verschnellert, aber bei extrem
21118 [153]"grossen str$atenmengen unzuverlaessig wer-
21120 print"den kann.":print"[196]ie [197]rweiterung ist jetzt ";
21122 ifpeek(1)=55thenprint"des";
21124 print"aktiviert[146].
21130 [153]"atnendern mit der (NULL)(NULL)atnlenvalwait (NULL)aste, valnde mit
21132 print"[210][197][212][213][210][206][146].
21134 [161]a$:[139]a$[178][199](13)[176]a$[178]"^"[167][142]
21136 [139]a$[177][179]" "[167]21134
21138 [139][194](1)[178]55[167][158]51400:[137]21100
21140 [151]1,55:[137]21100
21200 f$[178]"(NULL)askenformat":[141]3000
21202 [158]ap
21204 [153]"str$ie ascelder werden ";
21206 [139][194](2)[167][153]"(NULL)val(NULL)val(NULL)(NULL)";:[137]21208
21207 [153]"(NULL)(NULL)(NULL)(NULL)atn(NULL)";
21208 [153]"wait dargestellt.
21210 print"[193]endern mit der [211][208][193][195][197][146] [212]aste, [197]nde mit
21212 [153]"(NULL)val(NULL)(NULL)(NULL)(NULL)wait.
21215 geta$:ifa$=chr$(13)ora$="^"thenreturn
21216 ifa$<>" "then21215
21220 poke2,1-peek(2):syspa,peek(2):goto21200
21300 f$="[208]asswort aendern":gosub3000
21302 print"[193]ltes [208]asswort: ";:sysbr,23,1,0:syssi,8,21,a$
21304 fori=1tolen(a$):ifmid$(a$,i,1)="[136]"thena$=left$(a$,i-1):goto21306
21305 next
21306 printa$:print"[197]ingabe von '-': [193]bbruch:
21308 [153]"on(NULL)eues (NULL)asswort: ";:[158]in,20,a$:[139]a$[178]""[167]21308
21309 [139]a$[178]"-"[167][142]
21310 [152]15,b8$:[152]8,a$"let":[152]15,"u2:8 0 23 1":[141]3100
21312 [139]ok[178].[167]21310
21314 [142]
21400 f$[178]"str$ateinamen aendern":[141]3000
21402 [141]3700:[139]ok[178].[167][142]
21404 [153]"atnlter str$ateiname: "ma$
21406 [153]"str$ateinummer: "nd"cmdcmdcmdwait "
21410 [153]"valingabe von '-': atnbbruch:
21412 print"[145][206]euer [196]ateiname: ";:sysin,16,a$:ifa$="-"thenreturn
21414 ifa$=""then21412
21416 ma$=a$:print#15,b8$:print#8,ma$:print#15,"u2 8 0 23"nd+1:return
21500 f$="[211]ek.adresse":gosub3000
21502 print"[196]ruck auf [211]ekundaeradresse"zo
21504 print"[206]eue [211]ek.adresse: [157][157]";:sysin,2,a$:zo=val(a$)
21506 ifzo<.orzo>255thenprint"[145][145]":goto21504
21508 return
21600 f$="[211]creenblanking":gosub3000
21602 print"[215]enn [211]ie diese [198]unktion aktivieren,
21604 [153]"schaltet sich der peekildschirm nach einer
21606 print"bestimmten [218]eit ab, wenn [211]ie keine [212]aste
21608 [153]"ondruecken, und erscheint wieder, wenn (NULL)ie
21610 print"[145]dann eine [212]aste druecken. [211]o wird ver-
21612 [153]"hindert, dass sich das peekild in die (NULL)att-
21614 print"[145]scheibe brennt, wenn [211]ie das [208]rogramm
21616 [153]"laengere (NULL)eit nicht benutzen.
21620 print" [196]ie [198]unktion ist ";:ifpeek(789)=234thenprint"des";
21622 print"aktiviert[146]. "
21624 sysi4:print" [214]erzoegerung = ca."int(peek(2)*256/60+.5)"[157] [211]ek. "
21628 print"[211][208][193][195][197][146] [198]unktion ein/aus
21630 [153]"(NULL)val(NULL)(NULL)(NULL)(NULL)wait (NULL)enue
21632 print"+/-[146] [214]erzoegerung waehlen
21640 [161]a$:[139]a$[178]"^"[176]a$[178][199](13)[167][142]
21642 [139]a$[178]" "[167]21650
21644 [139]a$[178]"+"[167]21660
21646 [139]a$[178]"-"[167]21670
21648 [137]21640
21650 [158]i1[171]3[172]([194](789)[179][177]234):[151]53265,27:[151]161,.:[137]21620
21660 [139][194](2)[179]255[167][158]i3,[194](2)[170]1
21662 [137]21620
21670 [139][194](2)[167][158]i3,[194](2)[171]1
21672 [137]21620
21700 f$[178]"(NULL)ersions# str$isk":[141]3000
21702 [158]br,23,0,0:[158]si,8,28,a$
21704 [153]"(NULL)ennung: "[199](34)a$[199](34)
21706 [153]"str$iese str$isk wurde also unter der (NULL)ersion
21708 printright$(a$,3)" dieses [208]rogrammes angelegt. [196]ie ak-
21710 [153]"tuelle (NULL)ersionsnummer (s.o.) ist "ve$".
21712 print"([212]aste)":systa:return
22000 f$="[196]atei oeffnen":gosub3000:ifma$=""then22003
22001 print"[211]ind [211]ie sicher ? [j/n]":gosub3010:ifok=.thenreturn
22002 gosub3500:print
22003 fori=1to3:sysbr,23,i+1,.:syssi,8,21,a$:gosub3400:na$(i)=a$:next
22004 ok=.:fori=1to3:ifna$(i)<>"[136][204]eer"thenok=1+ok:o2=i
22006 next:ifokthen22010
22007 print"[193]lle [196]ateien auf dieser [196]iskette sind
22008 [153]"leer ! ((NULL)aste)":[158]ta:[142]
22010 [139]ok[177]1[167]22020
22012 [153]"str$atei "na$(o2)" ? [j/n]":[141]3010:[139]ok[178].[167][142]
22014 ma$[178]na$(o2):nd[178]o2:[137]22100
22020 [151]646,1:[129]i[178]1[164]3:[139]na$(i)[179][177]"let(NULL)eer"[167][153]" ("[199](192[170]i)") "na$(i)
22022 [130]:[153]" (^) atnbbruch":[153]"(NULL)elche str$atei oeffnen ?
22024 geta$:ifa$="^"thenreturn
22025 ifa$<"a"ora$>"c"then22024
22026 ifna$(asc(a$)-64)="[136][204]eer"then22024
22028 nd=asc(a$)-64:ma$=na$(nd)
22100 print"[207]kay. [207]effne '"ma$"'":sysml,nd:mz=147:ifnd=3thenmz=133
22101 sysbr,23,5,nd-1:get#8,a$:nb=asc(a$+chr$(0)):ifnb=.thenreturn
22102 se=.:ig=.:fori=1tonb:print"[204]ese [211]chluessel"i"[145][145]
22104 [139]ig[178].[167][158]br,23[170]nd,se,0:se[178]se[170]1
22106 ig[178]ig[170]1:[139]ig[178]16[167]ig[178].
22108 [158]si,8,16,a$:[158]fi,a$,s$:s$(i)[178]s$:[130]:[153]"(NULL)ese (NULL)erwaltungsdaten
22114 sysbr,30+nd,5,0:fori=1tonb:get#8,a$:t%(i)=asc(a$+chr$(0)):next:sysck
22116 sysbr,30+nd,6,0:fori=1tonb:get#8,a$:s%(i)=asc(a$+chr$(0)):next:jq%=.:return
23000 f$="[206]eue [196]atei anlegen":gosub3000:ifma$=""then23010
23001 print"[211]ind [211]ie sicher ? [j/n]":gosub3010:ifok=.thenreturn
23002 gosub3500:print
23010 jq%=.:print"[214]erzeichnis der auf [196]isk gespeicherten [196]ateien:
23012 [129]i[178]1[164]3:[158]br,23,i[170]1,.:[158]si,8,21,a$:[141]3400:na$(i)[178]a$
23014 [153]" ("[199](48[170]i)") "a$:[130]:[141]23100
23016 [153]"(NULL)elche (NULL)ummer soll die neue str$atei bekom-men ? (1-3, ^ = atnbbruch)
23018 geta$:ifa$="^"thenreturn
23020 ifa$<"1"ora$>"3"then23018
23022 a=val(a$):ifna$(a)="[136][204]eer"then23030
23024 print"[193]chtung: [196]ie alte [196]atei mit dieser [206]um-
23026 [153]"mer wird rettunglos zerstoert ! (NULL)ind (NULL)iesicher ? [j/n]
23028 gosub3010:ifok=.then23000
23030 f$="[196]atei"+str$(a)+" anlegen
23032 [141]3000:[153]"chr$eben (NULL)ie bitte einen (NULL)amen fuer die
23034 nd=a:print"neue [196]atei ein: ";:sysin,16,ma$:ifma$=""then23032
23036 print#15,b8$:print#8,ma$:print#15,"u2:8 0 23"nd+1:mz=147:ifnd=3thenmz=133
23038 sysbr,23,5,nd-1:print#8,chr$(0);:print#15,"u2:8 0 23 5":gosub3100
23040 ifok=.then23038
23042 print"[199]eben [211]ie nun die [197]ingabemaske ein.
23044 [153]"str$ie (f7) (NULL)aste blendet einen left$ilfsbild-
23045 poke34634,17:poke34635,147:poke37649,169:poke37650,0:poke37651,133
23046 print"schirm ein ! ([212]aste)":systa
23047 poke37652,212:poke37653,76:poke37654,182:poke37655,131:rem patch
23048 gosub3000:poke646,1:sysrr:sysme
23050 sysc1:sysms,nd:nb=.:sysck:return
23100 print"[145][145][145][145][145]":sysbr,23,5,0:syssi,8,3,a$:fori=1to3
23102 printtab(28)asc(mid$(a$,i,1)+chr$(0))"[211]aetze":next:return
24000 f$="[208]rogrammende":gosub3000
24002 print"[215]ollen [211]ie wirklich aufhoeren ? [j/n]":gosub3010
24004 ifok=.thenreturn
24006 gosub3600:close8:close15:poke1,55:sys64738
25000 f$="[194]laettern":gosub3000
25002 gosub3700:ifok=.thenreturn
25003 gosub3710:ifok=.thenreturn
25004 print"[197]s gibt folgende [203]ommandos:
25006 [153]" + wait valinen valintrag weiterblaettern
25008 print" - [146] [197]inen [197]intrag zurueckblaettern
25010 [153]" val wait valnde
25012 print" [206] [146] [206]ummer eingeben
25013 [153]" (NULL) wait (NULL)atz markieren
25014 print"([212]aste druecken)":systa:i=1
25020 gosub3800
25022 geta$:ifa$="e"ora$="^"thenreturn
25024 ifa$="+"then25030
25025 ifa$="-"then25040
25026 ifa$="n"then25050
25027 ifa$="m"thenpoke53280,1:poke53265,11:mk=1:m%(i)=1:poke53280,.:poke53265,27
25029 goto25022
25030 i=i+1:ifi>nbtheni=1
25032 goto25020
25040 i=i-1:ifi<1theni=nb
25042 goto25020
25050 f$="[194]laettern":gosub3000
25052 print"[199]eben [211]ie die [206]ummer des naechsten [196]a-
25054 [153]"tensatzes ein: ";:[158]in,3,a$
25055 [139]a$[178]"^"[167][142]
25056 i[178][197](a$):[139]i[179]1[176]i[177]nb[167]25050
25058 [137]25020
26000 f$[178]"str$atensatz eingeben":[141]3000
26002 [141]3700:[139]ok[178].[167][142]
26003 [158]cb:[139]nb[178][177]mz[167][153]"(NULL)ein str$atensatz mehr frei ! ((NULL)aste)":[158]ta:[142]
26004 [139]n5%[178].[167][153]"(NULL)ind (NULL)ie sicher ? [j/n]":[141]3010:[139]ok[178].[167][142]
26005 n5%[178]1:jq%[178]1:f$[178]"str$atensatz"[170][196](nb[170]1)[170]" eingeben":[141]3000
26006 [151]646,1:[158]ci:[158]oh:[158]ob:[158]ei:[158]we:[158]rv,50688,[194](821),a$
26008 nb[178]nb[170]1:t%(nb)[178]1[170](nd[171]1)[172]7[170](nb[171]1)[172]7[173]mz:[139]t%(nb)[177]17[167]t%(nb)[178]t%(nb)[170]1
26010 s%(nb)[178]nb[171]1[171][181]((nb[171]1)[173](mz[173]7))[172](mz[173]7)
26012 [152]15,b8$:[152]8,a$;:[152]15,"u2 8 0"t%(nb)s%(nb):[141]3100:[139]ok[178].[167]26012
26014 a$[178][202](a$,1[170][194](822),[194](823)):[158]fi,a$,s$:s$(nb)[178]s$:[141]3000
26016 [153]"(NULL)och einen str$atensatz ? [j/n]":[141]3010:[139]ok[178].[167][142]
26018 [137]26000
27000 f$[178]"str$atendisk anlegen":[141]3000
27002 [153]"(NULL)orsicht: str$abei werden atn(NULL)(NULL)val drei str$ateien
27004 print"[145]dieser [196]isk geloescht !!! [211]ind [211]ie
27006 [153]"sicher ? [j/n]":[141]3010:[139]ok[178].[167][142]
27008 [141]3500:rf[178]1:[137]60
28000 f$[178]"str$atensatz aendern":[141]3000
28002 [141]3700:[139]ok[178].[167][142]
28003 [141]3710:[139]ok[178].[167][142]
28004 [153]"str$atensatznummer ('^' = valnde) ? ";:[158]in,3,a$:[139]a$[178]"^"[167][142]
28006 i[178][197](a$):[139]i[179]1[176]i[177]nb[167]28000
28008 jq%[178]1:f$[178]"(NULL)atz"[170][196](i)[170]" aendern":[141]3000:[141]3810
28010 [158]ei:[158]we:[158]rv,50688,[194](821),a$
28012 [152]15,b8$:[152]8,a$;:[152]15,"u2 8 0"t%(i)s%(i):[141]3100
28013 [139]ok[178].[167]28012
28014 a$[178][202](a$,1[170][194](822),[194](823)):[158]fi,a$,s$:s$(i)[178]s$:[142]
29000 f$[178]"(NULL)uche":[141]3000
29002 [141]3700:[139]ok[178].[167][142]
29003 [141]3710:[139]ok[178].[167][142]
29010 [153]"chr$eben (NULL)ie den (NULL)uchbegriff fuer das
29012 print"[211]chluesselfeld ein ! ([202]oker: *,?)":gosub29200
29014 print"[211]uche nach ";:sysin,16,su$:ifsu$="^"thenreturn
29016 a=1:k$="[198]":gosub31200:ifm%=9thenreturn
29020 syssq,su$,s$(a),s$(nb),t%:ift%then29030
29022 print"[211]uchbegriff nicht ";:ifa>1thenprint"nochmal ";
29024 print"gefunden.":print"([212]aste)":systa:return
29030 i=t%:gosub3800:gosub31900:ifm%<3thenm%(t%)=2-m%:mk=1
29031 ift%=nbthenreturn
29032 f$="[215]eitersuchen":gosub3000
29034 print"[215]eitersuchen nach "su$" ?
29036 [141]29100:[139]ok[178].[167][142]
29038 a[178]t%[170]1:[137]29020
29100 [151]198,.
29102 [161]a$:[139]a$[179][177]"j"[175]a$[179][177]"n"[175]a$[179][177]"y"[175][194](653)[179][177]1[167]29102
29104 ok[178].:[139]a$[178]"y"[176]a$[178]"j"[176][194](653)[178]1[167]ok[178]1
29106 [142]
29200 [153]"atnnmerkung: durch (NULL)left$right$asc(NULL)wait koennen (NULL)ie beim
29202 print"[211]uchen verhindern, dass bei jedem [198]und
29204 [153]"angehalten wird !ononononononononononononononon":[142]
30000 zx[178].:f$[178]"(NULL)ortieren":[141]3000
30002 [141]3700:[139]ok[178].[167][142]
30003 [141]3710:[139]ok[178].[167][142]
30004 [139]nb[178]1[167][153]"(NULL)ur ein asceld belegt ! ((NULL)aste)":[158]ta:[142]
30005 [153]"str$atei nach (NULL)chluesselfeld sortieren:
30006 print"[211]ind [211]ie sicher ? [j/n]":gosub3010:ifok=.thenreturn
30008 mk=.:jq%=1:print"[211]ortierung laeuft - [194]itte warten...
30010 [143] straight insertion
30020 [129]x[178]2[164]nb:[153]"onvallemente noch "nb[171]x"cmd ":[139]s$(x)[178][177]s$(x[171]1)[167]30030
30022 x$[178]s$(x):t%[178]t%(x):s%[178]s%(x):[129]y[178]x[171]1[164]1[169][171]1
30024 s$(y[170]1)[178]s$(y):t%(y[170]1)[178]t%(y):s%(y[170]1)[178]s%(y):[139]x$[179][178]s$(y[171]1)[167]30028
30026 s$(y)[178]x$:t%(y)[178]t%:s%(y)[178]s%:[137]30030
30028 [130]y
30030 [130]x:[142]
31000 f$[178]"chr$esamtsuche":[141]3000
31002 [141]3700:[139]ok[178].[167][142]
31003 [141]3710:[139]ok[178].[167][142]
31010 [153]"str$a in dieser (NULL)uchart jeder str$atensatz
31012 print"geladen werden muss, kann das [211]uchen
31014 [153]"sehr lange dauern ! (NULL)ind (NULL)ie sicher ?
31016 gosub3010:ifok=.thenreturn
31020 print"[194]itte verwenden [211]ie '?' als [202]oker !
31021 [153]"(NULL)uchbegriff ? ";:[158]in,25,sg$:[139]sg$[178]""[167]31000
31022 [139]sg$[178]"^"[167][142]
31023 [153]"(NULL)uchart: (atn) atnnzeigen, wenn peekegriff vor- kommt
31024 print" ([194]) [193]nzeigen, wenn [194]egriff nicht vorkommt
31026 [161]a$:[139]a$[178]"^"[167][142]
31027 [139]a$[179][177]"a"[175]a$[179][177]"b"[167]31026
31028 f1[178]66[171][198](a$):k$[178]"asc":[139]a$[178]"b"[167]k$[178]"(NULL)ichtf
31029 gosub31200:ifm%=9thenreturn
31030 sysaw:syswe:forh=1tonb:gosub3000:print"[196]atensatz"h"von"nb
31031 print"[211]uche nach "sg$:print"[193]nzeige bei ";:iff1=.thenprint"[206]icht-";
31032 print"[198]und.":print"[193]bbruch mit f7 [146].":gosub31800
31033 sysbr,t%(h),s%(h),0:syssi,8,peek(821),b$
31034 sysqs,b$,sg$,f2%:f2%=(f2%=0)+1
31036 iff2%<>f1then31100
31038 f$="[196]atensatz"+str$(h)+" anzeigen":gosub3000:poke646,1
31040 sysvr,50688,b$:sysob:gosub31900
31041 ifm%<3thenm%(h)=2-m%:mk=1
31042 f$="[199]esamtsuche":gosub3000
31044 print"[215]eitersuchen ?":gosub29100:ifok=.thenreturn
31100 getx$:ifx$="^"orx$="[136]"thenreturn
31101 nexth:print"[211]uche beendet.
31102 [153]"((NULL)aste druecken)":[158]ta:[142]
31200 [153]"(NULL)arkieren ?
31202 print" ([193]) [205]arkierung setzen bei "k$"und
31204 [153]" (peek) (NULL)arkierung loeschen bei "k$"und
31206 print" ([195]) [206]icht markieren
31210 [161]a$:[139]a$[178]"^"[167]m%[178]9:[142]
31211 [139]a$[179]"a"[176]a$[177]"c"[167]31210
31212 m%[178][198](a$)[171]64:[142]
31800 [153]"(NULL)icht bei jedem ascund anhalten: (NULL)left$right$asc(NULL)wait":[142]
31900 [143] wartet auf taste oder shift
31902 [151]198,.
31904 [161]a$:[139]a$[177]""[176][194](653)[178]1[167][142]
31906 [137]31904
32000 f$[178]"(NULL)aske zeigen":[141]3000
32002 [141]3700:[139]ok[178].[167][142]
32004 [151]646,1:[158]ci:[158]oh:[158]c2:[158]rr:[158]ta:[158]aw:[158]we
32006 [141]3000:[153]" str$atei (NULL)ummer "nd
32008 [153]" str$atei (NULL)ame "ma$
32010 [153]" str$atensaetze max."mz
32012 [153]" str$atensaetze mom."nb
32014 [153]" asceldlaenge ges. "[194](821)
32016 [153]" atnnzahl ascelder "[194](820)
32017 [153]" (NULL)arkierungsflag "mk
32018 [153]" atnenderungsflag "jq%
32020 [153]"(NULL)eiter mit (NULL)(NULL)atnlenvalwait oder (NULL)val(NULL)(NULL)(NULL)(NULL)
32022 geta$:ifa$=" "then32000
32024 ifa$=chr$(13)ora$="^"thenreturn
32026 goto32022
33000 f$="[200]inweise":gosub3000:poke646,1:zx=.
33002 a$="[205]it diesem [208]rogramm koennen [211]ie sehr":gosub100
33004 a$="komfortabel [196]aten verwalten. [196]ie [197]in-":gosub100
33006 a$="gabemaske, in die die [196]aten geschrie-":gosub100
33008 a$="ben werden, kann frei definiert wer-":gosub100
33010 a$="den. [196][193][212][193][205][193][211][212][197][210] arbeitet auch beim [211]u-":gosub100
33012 a$="chen recht schnell,was daran liegt,dass":gosub100
33014 a$="die [196]aten auf eine spezielle [215]eise ver-":gosub100
33016 a$="waltet werden: [201]m [211]peicher des [195]64":gosub100
33018 a$="befinden sich zu jedem [196]atensatz nicht":gosub100
33020 a$="alle [196]aten, sondern nur der [201]nhalt":gosub100
33022 a$="eines bestimmten, frei zu definierenden":gosub100
33024 a$="'[211]chluesselfeldes'. [211]o kann z.[194]. be-":gosub100
33026 a$="quem nach einem [211]chluessel gesucht wer-":gosub100
33028 a$="den, bei [194]edarf wird der gesamte [196]aten-":gosub100
33030 a$="satz nachgeladen und angezeigt. [198]uer":gosub100
33032 a$="diese [212]echnik ist das normale [214][195]1541":gosub100
33034 a$="[196]iskettenformat leider nicht gut ge-":gosub100
33036 a$="eignet, so dass fuer die [193]rbeit mit":gosub100
33038 a$="[196][193][212][193][205][193][211][212][197][210] eine eigene [196]atendisk an-":gosub100
33040 a$="gelegt werden muss. [194]eim [193]nlegen gehen":gosub100
33042 a$="alle [196]aten auf dieser [196]isk rettungslos":gosub100
33044 a$="verloren, ebenso ist es nicht ohne vor-":gosub100
33046 a$="heriges [198]ormatieren moeglich, eine [196]a-":gosub100
33048 a$="tendisk dieses [208]rogrammes normal zu":gosub100
33050 a$="nutzen. [200][201][206][215][197][201][211]: [197]s ist sehr wichtig,":gosub100
33052 a$="dass [211]ie die [196]atendisk [206][201][197][205][193][204][211] aus dem":gosub100
33054 a$="[204]aufwerk entfernen, wenn die rote [204]am-":gosub100
33056 a$="pe an der [198]loppy leuchtet ! [215]enn [211]ie":gosub100
33058 a$="das tun, kann die momentan geoeffne-":gosub100
33060 a$="te [196]atei nicht mehr verwendet werden,":gosub100
33062 a$="sondern muss neu angelegt werden, wo-":gosub100
33064 a$="bei alle [196]aten dieser [196]atei verloren-":gosub100
33066 a$="gehen. [215]arten [211]ie mit dem [200]erausneh-":gosub100
33068 a$="men der [196]isk also immer, bis das [208]ro-":gosub100
33070 a$="gramm sie geschlossen hat (wird auf dem":gosub100
33072 a$="[194]ildschirm angezeigt). [201]n diesem [218]usam-":gosub100
33074 a$="menhang ist auch sehr wichtig, dass":gosub100
33076 a$="[211]ie das [208]rogramm [206][213][210] ueber die [198]unk-":gosub100
33078 a$="tion '[197]' des [200]auptmenues verlassen,":gosub100
33080 a$="ansonsten koennen wertvolle [196]aten der":gosub100
33082 a$="[196]atendisk verlorengehen...":gosub100
33083 gosub33300
33084 a$="":gosub100
33086 a$="---":gosub100:a$="":gosub100
33088 a$="[193]utor des [208]rogrammes: [206]ikolaus [200]eusler":gosub100
33090 a$="(c)opyright [205]arkt & [212]echnik [214]erlag [193][199]":gosub100
33092 a$="":gosub100:a$="[196]ieses [208]rogramm ist urheberrechtlich":gosub100
33094 a$="geschuetzt. [213]nerlaubte [203]opierung, [214]er-":gosub100
33096 a$="vielfaeltigung, [214]erleih oder [214]ermietung":gosub100
33098 a$="ist untersagt. [202]egliche unautorisierte":gosub100
33100 a$="[206]utzung wird straf- und zivilrechtlich":gosub100
33102 a$="verfolgt.":gosub100
33199 printtab(12)"[144]--- [212]aste ---":systa:return
33300 a$="[201]m [208]rogramm koennen [211]ie durch [196]ruck auf":gosub100
33302 a$="die [212]aste <^> fast immer in das":gosub100
33304 a$="naechsthoehere [205]enue zurueckkehren.":goto100
34000 f$="[198]reier [211]peicher":gosub3000
34002 print"[199][193][210][194][193][199][197] [195][207][204][204][197][195][212][201][207][206] ... [194]itte warten ...
34004 a[178][184](.):aa[178][194](55)[170][194](56)[172]256[171][194](45)[171][194](46)[172]256
34006 [153]"ascreier (NULL)peicher: "a"peekytes
34008 print" ="int(10000*a/aa+.5)/100"%
34010 [153]"((NULL)aste druecken)":[158]ta:[142]
35000 f$[178]"(NULL)iste drucken":[141]3000:a%[178].
35002 [141]3700:[139]ok[178].[167][142]
35003 [141]3710:[139]ok[178].[167][142]
35004 [141]2000:[139]st[179].[167][153]"str$rucker nicht an ! ((NULL)aste)":[158]ta:[142]
35006 [153]"peekitte definieren (NULL)ie jetzt die (NULL)aske,
35008 print"die zum [196]rucken herangezogen werden
35010 [153]"soll (f7 (NULL)aste = left$right$(NULL)ascval) ((NULL)aste)":[158]ta:[141]3000:[158]aw
35012 [151]646,1:[158]ci:[158]oh:[158]ed:[141]3000:[141]35500
35013 [153]"peekitte (NULL)elektierung waehlen:
35014 print" ([193]) [193]uswahl nach [211]chluesselfeld
35016 [153]" (peek) "dv$"von str$atensatz x"dv$" "dv$"bis str$atens. y"dv$
35017 [139]mk[167][153]" (len) (NULL)arkierte (NULL)aetze drucken
35018 print" ([196])[160][193]bbruch
35020 [161]a$:[139]a$[178]"^"[176]a$[178]"d"[167][142]
35022 [139]a$[178]"b"[167]35100
35024 [139]a$[178]"a"[167]35200
35025 [139]a$[178]"c"[167][139]mk[167]35400
35026 [137]35020
35100 [153]"valingabe von '^': atnbbruch":[153]"(NULL)onclosestr$atensatz cmdcmdcmd";:[158]in,3,a$
35102 [139]a$[178]"^"[167][142]
35104 vo[178][197](a$):[139]vo[179]1[176]vo[177]nb[167][153]"ononononon":[137]35100
35106 [153]"peekisclosestr$atensatz cmdcmdcmd";:[158]in,3,a$:[139]a$[178]"^"[167][142]
35108 bi[178][197](a$):[139]bi[179]vo[176]bi[177]nb[167][153]"ononon":[137]35106
35110 [141]3000:[159]4,4,zo:[129]i[178]vo[164]bi:[141]35300:[139]x$[178]"^"[167]i[178]bi
35115 [130]:[160]4:[142]
35200 [153]"peekitte (NULL)uchbegriff eingeben":[153]"(mid$oker: '*', '?', atnbbruch: '^')
35202 print"[211]uche nach: ";:sysin,16,su$:ifsu$="^"thenreturn
35204 print"[211]uche von [196]atensatz [206]r. [157][157][157]";:sysin,3,a$:vo=val(a$)
35205 ifa$="^"thenreturn
35206 ifvo<1orvo>nbthenprint"[145][145][145]":goto35204
35208 print"[211]uche bis [196]atensatz [206]r. [157][157][157]";:sysin,3,a$:ifa$="^"thenreturn
35210 bi=val(a$):ifbi<voorbi>nbthenprint"[145][145][145]":goto35208
35212 gosub3000:open4,4,zo
35214 ifvo<=bithensyssq,su$,s$(vo),s$(bi),t%:ift%then35218
35216 close4:return
35218 i=t%:gosub35300:vo=t%+1:goto35214
35300 ife%=1anda%=1thenprint"([215]eiter mit [212]astendruck)[145]":systa
35301 a%=1:print"[196]rucke [196]atensatz"i"[157] [145]
35302 [158]br,t%(i),s%(i),0:[158]aw:[158]we:[158]si,8,[194](821),a$
35304 [158]vr,50688,a$:[158]us:[161]x$:[142]
35400 [141]3000:[159]4,4,zo:[129]i[178]1[164]nb:[139]m%(i)[167][141]35300:[139]x$[178]"^"[167]i[178]nb
35402 [130]:[160]4:[142]
35500 [153]"valinzelblattfunktion ? [j/n]":[141]3010:e%[178]ok:[142]
36000 f$[178]"str$atensatz drucken":[141]3000
36002 [141]3700:[139]ok[178].[167][142]
36003 [141]3710:[139]ok[178].[167][142]
36004 [141]2000:[139]st[178][171]128[167][153]"str$rucker nicht an ! ((NULL)aste)":[158]ta:[142]
36005 [153]"str$atensatznummer ('^' = valnde) ? ";:[158]in,3,a$:[139]a$[178]"^"[167][142]
36006 i[178][197](a$):[139]i[179]1[176]i[177]nb[167]36000
36008 [141]3800:[159]4,4,zo:[158]dd:[160]4:[137]36000
37000 f$[178]"(NULL)arkierungen":[141]3000
37002 [139]mk[178].[167][153]"(NULL)eine (NULL)arkierung vorhanden ! ((NULL)aste)":[158]ta:[142]
37004 [153]" (atn) (NULL)arkierungen anzeigen
37006 print" ([194]) [205]arkierungen loeschen
37007 [153]" (len) (NULL)arkierungen manipulieren
37008 print" ([196]) [205]arkierungen invertieren":print" ([197]) [205]arkierte [211]aetze zeigen
37009 [153]" (asc) (NULL)um (NULL)enue
37010 geta$:ifa$="^"thena$="f
37011 [139]a$[179]"a"[176]a$[177]"f"[167]37010
37012 [139]a$[178]"f"[167][142]
37014 [139]a$[178]"b"[167]37100
37015 [139]a$[178]"e"[167]37400
37016 [139]a$[178]"c"[167]37200
37017 [139]a$[178]"d"[167]37300
37018 f$[178]"anzeigen":[141]3000:[153]"ascolgende str$atensaetze sind markiert:":ok[178].
37020 [129]i[178]1[164]nb:[139]m%(i)[167]ok[178]1[170]ok:[153][201](" "[170][196](i),4);
37022 [130]:[153]:[139]ok[167][153]"atnnzahl (NULL)arkierungen:"ok:[137]37030
37024 [153]"onon(NULL)eine (NULL)arkierungen gefunden ! "
37030 [153]"peekitte (NULL)aste druecken !":[158]ta:[137]37000
37100 [153]"(NULL)ind (NULL)ie sicher ? [j/n]":[141]3010:[139]ok[178]1[167]37104
37102 [137]37000
37104 [129]i[178]1[164]nb:m%(i)[178].:[130]:mk[178].:[142]
37200 f$[178]"manipulieren":[141]3000:[153]" ('^' = valnde)
37202 print"[145][145][145][196]atensatznummer ? ";:sysin,3,a$:ifa$="^"then37000
37204 a=val(a$):ifa<1ora>nbthen37200
37206 print"[218]ustand der [205]arkierung:
37208 [153]" vorher: "m%(a):[151]198,1:[151]631,48[170]m%(a)
37210 [153]" nachher ? ";:[158]in,1,a$:[139]a$[179]"0"[176]a$[177]"1"[167][153]"onononononon":[137]37206
37212 m%(a)[178][197](a$):[137]37200
37300 [153]"str$er (NULL)ustand aller (NULL)arkierungen wird umgedreht...
37302 fori=1tonb:m%(i)=1-m%(i):next:print"([212]aste)":systa:goto37000
37400 print"[196]ie markierten [211]aetze werden gezeigt:
37402 [153]" (nach jedem (NULL)atz (NULL)val(NULL)(NULL)(NULL)(NULL)wait fuer weiter,
37403 print" _[192][146] fuer [197]nde)":systa
37404 fori=1tonb:ifm%(i)=.then37420
37406 gosub3800:poke198,.
37408 geta$:ifa$="_"ora$="^"then37000
37410 ifa$<>chr$(13)then37408
37420 next:goto37000
40000 :
40002 rem ***** masterdata 64 *****
40003 rem * ------------- *
40004 rem * von nikolaus heusler *
40005 rem * zwengauerweg 18 *
40006 rem * 8000 muenchen 71 *
40007 rem * *
40008 rem * rueckfragen werden *
40009 rem * gegen dm 5,00 fuer *
40010 rem * porto und verpackung *
40011 rem * vom autor sehr gerne *
40012 rem * beantwortet. bitte *
40013 rem * keine postwertzeichen *
40014 rem * ueber 2 dm beilegen ! *
40015 rem * vielen dank... *
40016 rem * *
40018 rem * (c) markt & technik *
40019 rem * alle rechte vorbehal- *
40020 rem * ten, (w) nss 1988 *
40021 rem * *
40022 rem * juli,august,sept.1987 *
40023 rem * *
40024 rem ********* ende **********