10 REM +-------------------------------+ 20 REM ! Program .... GLOSSARY.BAS ! 30 REM ! GLOSSARY.DAT ! 40 REM ! Utg}va 1.0 1986-03-09 ! 50 REM ! av Hans Andersson <980> ! 60 REM ! Minne 16 Kbytes ! 70 REM ! Screening TES 86 03 19 ! 80 REM +-------------------------------+ 90 REM Glos-f|rh|r p} ABC80 . 100 REM Anvisningar finns i GLOSSARY.DAT 110 REM Denna fil kommer att raderas d} 120 REM inmatade glosor sparas ! 130 REM 135 N9%=149% : REM Max antal glosor 140 DIM C$(N9%)=40%,W$=22% 145 REM MENY 150 ; CHR$(12) 160 ; CUR(0,17)"MENY" 170 ; CUR(3,5)"1 INMATNING" 180 ; CUR(5,5)"2 INMATNIG TILL BANDSPELARE" 190 ; CUR(7,5)"3 H[MTNING FR]N BANDSPELARE" 200 ; CUR(9,5)"4 LISTNING OCH [NDRING AV GLOSOR" 210 ; CUR(11,5)"5 SORTERING OCH [NDRING AV GLOSOR" 220 ; CUR(13,5)"6 F\RH\R,SLUMPVIS" 230 ; CUR(15,5)"7 F\RH\R AV GLOSOR I ORDNINGSF\LJD" 240 ; CUR(17,5)"8 T\MNING AV MINNET" : ; CUR(19,5)"9 AVSLUTA" 250 ; CUR(21,7)"ANTAL GLOSOR I MINNET" : ; CUR(21,29)N% 260 ; CUR(21,5); : GET [$ 270 ON INSTR(1%,"123456789",[$)+1% GOTO 150,290,750,820,1030,950,540,1280,1470,1530 280 REM INMATNING 290 ; CHR$(12) 300 ; "H[R KAN DU MATA IN DE GLOSOR SOM DU \NS-" 305 ; "KAR. TRYCK P] RETURN I L[GE 'ENGELSKA' OM DU VILL G] TILLBAKA TILL MENYN" 310 ; CUR(3,33)". HAR DU AV MISSTAG STAVAT FEL TILL N]GOT ENG-" 315 ; "ELSKT ORD KAN DU R[TTA TILL DETTA DIREKTGENOM ATT TRYCKA" 320 ; CUR(6,17)"P] RETURN I L[GE 'SVEN-SKA'." 330 ; CUR(10,0)"ENGELSKA" : ; CUR(10,20)"SVENSKA" 340 REM 350 REM 360 ; CUR(12,0); : INPUTLINE B$ 370 IF B$=CHR$(13)+CHR$(10) THEN GOTO 150 380 IF N%>N9% THEN GOTO 90 390 B%=LEN(B$)-2% 400 B$=LEFT$(B$,B%) 410 REM 420 REM 430 ; CUR(12,20); : INPUTLINE A$ : IF A$=CHR$(13)+CHR$(10) THEN GOTO 360 440 A%=LEN(A$)-2% 450 A$=LEFT$(A$,A%) 460 ; CUR(12,0);STRING$(40,32) 470 B%=20%-B% 480 D$=SPACE$(B%) 490 REM 500 N%=N%+1% 510 C$(N%)=B$+D$+A$ 520 GOTO 360 530 REM SLUMPVIS F\RH\R 540 IF N%=0% THEN GOTO 90 550 ; CHR$(12) : ; CUR(10,0)"SVENSKA" : ; CUR(10,20)"ENGELSKA" : ; CUR(22,0)"TRYCK P] RETURN F\R NY GLOSA! ^=MENY" 560 REM SLUMPVIS F\RH\R 570 RANDOMIZE 580 Q%=INT(RND*N%+1%) 590 IF Q%<1% THEN Q%=Q%+1% 600 W$=RIGHT$(C$(Q%),21%) 610 ; CUR(12,0)W$ 620 ; CUR(12,20); : INPUTLINE P$ 630 K%=LEN(P$) : K%=K%-2% : P$=LEFT$(P$,K%) 640 L%=20%-K% : N$=SPACE$(L%) : P$=P$+N$ 650 U$=LEFT$(C$(Q%),20%) 660 IF P$=U$ THEN GOTO 670 ELSE GOTO 680 670 ; CUR(16,20)"R[TT" : GOTO 690 680 ; CUR(16,20)U$ 690 ; CUR(22,36); : GET V$ 700 IF V$="^" OR V$="~" THEN GOTO 150 710 ; CUR(12,0);STRING$(40,32) 720 ; CUR(16,0);STRING$(40,32) 730 GOTO 570 740 REM BANDSPELARE UT 750 PREPARE "GLOSSARY.DAT" ASFILE 1 760 FOR H%=1% TO N% 770 ; #1,C$(H%) 780 NEXT H% 790 CLOSE 1 800 GOTO 150 810 REM BANDSPELARE IN 820 IF N%>N9% THEN GOTO 90 ELSE GOTO 830 830 ONERRORGOTO 920 : OPEN "GLOSSARY.DAT" ASFILE 1 840 ONERRORGOTO 910 850 FOR C%=N% TO N9% 860 N%=N%+1% 870 IF N%>N9% THEN GOTO 910 880 INPUTLINE #1,C$ 890 O%=LEN(C$) : O%=O%-2% : C$(N%)=LEFT$(C$,O%) 900 NEXT C% 910 CLOSE 1 : N%=N%-1% : GOTO 90 920 CLOSE 1 : IF N%<0% THEN N%=0% 930 GOTO 90 940 REM SORTERING I ALFABETISK ORDNING 950 IF N%<1% THEN GOTO 90 960 ; CHR$(12) 970 ; CUR(12,12)"JAG SORTERAR" : FOR I%=1% TO N%-1% 980 FOR J%=I%+1% TO N% 990 IF C$(I%)6% THEN GOTO 1080 ELSE GOTO 1120 1080 ; CUR(18,0)"TRYCK P] RETURN F\R FORTSATT LISTNING." : ; 1085 ; "TRYCK P] '<' F\R [NDRING AV GLOSOR." : ; : ; "^=MENY" 1090 ; CUR(22,7); : A%=0% : GET V$ 1100 IF V$="<" THEN GOTO 1150 ELSE GOTO 1110 1110 IF V$="^" OR V$="~" THEN GOTO 90 ELSE ; CHR$(12) 1120 NEXT X% 1130 GOTO 1050 1140 REM [NDRING 1150 ; CUR(18,0);STRING$(40,32) : ; CUR(20,0);STRING$(40,32) : ; CUR(22,0);STRING$(40,32) 1160 ; CUR(18,0)"VILKEN GLOSA VILL DU [NDRA?" : ; CUR(20,0); : INPUTLINE E$ 1170 Y%=LEN(E$) : Y%=Y%-2% : E$=LEFT$(E$,Y%)+SPACE$(20%-Y%) 1180 FOR Z%=1% TO N% 1190 IF E$=LEFT$(C$(Z%),20) THEN GOTO 1230 1200 NEXT Z% 1210 Z%=0% 1220 GOTO 90 1230 ; CUR(22,0)C$(Z%) : ; CUR(22,0); : INPUTLINE B$ : ; CUR(22,20); : INPUTLINE A$ 1240 IF A$=CHR$(13)+CHR$(10) THEN GOTO 1250 ELSE GOTO 1260 1250 C$(Z%)=C$(N%) : N%=N%-1% : GOTO 90 1260 B%=LEN(B$)-2% : A%=LEN(A$)-2% : B$=LEFT$(B$,B%) : A$=LEFT$(A$,A%) : D$=SPACE$(20%-B%) : C$(Z%)=B$+D$+A$ 1265 GOTO 90 1270 REM SYSTEMATISK F\RH\R 1280 IF N%=0% THEN GOTO 90 1290 ; CHR$(12) 1300 ; CUR(10,0)"SVENSKA ENGELSKA" : ; CUR(22,0)"TRYCK P] RETURN F\R NY GLOSA! ^=MENY" 1310 FOR X%=1% TO N% 1320 ; CUR(12,0)RIGHT$(C$(X%),21) 1330 ; CUR(12,20); : INPUTLINE E$ 1340 E%=LEN(E$)-2% : E$=LEFT$(E$,E%) 1350 F%=20%-E% : F$=SPACE$(F%) 1360 E$=E$+F$ 1370 G$=LEFT$(C$(X%),20) 1380 IF E$=G$ THEN GOTO 1390 ELSE GOTO 1400 1390 ; CUR(16,20)"R[TT" : GOTO 1410 1400 ; CUR(16,20)LEFT$(C$(X%),20) 1410 ; CUR(22,36); : GET T$ 1420 IF T$="^" THEN GOTO 150 ELSE GOTO 1430 1430 ; CUR(12,0);STRING$(40,32) : ; CUR(16,0);STRING$(40,32) 1440 NEXT X% 1450 GOTO 1310 1460 REM O-ST[LLNING AV VARIABLERNA 1470 FOR X%=1 TO N% 1480 C$(N%)=C$(0%) 1490 N%=N%-1% 1500 NEXT X% 1510 GOTO 150 1520 REM AVSLUTNING 1530 END