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