home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
64'er Special 31
/
64er_Magazin_Sonderheft_31_19xx_Markt__Technik_de.d64
/
bearbeitung
(
.txt
)
next >
Wrap
Commodore BASIC
|
2022-10-26
|
11KB
|
361 lines
10 rem---------------------------------
20 rem
30 rem mdatailbox bearbeitung v2.6
40 rem
50 rem (c) copyright by paddle-soft
60 rem oktober 1985
70 rem---------------------------------
80 clr:f1=8:f2=8:poke53272,23
90 sp$=" "
100 dimna$(250),pa$(250),a(250)
105 dimme$(10,9),ty(9,9),ss$(140),mn$(9,9)
110 poke 53280,2:poke53281,2:printchr$(144)
111 print"[147]":print" [193][195][200][212][213][206][199] [146]"
112 print:print" [213]nbedingt [198]astload ausschalten !!!"
113 print:print" [196]ieses programm arbeitet mit"
114 print" relativen [196]ateien !"
115 print:print:print" [198]astload kann das nicht !!!"
116 print:print:print:print:print:input" [206]ochmals anfangen? (j/n)";e$
117 print"[147]":poke 53280,6:poke 53281,6:printchr(5)
118 if e$="j"then:end
120 poke53280,15:poke53281,12:poke646,6
130 forx=1to10:readmb$(x):next
140 print"[147] [205]ailbox [194]earbeitung [146]":forx=1to10
150 printtab(5)mb$(x)"":nextx
160 wait198,1:geta$
170 a=val(a$)
180 close1:open1,f1,15,"i":close1
190 iff2<>f1thenopen1,f2,15,"i":close1
200 onagosub2000,900,2350,370,2840,3060,3280,8000,9000
210 goto140
220 rem
230 rem-----datas--------------------
240 rem
250 data"[158][208]asswoerter [213][199] editieren..1"
260 data"[205]enumacher................2"
270 data"[144][210]enaming,[211]cratching.......3"
280 data"[201]nstall..................(4)"
290 data"[196]irectory.................5"
300 data"[213]ser-[204]oeschen.............6"
310 data"[213]serl.+[208]assw. ansehen.....7"
317 data"[144][213]serliste.................8"
319 data"[200]ackerpass zeigen.........9"
320 data"[196]atendiskette(n) einlegen"
340 rem
350 rem-----install--------------------
360 rem
370 print"[147] [201]nstall [146]":close2
380 print"[193]chtung: [206]ur am [212]age 00 benutzen!"
390 print"[215]ollen [211]ie [201]nstallieren ? (j/n)":wait198,1:geta$:ifa$<>"j"thenreturn
400 print""sp$:print""sp$:print"[206]ur [203]leinbuchstaben!"
410 input"[201]hr [208]seudonym ";na$:input"[201]hr [208]asswort ";pa$
420 print"menues einlesen."
430 print"[201]nstall [198]iles:"
440 print"[163][163][163][163][163][163][163][163][163][163][163][163][163]"
450 close1:open1,f2,3,"menues,s,r"
460 input#1,a$:ifa$=chr$(255)then560
470 input#1,x,y,z:ifz=4then520
480 ifz=12thenopen2,f1,4,a$+",s,w":print#2,"[204]eer":printx"[157]"right$(str$(y),1)"/";
490 ifz=3thenopen2,f1,4,a$+",s,w":print#2,chr$(255):printx"[157]"right$(str$(y),1)"/";
500 close2:goto460
510 rem-------------------------------
520 open2,f1,4,a$+",s,w"
530 print#2,"zeitlos":print#2,"sysop":print#2,chr$(13)+"file init"+chr$(13)
540 print#2,chr$(255):close2:printx"[157]"right$(str$(y),1)"/";:goto460
550 rem-------------------------------
560 print:print"[193]nfang install."
570 close1:open2,f2,4,"anfang,s,w":print#2,chr$(255):close2
580 rem-------------------------------
590 print"userliste install."
600 print"ulist.index install."
610 open2,f2,3,"userliste,s,w":print#2,na$:print#2,1:close2
620 open2,f2,3,"ulist.index,s,w"
630 print#2,1:close2
640 rem-------------------------------
650 rem
660 open2,f2,3,"protokol,s,w":close2
670 rem-------------------------------
680 print"anmeldung install."
690 open2,f2,3,"anmeldung,s,w"
700 print#2,"[204]eer":close2
710 close1:open1,f2,3,"userfile,s,w":print#1,"*":close1
720 open1,f2,3,"[204]eer,s,w":print#1,chr$(255):close1
730 rem-------------------------------
740 rem
810 close3:close1
820 rem-------------------------------
830 print"callers install."
840 open2,f2,3,"@:callers,s,w":print#2,1
850 rem-------------------------------
860 print"usergroups install."
870 close2:gosub1730
875 open2,f2,3,"@:hackerpass,s,w":print#2,chr$(255):close2
877 open2,f2,3,"@:filebox,s,w":print#2,chr$(255):print#2,chr$(255):close2
880 open2,f2,3,"@:anleitung,s,w":print#2,chr$(255):close2
882 open2,f2,3,"@:files,s,w":print#2,chr$(255):close2
884 open2,f2,15,"s:userliste.*":print#2,"c:userliste.backup=userliste":close2
886 open2,f2,2,"@:meckerecke,s,w":print#2,chr$(255):close2
888 open2,f2,2,"misthaufen,s,w":close2:return
890 rem-----menumacher----------------
900 rem
910 print"[147] [205]enumacher [146]":close1:close15
920 print"menues einlesen."
930 open1,f2,3,"menues,s,r":open15,f2,15
940 input#15,c,s$,d,f:ifc<>0thenin=1:goto980
950 input#1,me$:ifme$=chr$(255)then980
960 input#1,a,b,ty:me$(a,b)=me$:ty(a,b)=ty:goto950
970 rem-------------------------------
980 close15:close1:print"[147] [205]enumacher [146]":close1
990 z=0:print"[206]r"tab(3)"[201]nhalt"tab(35)"[198]kt."
1000 print"[163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163]"
1010 fora=1to9:forb=0to9
1020 ifme$(a,b)<>""thenprintme$(a,b)tab(34)ty(a,b):z=z+1:ifz>13thengosub1490
1030 nextb:ifme$(a+1,0)<>""thenprint:z=z+1:ifz>13thengosub1490
1040 nexta
1050 print"[164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164]":print
1060 print"[l]esen[160][e]dit[160][s]cratch[160][m]ove [q]uit"
1070 wait198,1:getx$
1080 ifx$="l"orx$=chr$(13)then980
1090 ifx$="m"then1600
1100 ifx$="e"then1150
1110 ifx$="s"then1400
1120 ifx$="q"then1320
1130 goto1070
1140 rem-------------------------------
1150 gosub1550:iffl=1then980
1160 l=len(me$(a,b)):ifl<3thenl=3
1170 print"[157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][193]lt>[160]"right$(me$(a,b),l-3)left$(sp$,37-l):n$=me$(a,b)
1180 input"[206]ame:";me$(a,b)
1190 input"[198][203][212]-[206]r:";ty(a,b)
1200 me$(a,b)=mid$(str$(a),2,1)+mid$(str$(b),2,1)+" "+me$(a,b)
1210 print"[145][145][145]"sp$:printsp$:printsp$:print"[145][145][145][145]";:ifin=1then1150
1220 close1:ifl=3then1240
1230 open1,f1,15,"s:"+n$:close1
1240 ifty(a,b)=4then1280
1250 ifty(a,b)=12thenopen1,f2,4,me$(a,b)+",s,w":print#1,"[204]eer":close1
1260 ifty(a,b)=3thenopen1,f1,4,me$(a,b)+",s,w":print#1,chr$(255):close1
1270 goto1150
1280 open1,f1,4,me$(a,b)+",s,w"
1290 print#1,"zeitlos":print#1,"sysop":print#1,chr$(13)+"file[160]init"+chr$(13)
1300 print#1,chr$(255):close1:goto1150
1310 rem-------------------------------
1320 close15:open15,f2,15,"s:menues"
1330 close1:open1,f2,3,"menues,s,w"
1340 fora=1to9:forb=0to9
1350 ifme$(a,b)<>""thenprint#1,me$(a,b):print#1,a:print#1,b:print#1,ty(a,b)
1360 nextb:nexta
1370 print#1,chr$(255):close1:close15
1380 return
1390 rem-------------------------------
1400 fl=0:gosub1550:iffl=1then980
1410 l=len(me$(a,b)):ifl<3thenl=3
1420 print"[157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][206]ame>[160]"right$(me$(a,b),l-3)left$(sp$,34-l)
1430 ty=ty(a,b):print"[211]icher (j/n)?":wait198,1:geta$:ifa$<>"j"then1470
1440 ty(a,b)=0:n$=me$(a,b):me$(a,b)=""
1450 if(ty<>3andty<>4andty<>8andty<>12)orin=1then1470
1460 close1:open1,f1,15,"s:"+n$:n$=""
1470 close1:goto980
1480 rem-------------------------------
1490 print"[164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164]"
1500 print:printtab(25)"<[195][210]>=weiter":wait198,1:geta$:
1510 print"[147] [205]enumacher [146]"
1520 z=0:print"[206]r"tab(3)"[201]nhalt"tab(35)"[198]kt."
1530 print"[163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163]":return
1540 rem-------------------------------
1550 fl=0:print"[211]eitennummer >";:wait198,1:geta$:printa$;:a=val(a$)
1560 ifa=0thenfl=1:return
1570 wait198,1:getb$:printb$;:b=val(b$)
1580 return
1590 rem-------------------------------
1600 gosub1550:iffl=1then980
1610 l=len(me$(a,b)):ifl<3thenl=3
1620 print"[157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][193]lt?[160]"me$(a,b)left$(sp$,34-l):n$=me$(a,b):ty=ty(a,b)
1630 printtab(8)right$(me$(a,b),l-3)
1640 input"[145][206]eu";ns$
1650 me$(a,b)="":ty(a,b)=0
1660 a=val(left$(ns$,1)):b=val(mid$(ns$,2,1)):me$(a,b)=ns$:ty(a,b)=ty
1670 if(ty<>3andty<>4andty<>8andty<>12)orin=1then1690
1680 open15,f1,15,"r:"+ns$+"="+n$:input#15,c,s$,d,f:close15
1690 print"[145][145][145]"sp$:printsp$:printsp$:print"[145][145][145]";:goto980
1700 rem
1710 rem-----usergroup init------------
1720 rem
1730 close1:open1,f2,15,"s:usergroups"
1740 gosub1860
1750 rn=100:p=1:i$=chr$(255):gosub1840:close1:close3
1760 gosub1860
1770 p=1:i$="\":forrn=1to99:gosub1840:nextrn
1780 p=22:i$="0":forrn=1to99:gosub1840:nextrn
1790 p=18:i$="\":forrn=10to99step10:gosub1840:nextrn
1800 p=1:i$="remote":forrn=19to99step10:gosub1840:nextrn
1810 p=22:i$="3":forrn=19to99step10:gosub1840:nextrn
1820 close1:close3:return
1830 rem------------------------------
1840 print#3,"p"+chr$(3)+chr$(rn)+chr$(0)+chr$(p):print#1,i$:return
1850 rem-----------------------------
1860 close1:close3
1870 open1,f2,3,"usergroups,l,"+chr$(25)
1880 open3,f2,15:return
1890 rem find user
1900 forx=0toau
1910 ifsb$=na$(x)thenff=0:return
1920 next:ff=1
1930 return
1970 rem
1980 rem-----passwoerter ug----------
1990 rem
2000 print"[147] [208]asswoerter [213][199] editieren [146]"
2010 print"usergroups einlesen."
2020 close3:close1:open1,f2,3,"usergroups,l,"+chr$(25):open3,f2,15
2030 forun=1to9:gosub2220:input#1,ug$(un):nextun
2040 forun=1to9:gosub2240:input#1,rp$(un):nextun
2050 print"[147] [208]asswoerter [213][199] editieren [146]"
2060 print" [206]r"tab(5)"[213]sergroup"tab(23)"[210]emote"
2070 print"[163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163]"
2080 forx=1to9:printxtab(5)ug$(x)tab(23)rp$(x):nextx
2090 print"[164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164]"
2100 print"[?] [213]sergroupnummer [[197]] [197]xit >":wait198,1:geta$
2110 a=val(a$):ifa$="e"ora$="[197]"thenclose1:close3:return
2120 ifa=0thena=1
2130 print"[206]ur [203]leinbuchstaben!"
2140 print"[213][199]-[208]asswort "ug$(a)
2150 input"[145]";ug$(a)
2160 iflen(ug$(a))>16then2150
2170 print"[210][205]-[208]asswort "rp$(a)
2180 input"[145]";rp$(a)
2190 iflen(rp$(a))>6then2180
2200 un=a:gosub2220:print#1,ug$(a):gosub2240:print#1,rp$(a):goto2050
2210 rem------------------------------
2220 print#3,"p"+chr$(3)+chr$(un*10)+chr$(0)+chr$(1):return
2230 rem-----------------------------
2240 print#3,"p"+chr$(3)+chr$(un*10)+chr$(0)+chr$(18):return
2250 z=z0:m=z-1:z=2^z:x=z/2:
2260 ifm<0thenff=1:return
2270 m=m-1:ifx>authenx=x-2^m:goto2260
2280 ifsb$=na$(x)thenff=0:return
2290 ifsb$<na$(x)thenx=x-2^m:goto2260
2300 x=x+2^m:ifx>zthenff=1:return
2310 goto2260
2320 rem
2330 rem-----renamsing scratching------
2340 rem
2350 print"[147] [210]enaming,[211]cratching [146]":fr=0
2360 print"[211]oll ein chr$(255) angehaengt werden ?";:wait198,1:getb$:printb$
2370 ifb$="j"thenfr=1
2380 print"menues einlesen."
2390 close1:open1,f2,4,"menues,s,r"
2400 input#1,a$:ifa$=chr$(255)then2420
2410 input#1,z1,z2,z3:mn$(z1,z2)=a$:ty(z1,z2)=z3:goto2400
2420 close1:close15:close2
2430 print"directory einlesen.":poke198,0:wait198,1
2440 rem------------------------------
2450 open15,f1,15,"i":open2,f1,2,"#"
2460 t=18:s=1:f=0:zs=1
2470 print#15,"u1:2 0"t;s
2480 get#2,a$:get#2,a$
2490 s=asc(a$+chr$(0)):fori=1to8
2500 print#15,"b-p 2"i*32+2
2510 get#2,a$:ifa$<>chr$(129)then2560
2520 print#15,"b-p 2"i*32+5
2530 f$="":forj=1to16:get#2,a$
2540 f$=f$+a$:nextj
2550 ifleft$(f$,1)="("andmid$(f$,4,1)=")"thenss$(zs)=f$:zs=zs+1
2560 nexti:ifs<19then2470
2570 zs=zs-1:close2:close15
2580 rem-----------------------------
2590 ifss$(1)=""andzs<2then2720
2600 print"[198]iles:":print"[163][163][163][163][163]"
2610 close1:open1,f1,15:forx=1tozs
2620 z1$=mid$(ss$(x),2,1):z2$=mid$(ss$(x),3,1):z1=val(z1$):z2=val(z2$)
2630 print#1,"s:"+mn$(z1,z2)
2640 print#1,"r:"+mn$(z1,z2)+"="+left$(ss$(x),4):printz1$z2$"/";:nextx:close1
2650 iffr=0then2720
2660 forx=1tozs
2670 z1$=mid$(ss$(x),2,1):z2$=mid$(ss$(x),3,1):z1=val(z1$):z2=val(z2$)
2680 ifty(z1,z2)<>3then2700
2690 open1,f1,3,mn$(z1,z2)+",s,a":print#1,chr$(255):close1
2700 nextx:close1
2710 rem-----------------------------
2720 print:print"[206]och[160]andere[160][198]iles (von [198]loppy"f1") ?":wait198,1:geta$
2730 ifa$="j"ora$="[202]"then2750
2740 return
2750 input"[211]eitenname";sn$
2760 input"[208]seudoname";pn$
2770 close1:open1,f1,15,"s:"+sn$
2780 print#1,"r:"+sn$+"="+pn$
2790 input#1,c,s$,d,f:ifc<>0thenprint""s$:goto2820
2800 iffr=0then2820
2810 close1:open1,f1,3,sn$+",s,a":print#1,chr$(255)
2820 close1:goto2720
2830 rem-----------------------------
2840 print"[147] [211]eq. [196]irectory [146]":close2:close15
2850 open15,f1,15:open2,f1,2,"#"
2860 t=18:s=1:f=0:printtab(10);:f8=0
2870 print#15,"u1:2 0"t;s
2880 get#2,a$:get#2,a$
2890 s=asc(a$+chr$(0)):fori=1to8
2900 print#15,"b-p 2"i*32+2
2910 get#2,a$:ifa$<>chr$(129)then2960
2920 print#15,"b-p 2"i*32+5
2930 f$="":forj=1to16:get#2,a$
2940 printa$;:nextj
2950 print:printtab(10);
2960 nexti:f8=f8+1:iff8=2ands<19then3000
2970 ifs<19then2870
2980 close2:close15
2990 printtab(10)"[212]aste druecken.":wait198,1:geta$:return
3000 printtab(10)"[212]aste druecken."
3010 printtab(10)"[205]it <[195][210]> abbrechen.":wait198,1:geta$
3020 ifa$=chr$(13)thenclose2:close15:return
3030 print"[147] [211]eq. [196]irectory [146]":printtab(10);
3040 f8=0:goto2970
3050 rem-------------------------------
3060 print"[147] [213]ser-[204]oeschen [146]"
3070 x=0
3080 open1,f2,3,"ulist.index,s,r":input#1,uo:close1:open3,f2,4,"userliste,s,r"
3090 x=x+1:input#3,na$(x),pa$(x):ifst=0then3090
3100 close3:au=x:a1=au:goto3140
3140 au=a1:close1:close3:open3,f2,15
3150 print"[147] [213]ser-[204]oeschen [146]"
3160 input"[213]sername[160]>";a$:iflen(a$)>20then3150
3170 ifa$=""then3240
3180 sb$=a$:gosub1890:ifff=1thenprint"[213]ser existiert nicht.":a$="":goto3150
3190 print"[204]oesche[160]";a$;"."
3200 ni=val(pa$(x))
3210 fory=xtoau+1:na$(y)=na$(y+1):pa$(y)=pa$(y+1):nexty:au=au-1
3220 print#3,"s:\"+sb$
3230 a$="":goto3150
3240 close1:print#3,"s:userliste,ulist.index":close3
3250 close1:open1,f2,3,"userliste,s,w":forx=1toau
3260 print#1,na$(x):print#1,pa$(x):nextx:close1
3270 open1,f2,5,"ulist.index,s,w":print#1,au:close1:return
3280 print"[147] [213]serliste ansehen [146]"
3290 close2:open2,f2,4,"userliste,s,r":close1:close3:mm=0
3300 open3,f2,15
3305 dr=0:input"[193]uf [196]rucker[160]>(j/n)";a$
3307 ifa$="j"ora$="[202]"thenclose4:open4,4,7:dr=1
3308 ifdr=1thenprint#4,"[213]sername [208]asswort"
3309 ifdr=1thenprint#4,"========================================"
3310 print"[213]sername [208]asswort"
3315 print" "
3320 print"======================================="
3330 input#2,na$:input#2,pa$
3340 ifst=64thenmm=1
3360 ifpeek(198)=1thenmm=1:goto3380
3370 printna$;tab(21)pa$
3376 ifdr=1then4000
3380 ifmm=1thenclose1:close2:close3:poke198,0:wait198,1:poke198,0:return
3390 goto3330
4000 print#4,na$;
4010 print#4,chr$(16)"21"pa$;
4030 print#4,chr$(16)"42"la$
4040 goto3380
8000 print"[147] [213]serliste [146]"
8010 open2,8,2,"userliste,s,r":print:print:print:print
8020 x=x+1:input#2,a$:input#2,b$:printa$:ifst<>64then8020
8040 print"[144][212]aste":poke198,0:wait 198,1:close2:poke198,0:return
9000 print"[147] [200]ackerpass [146]"
9010 open2,8,2,"hackerpass,s,r":print:print:print:print
9020 input#2,a$:printa$:ifst<>64 and a$<>"="then9020
9040 print"[144][212]aste":poke198,0:wait 198,1:close2:poke198,0:return