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))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 ZBTHEN140 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