home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
64'er Special 91
/
64er_Magazin_Sonderheft_91_19xx_Markt__Technik_de_Side_A.d64
/
vokabelprogramm
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2022-10-26
|
11KB
|
423 lines
10 rem"**************************"
20 rem"*** ***"
30 rem"*** vokabel programm ***"
40 rem"*** ***"
50 rem"*** von dirk langhuber ***"
60 rem"*** ***"
70 rem"**************************"
80 :
90 poke 53280,7:poke 53281,5:print"[144]"
100 printchr$(14)
110 gosub 3730
120 clr:dimc$(50,3):dima$(40),z$(1,4):bg=49
130 cl$=chr$(147)
140 cl$=chr$(147):printcl$
150 printcl$:poke204,1:poke207,0:rem *** menue ***
160 print"*****************"
170 print"* *"
180 print"* [214]okabel menue *"
190 print"* *"
200 print"*****************"
210 print"[214]okabeln eingeben (1)"
220 print"[214]okabeln abfragen (2)"
230 print"[214]okabeln abspeichern (3)"
240 print"[214]okabeln einlesen (4)"
250 print"[214]okabeln anschauen (5)"
260 print"[214]okabeln uebersetzen (6)"
270 print"[214]okabeln drucken (7)"
280 print"[214]okabeln aendern (8)
290 [153]"valnde (9)
300 get a$:if a$=""then 300
310 on val(a$)goto 350,610,1520,1670,1990,2190,2390,3080,330
320 goto 300
330 print"[147][197]nde":end
350 if na$=""then gosub 4150
360 printcl$:if b=0 then 430
370 print"n[146]eue [196]atei einrichten"
380 print"a[146]lte [196]atei ergaenzen"
390 get a$:if a$=""then 390
400 if a$="n"then 120
410 if a$="a"then 430
420 goto 390
430 printcl$
440 if peek(53272)<>31 then 480
450 print""
460 print"[176]=a [174]=s [172]=d [187]=f [180]=h [165]=g [181]=j [161]=k [182]=l [173]=z [189]=x [166]=+ [220]=- [168]=\ @=[203]lammeraffe"
470 print""
480 b=b+1
490 if b>bg then goto 3600
500 print"[214]okabel nr.";b
510 print"";na$;
520 input c$(b,1)
530 if c$(b,1)=""orc$(b,1)=chr$(13)thenb=b-1:goto 130
540 input"[196]eutsch";c$(b,2)
550 print"in [207]rdnung(j/n)
560 [161] a$:[139] a$[178]""[167] 560
570 [139] a$[178]"j"[167] 430
580 [139] a$[178]"n"[167] b[178]b[171]1:[137] 430
590 [139] a$[178][199](13)[167] 140
600 [137] 560
610 [143] *** abfragen ***
620 z[178]0:[139]b[178]0[167] 130
630 [153][199](147)
640 [129]x[178]0[164]b:c$(x,3)[178]"":[130]x
650 [153][199](147)
660 [153]"schriftlich (1)"
670 [153]"muendlich (2)"
680 [161]sm$:[139]sm$[178]""[167] 680
690 [139] sm$[178][199](13)[167]130
700 [139] sm$[179][177]"1"[175]sm$[179][177]"2"[167] 680
710 [153][199](147)
720 [153]"str$eutsch - "na$" (1)
730 print""na$" - [196]eutsch (2)"
740 print"[199]emischt - [199]emischt (3)"
750 get df$:ifdf$=""then750
760 if df$<>"1"anddf$<>"2"anddf$<>"3"then 750
770 ifsm$="1"thenprint"[211]ollen die [218]eichen <[211]pace> / . ( )"
780 ifsm$="1"thenprint"selbstaendig angezeigt werden (j/n)"
790 ifsm$="1"thenget bz$:ifbz$=""then 790
800 ifsm$="1"then if bz$<>"j"andbz$<>"n"then 790
810 ey=0:rem schriftlich
820 if df$="3"then a=int(2*rnd(1)+1):if a=1then d=2:goto840
830 d=1
840 if df$="1"then a=1:d=2
850 if df$="2"then a=2:d=1
860 c=int(b*rnd(1)+1)
870 if c$(c,3)="1"then 860
880 z=z+1:if z=bthen130
890 print"[147]";z;" : ";b
900 if peek(53272)<>31 then 930
910 print""
920 print"[176]=a [174]=s [172]=d [187]=f [180]=h [165]=g [181]=j [161]=k [182]=l [173]=z [189]=x [166]=+ [220]=- [168]=\ @=[203]lammeraffe"
930 on a goto 940,970
940 print"[196]eutsch ";c$(c,2)
950 print""na$" ";
960 goto 990
970 print""na$" ";c$(c,1)
980 print"[196]eutsch ";
990 if sm$="2"then 1400
1000 e$="":a$="":e=0
1010 b$=mid$(c$(c,a),e+1,1)
1020 if b$=chr$(32)then a$=b$
1030 if b$=chr$(40)then a$=b$
1040 if b$=chr$(41)then a$=b$
1050 if b$=chr$(47)then a$=b$
1060 if b$=chr$(46)then a$=b$
1070 if a$<>""andbz$="j"then 1140
1080 poke204,0:geta$:ifa$=""then 1080
1090 if e<0thene=0
1100 if a$=chr$(13)and e=0then 130
1110 if a$="?"and e=0theney=2:print"":poke205,2:wait207,1,1:poke204,1:goto1370
1120 if a$=chr$(13)thenpoke205,2:wait207,1,1:poke204,1:goto 1180
1130 if a$=chr$(19)ora$=chr$(17)ora$=chr$(29)ora$=chr$(147)ora$=chr$(145)then1080
1140 printa$;:e=e+1
1150 if a$=chr$(20)then e=e-2:goto1080
1160 a$(e)=a$:a$=""
1170 goto1010
1180 forx=1toe:e$=e$+a$(x):nextx
1190 ife$=c$(c,a)thenprint"[210]ichtig[146] ":forx=1to2000:next:c$(c,3)="1":goto 810
1200 er=0:w=0:y=0
1210 if len(c$(c,a))<>len(e$)then 1270
1220 for x=1tolen(e$)
1230 if mid$(c$(c,a),x,1)<>mid$(e$,x,1)then er=er+1
1240 if er=2 then 1360
1250 nextx
1260 goto 1350
1270 if abs(len(c$(c,a)))-len(e$)>1then 1360
1280 if len(c$(c,a))>len(e$)then forx=1tolen(c$(c,a)):ez=1
1290 if len(c$(c,a))<len(e$)then forx=1tolen(e$):ez=0
1300 if mid$(c$(c,a),x+w,1)<>mid$(e$,x+y,1)then er=er+1
1310 if er=2then 1360
1320 if ez=1ander=1then w=1
1330 if ez=0ander=1then y=1
1340 nextx
1350 print"fehlerhafte [211]chreibweise[146]":forx=1to2000:next:ey=2:goto1370
1360 print"[198]alsch[146] ":forx=1to2000:nextx
1370 ey=ey+1:if ey=3then print"";c$(c,a)
1380 if ey=3then for x=1to3000:next:ey=0:z=z-1:goto810
1390 goto 890
1400 rem muendlich
1410 print:print:print:print:print"<[211][208][193][195][197]>=[215]eiter":print:print"<[197][206][212][197][210]>=[205]enue"
1420 get a$:if a$=chr$(13)then 130
1430 if a$=chr$(32) then 1450
1440 goto 1420
1450 print"";c$(c,a)
1460 print:print:print:print"<[202]>=[210]ichtig ":print:print"<[206]>=[198]alsch "
1470 print: print"<[197][206][212][197][210]>=[205]enue"
1480 get a$:if a$=chr$(13)then 130
1490 if a$="n"or a$="[206]" then z=z-1:goto 810
1500 if a$="j"or a$="[202]" then c$(c,3)="1":goto 810
1510 goto 1480
1520 rem *** abspeichern ***
1530 printcl$:print"[193]bspeichern
1540 [133]"(NULL)ame : ";d$
1550 [139] d$[178][199](13)[176] d$[178]""[167] 130
1560 [159] 2,8,2,"8:"[170]d$[170]",s,w"
1570 [139] st[179][177]0[175]st[179][177]64[167]3400
1580 b$[178][196](b):[153]b$:[136] i$(1,1)[178]b$:i$(1,2)[178]na$
1590 [152]2,i$(1,1):[152]2,i$(1,2)
1600 [129] s[178]1 [164] b
1610 [139] st[179][177]0[175]st[179][177]64[167]3400
1620 [139] st[178]64[167] [160]2:[137] 140
1630 [129] v[178]1 [164] 2
1640 [139] c$(s,v)[178]""[167] [136] c$(s,v)[178]" "
1650 [152]2,c$(s,v)
1660 [130]:[130]:[160] 2:[137] 140
1670 [143] *** einlesen ***
1680 [153]cl$:[153]"valinlesen"
1690 [139] b[178]0 [167] 1770
1700 [153]"(NULL)waitoeschen"
1710 [153]"valwaitrgenzen"
1720 [161]a$:[139]a$[178]""[167] 1720
1730 [139] a$[178]"l"[167] b[178]1:[137]1770
1740 [139] a$[178]"e"[167] b[178]b[170]1:[137]1770
1750 [139] a$[178][199](13)[176] a$[178]""[167] 130
1760 [137]1720
1770 [153]"$=str$irectory"
1780 dd$[178][199](13):[133]"(NULL)ame : ";dd$
1790 [139] dd$[178][199](13)[176] dd$[178]""[167] 130
1800 [139] dd$[179][177]"$"[167] 1860
1810 [153]cl$:[159] 1,8,0,"$:*=seq":[161]#1,a$,a$
1820 [161]#1,a$,a$:[139]st[178]64 [167] [160]1:[151]198,0:[146]198,1:[153]"load":[137]1770
1830 [161]#1,a$,b$:[153][198](a$[170][199](0))[170]256[172][198](b$[170][199](0));
1840 [161]#1,a$:[153]a$;:[139]a$[179][177]""[167]1840
1850 [153]:[137]1820
1860 [159] 2,8,2,"8:"[170]dd$[170]",s,r"
1870 [139] st[179][177] 0 [175] st [179][177]64 [167] 3400
1880 [132]2,c$(b,1),c$(b,2)
1890 na$[178]c$(b,2)
1900 [139] st [179][177] 0 [175] st [179][177]64 [167] 3400
1910 b[178]b[171]1
1920 b[178]b[170]1:[139] b[177]bg [167] 1980
1930 [139] st[178]64 [167] 1980
1940 [132]2,c$(b,1),c$(b,2):[137] 1920
1950 [139] st[178]64 [167] 1980
1960 [139] st[179][177]0 [175] st[179][177]64[167] 3400
1970 [137] 1920
1980 [160] 2:c$(b,1)[178]"":c$(b,2)[178]"":b[178]b[171]1:[137] 140
1990 [153][199](147)
2000 [129] as[178]1 [164] b :za[178]1
2010 [139] as[177]1 [167] [153]"onon":za[178]0
2020 [139] as[173](7[170]za)[178][181](as[173](7[170]za))[167] [161] ww$:[139]ww$[178]""[167] 2020
2030 [139] ww$[178][199](13)[167]ww$[178]"":[137]140
2040 [139] ww$[179][177]""[167] [153]"load":ww$[178]""
2050 [139] [195](c$(as,1))[177]16 [167] [137] 2080
2060 [153]as" ";c$(as,1);"on"
2070 [137] 2110
2080 [153]as;[200](c$(as,1),16)
2090 [153]" ";[201](c$(as,1),[195](c$(as,1))[171]16);"onon"
2100 [137] 2110
2110 [139] [195](c$(as,2))[177]16 [167] [137] 2160
2120 [153][163]22);c$(as,2);""
2130 [153]"":[130] as
2140 [139] as[177]b [167] [161] ww$:[139] ww$[179][177]""[167]140
2150 [137] 2140
2160 [153][163]22);[200](c$(as,2),16)
2170 [153][163]22);[201](c$(as,2),[195](c$(as,2))[171]16)
2180 [137] 2130
2190 [153]cl$
2200 [139] na$[178]"valnglisch"[167][153]"(NULL)oll ein valwaitngliches":[137] 2220
2210 [153]"(NULL)oll ein ascranzoesischewaits"
2220 [153]"oder ein str$waiteutsches (NULL)ort "
2230 [153]"uebersetzt werden ?"
2240 [161] c$:[139] c$[178]""[167] 2240
2250 [139] c$[178][199](13)[167] 140
2260 [139] c$[178]"e"[167] w[178]1:ww[178]2:[137] 2290
2270 [139] c$[178]"d"[167] w[178]2:ww[178]1:[137] 2300
2280 [137] 2190
2290 [139] w[178]1 [167] [153]"loadvalnglische (NULL)okabel":[137] 2310
2300 [153]"loadstr$eutsche (NULL)okabel"
2310 [133]"";d$
2320 [139] [195](d$)[178]0[167] 140
2330 [129] z[178]1[164]b
2340 [139] c$(z,w)[178]d$ [167] [153]"load"[163]5)""d$
2350 [139] c$(z,w)[178]d$ [167] [153][163]5)""c$(z,ww):[137] 2380
2360 [130]
2370 [153]"load(NULL)okabel nicht vorhanden"
2380 [129] q[178]1[164] 3000:[130]q:[137] 130
2390 [143] *** drucken ***
2400 [153]"loadstr$rucken"
2410 [153]"(NULL)ollen alle (NULL)okabeln gedruckt"
2420 [153]"werden (j/n)?"
2430 [161] a$:[139] a$[178]""[167] 2430
2440 [139] a$[178][199](13)[167] 140
2450 [139] a$[178]"j"[167] v[178]b:vv[178]1:[137] 2480
2460 [139] a$[178]"n"[167] [137] 3990
2470 [137] 2430
2480 [153]"valwaitinzelblatt valnwaitdlospapier"
2490 [161] a$:[139] a$[178]""[167] 2490
2500 [139] a$[178]"e"[167] q[178]1:[137] 2530
2510 [139] a$[178]"n"[167] q[178]2:[137] 2530
2520 [137] 2490
2530 :
2540 [133]"str$ateiname:";d$
2550 [153]"right$st das (NULL)apier eingelegt (j/n)?"
2560 [161] a$:[139] a$[178]""[167] 2560
2570 [139] a$[178][199](13)[167] 140
2580 [139] a$[178]"j"[167] 2610
2590 [139] a$[178]"n"[167] [153]"onpeekitte (NULL)apier einlegen ! ononononon"
2600 [129] x[178]1 [164] 1000:[130]:[137] 2550
2610 [159] 1,4,7
2620 [159] 2,4,1
2630 [152]2,[199](27);[199](64);
2640 [152]2,[199](27);[199](81);[199](240);
2650 [152]2,[199](27);[199](108);[199](10);
2660 [152]2,[199](27);[199](112);[199](1)
2670 [152]1,d$
2680 [152]2,[199](27);[199](55)
2690 [152]1,na$;
2700 [152]2,[199](27);[199](36);[199](205);[199](0);
2710 [152]1,"str$eutsch"
2720 [152]1,"---------------------------------------------------------------";
2730 [152]1,"----------"
2740 z[178]0
2750 [129] d[178]vv [164] v
2760 z[178]z[170]1
2770 [139] z[178]54[167] [137] 4090
2780 :
2790 [129] a[178]1 [164] [195](c$(d,1))[170]1:[139] a[178][195](c$(d,1))[170]1[167] 2960
2800 b$[178][202](c$(d,1),a,1)
2810 [139] b$[178]"or"[167] [152]2,[199](133);:[130]a
2820 [139] b$[178]"^"[167] [152]2,[199](138);:[130]a
2830 [139] b$[178]"*"[167] [152]2,[199](130);:[130]a
2840 [139] b$[178]"rnd"[167] [152]2,[199](136);:[130]a
2850 [139] b$[178]"fn"[167] [152]2,[199](135);:[130]a
2860 [139] b$[178]"sgn"[167] [152]2,[199](163);:[130]a
2870 [139] b$[178]"int"[167] [152]2,[199](147);:[130]a
2880 [139] b$[178]"get"[167] [152]2,[199](128);:[130]a
2890 [139] b$[178]"/"[167] [152]2,[199](140);:[130]a
2900 [139] b$[178]"@"[167] [152]2,[199](225);:[130]a
2910 [139] b$[178]"spc("[167] [152]2,[199](132);:[130]a
2920 [139] b$[178]"(NULL)"[167] [152]2,[199](148);:[130]a
2930 [139] b$[178]"not"[167] [152]2,[199](129);:[130]a
2940 [139] b$[178]"abs"[167] [152]2,"spc(" ;:[130]a
2950 [152]1,b$;:[130]a
2960 [152]2,[199](27);[199](36);[199](205);[199](0);
2970 [129] a[178]1 [164] [195](c$(d,2))[170]1:[139] a[178][195](c$(d,2))[170]1[167] 3040
2980 b$[178][202](c$(d,2),a,1)
2990 [139] b$[178]"@"[167] [152]2,[199](225);:[130] a
3000 [139] b$[178]"spc("[167] [152]2,[199](132);:[130]a
3010 [139] b$[178]"(NULL)"[167] [152]2,[199](148);:[130]a
3020 [139] b$[178]"not"[167] [152]2,[199](129);:[130]a
3030 [152]1,b$;:[130]a
3040 [152]1
3050 [130] d
3060 [160]1:[160]2
3070 [137] 140
3080 [143] aendern
3090 [153]"loadatnendern"
3100 vn[178]0:[133]"(NULL)okabel (NULL)r.";vn
3110 [139] vn[178]0 [167] 140
3120 [139] vn[177]b [167] 3090
3130 [153]"load(NULL)okabel (NULL)r.";vn
3140 [153]""na$" :"c$(vn,1)
3150 [153]"str$eutsch :"c$(vn,2)
3160 [153]"";na$;
3170 [133]c$(vn,1)
3180 [133]"str$eutsch";c$(vn,2)
3190 [153]"(NULL)oll noch eine (NULL)okabel geaendert werden (j/n)?
3200 get as$:if as$=""then 3200
3210 ifas$="j"then 3090
3220 ifas$="n"then 140
3230 goto 3200
3240 rem anschauen muendlich
3250 if val(a$)=1thenw=1:ww=2:goto3290
3260 if val(a$)=2thenw=2:ww=1:goto3290
3270 if val(a$)=3then
3280 goto 63999
3290 vn=int(b*rnd(1)+1)
3300 if c$(vn,3)<>""then z=z+1:if z<b+1then 3290
3310 if z>bthen140
3320 print"[147][196]eutsch: ";c$(vn,ww)
3330 get ww$:if ww$=""then 3330
3340 if ww$=chr$(13)then 610
3350 if ww$=chr$(32)then print"[197]nglisch: ";c$(vn,w):goto3370
3360 goto 3330
3370 c$(vn,3)="*"
3380 print"[212][193][211][212][197]":get tt$:iftt$=""then3380
3390 print" ":goto 3290
3400 rem speicherroutine
3410 open 13,8,15
3420 input#13,a1,a2$,a3,a4
3430 ifval(a$)=3anda1=63thenclose2:close13:goto 3510
3440 print"[197][210][210][207][210]:
3450 [153]"tab(tab(tab(tab(tab("
3460 [153]"";a1;a2$;a3;a4
3470 [160]13
3480 [153]"(NULL)aste"
3490 [161] a$:[139] a$[178]""[167] 3490
3500 [160]1:[160]2:[160]13:[137] 140
3510 [153]"loadstr$ateiname belegt
3520 print"u[146]eberschreiben":print"e[146]rgaenzen":print"n[146]euer name"
3530 get a$:if a$=""then 3530
3540 if a$="u"then open 2,8,15,"s:"+d$:close2::goto 1560
3550 ifa$="e"thenopen2,8,2,"8:"+d$+",s,r":input#2,t$(1,1):close2
3560 if a$="e"thenif val(t$(1,1))+b=>bgthen3600
3570 if a$="e"thenclose2:open 2,8,2,"8:"+d$+",s,a":goto 1600
3580 if a$="n"then 1520
3590 goto 3530
3600 rem piep
3610 for pi=1 to 10
3620 print"[147][206]icht genug [211]peicherplatz frei !"
3630 poke 54296,15
3640 poke 54278,240
3650 poke 214,4:poke 211,a:sys 58640
3660 poke 54273,29
3670 poke 54276,17
3680 for x=1 to 100:next
3690 poke 54276,16
3700 for x=1 to 100:next
3710 next pi
3720 goto 140
3730 printchr$(147)
3740 a$="[214]okabelprogramm [214]5.2"
3750 a=1
3760 for x=1 to len(a$)
3770 a=a+2
3780 for y=40 to a step-2
3790 poke 214,4:poke211,y:sys 58640
3800 print mid$(a$,x,1);" "
3810 nexty
3820 poke 54296,15
3830 poke 54278,240
3840 poke 54273,50
3850 poke 54276,17
3860 for s=1 to 10:nexts
3870 poke 54276,16
3880 poke 53280,x
3890 nextx
3900 poke 53280,7
3910 print"copyright by [196]irk [204]anghuber"
3920 print"alle [205]enuepunkte mit [210]eturn[146] verlassen"
3930 get a$:if a$=""then 3930
3940 if a$=chr$(13)then 120
3950 goto 3930
3960 get a$:if a$=""then 120
3970 return
3980 if a$=chr$(13)then 120
3990 print"[147][193]b welcher [214]okabel"
4000 print"soll ausgedruckt werden ?"
4010 input"[214]okabel [206]r.";vv
4020 ifvv>b then 3990
4030 ifvv<1 then 3990
4040 print"[147][194]is zu welcher [214]okabel"
4050 print"soll ausgedruckt werden ?"
4060 input"[214]okabel [206]r.";v
4070 if v>b or v<vv then 4040
4080 goto 2480
4090 if q=1 then print"[147][194]itte neues [208]apier einlegen !!!"
4100 if q=1 then print#1,chr$(27);chr$(102);chr$(1);chr$(25):z=0:goto 2670
4110 if q=2 then print#1,chr$(27);chr$(102);chr$(1);chr$(25):z=0:goto 2670
4120 goto 2780
4130 print#1,chr$(27);chr$(103)
4140 goto 2780
4150 printchr$(147)
4160 print"[198][146]ranzoesisch"
4170 print"[197][146]nglisch"
4180 print"[193][146]ndere"
4190 get a$:if a$=""then 4190
4200 if a$="f"then let na$="[198]ranzoesisch"
4210 if a$="e"then let na$="[197]nglisch"
4220 if a$="a"then print"[206]ame:":input"";na$
4230 return