2 ]$=""
10 DIM B$(100) : DIM C$(100) : DIM D$(100) : B=1 : DIM W$(100) : DIM W3$(100) : DIM W4$(100)
14 ; "F|rening:"; : INPUT T5$ : IF LEN(T5$)<2 THEN T5$="MEDLEM.DAT" : GOTO 20
15 Q=INSTR(1,T5$,".") : IF Q=0 THEN T5$=T5$+".DAT"
20 ONERRORGOTO 70 : ; : ; T5$ : OPEN T5$ ASFILE 1
21 INPUTLINE #1,]$ : ]$=LEFT$(]$,LEN(]$)-2)
30 ONERRORGOTO 70 : INPUTLINE #1,B$(B) : B$(B)=LEFT$(B$(B),LEN(B$(B))-2)
40 INPUTLINE #1,C$(B) : C$(B)=LEFT$(C$(B),LEN(C$(B))-2)
50 INPUTLINE #1,D$(B) : D$(B)=LEFT$(D$(B),LEN(D$(B))-2)
60 B=B+1 : GOTO 30
70 CLOSE 1 : B=B-1
80 ; CHR$(12)]$
90 ; CUR(20,0)B : ; CUR(1,0);
100 RESTORE 110
110 \=0
120 ; : ;
130 ONERRORGOTO 170 : READ A$
140 \=\+1 : ; "<";\;" >",A$
150 REM
160 GOTO 130
170 ; CUR(16,0)"Ditt val :"; : GET R$
175 IF R$="7" AND B<1 THEN 170
180 IF ASC(R$)>57 XOR ASC(R$)<49 THEN 170
190 ; R$ : ; : ; "R{tt val (J/n)"; : GET T$ : IF T$="n" XOR T$="N" THEN 80
200 ON INSTR(1,"123456789",R$) GOTO 220,410,550,650,960,1160,1280,1500,1230
210 ; R
220 REM *** [ndra person ***
230 ; CHR$(12)
240 ; CUR(5,0)"Vilken person skall {ndras ?"; : INPUT A$ : IF LEN(A$)<1 THEN 240
250 ONERRORGOTO 360 : A=VAL(A$)
260 IF VAL(A$)>B THEN 240
270 REM *** [ndra ****
280 ; CUR(7,0)"Namn:";B$(A)
290 ; CUR(9,0)"Addr:";C$(A)
300 ; CUR(11,0)"Tele:";D$(A)
310 ; CUR(7,LEN(B$(A))+7); : INPUTLINE B$ : B$=LEFT$(B$,LEN(B$)-2) : IF LEN(B$)<2 THEN B$=B$(A)
320 ; CUR(9,LEN(C$(A))+9); : INPUTLINE C$ : C$=LEFT$(C$,LEN(C$)-2) : IF LEN(C$)<2 THEN C$=C$(A)
330 ; CUR(11,LEN(D$(A))+10); : INPUTLINE D$ : D$=LEFT$(D$,LEN(D$)-2) : IF LEN(D$)<2 THEN D$=D$(A)
340 B$(A)=B$ : C$(A)=C$ : D$(A)=D$
350 GOTO 80
360 FOR A=1 TO B
370 IF B$(A)=A$ THEN 270
380 L7=INSTR(1,B$(A),LEFT$(A$,1)) : IF L7=0 THEN 400
390 IF MID$(B$(A),L7,LEN(A$))=A$ THEN 270
400 NEXT A : GOTO 80
410 REM *** Utskrift ***
420 ; CHR$(12)
430 L%=0
440 ; "P} Monitor eller Skrivare (M)"; : GET R$ : IF R$="S" XOR R$="s" THEN L%=1
450 ; CHR$(12) : OPEN "PR:" ASFILE L%
460 ; #L%,CHR$(14)" Medlemsf|rteckning,";]$
465 ; L%,""
470 ; #L%,""
480 FOR I=1 TO B
490 ; #L%,CHR$(15)" "+B$(I)
491 ; #L%,CHR$(15)" "+C$(I)
492 ; #L%,CHR$(15)" "+D$(I)
500 IF I>5 AND L%=0 THEN GET R$
510 NEXT I
520 CLOSE L%
530 GET R$
540 GOTO 80
550 REM *** Ny medlem ***
560 ; CHR$(12)
570 I=B
580 ; "Namn:"; : INPUTLINE B$(I+1) : B$(I+1)=LEFT$(B$(I+1),LEN(B$(I+1))-2)
590 ; : ; "Addr:"; : INPUTLINE C$(I+1) : C$(I+1)=LEFT$(C$(I+1),LEN(C$(I+1))-2)
600 ; : ; "Tele:"; : INPUTLINE D$(I+1) : D$(I+1)=LEFT$(D$(I+1),LEN(D$(I+1))-2)
610 ; : ; "St{mmer (J/n)"; : GET R$ : IF R$="N" XOR R$="n" THEN 630
620 B=B+1
630 ; : ; "Flera (j/N)"; : GET R$ : IF R$="J" XOR R$="j" THEN 550
640 GOTO 80
650 REM *** S|ka i reg. ***
651 W2=0
660 FOR I=1 TO W2 : W$(I)="" : W3$(I)="" : W4$(I)="" : NEXT I : W2=0
670 ; CHR$(12)
671 ; "1 - Addr 2 - Namn"; : GET R$ : IF R$="1" THEN 871 ELSE 680
680 ; : ; "S|ka p} F|r el. Efternamn (efter)"; : GET R$ : IF R$="F" XOR R$="f" THEN 790
690 ; : ; "Del av efternamn:"; : INPUT A$ : IF LEN(A$)<1 THEN 690
700 FOR I=1 TO B
710 L7=INSTR(2,B$(I)," ")
711 IF L7=0 THEN L=0 : GOTO 1025
720 FOR J=L7 TO LEN(B$(I))-LEN(A$)+1
730 IF MID$(B$(I),J,LEN(A$))=A$ THEN P$=MID$(B$(I),J,LEN(A$)) ELSE 750
740 W2=W2+1 : W$(W2)=B$(I) : W3$(W2)=C$(I) : W4$(W2)=D$(I) : J=LEN(B$(I))-LEN(A$)+1
750 NEXT J
760 NEXT I
770 A$="( efternamn ) "+A$
780 GOTO 890
790 REM - F|rnamn -
800 ; : ; "Del av f|rnamn:"; : INPUT A$ : IF LEN(A$)<1 THEN 800
810 FOR I=1 TO B
820 L7=INSTR(1,B$(I)," ")
830 FOR J=1 TO L7 : REM LEN(A$)
840 IF MID$(B$(I),J,LEN(A$))=A$ THEN P$=LEFT$(B$(I),LEN(A$)) ELSE 860
850 W2=W2+1 : W$(W2)=B$(I) : W3$(W2)=C$(I) : W4$(W2)=D$(I) : J=L7
860 NEXT J
870 NEXT I : A$="( f|rnamn ) "+A$ : GOTO 890
871 ; : ; "Ange s|kord :"; : INPUT A$ : IF LEN(A$)<1 THEN 871
872 FOR I=1 TO B
874 FOR J=1 TO LEN(C$(I))-LEN(A$)+1
876 IF MID$(C$(I),J,LEN(A$))=A$ THEN P$=MID$(C$(I),J,LEN(A$)) ELSE 889
878 W2=W2+1 : W$(W2)=B$(I) : W3$(W2)=C$(I) : W4$(W2)=D$(I) : J=LEN(C$(I))-LEN(A$)+1
889 NEXT J : NEXT I : A$="( adress ) "+A$
890 ; CHR$(12)"S|kord :";A$
900 FOR T=1 TO W2
910 ; "Namn:";W$(T) : ; "Adress:";W3$(T) : ; "Telefon:";W4$(T)
920 ;
930 IF I>19 THEN GET R$
940 NEXT T
945 ; : ; T-1;" stycken."
950 ; : ; "Till Meny (J/n)"; : GET R$ : IF R$="N" XOR R$="n" THEN 650 ELSE 80
960 REM *** Spara uppg. ***
970 GOTO 1180
980 ; CHR$(12) : FOR J=1 TO B-1
990 ; CUR(15,0)"JAG SORTERAR"
1000 FOR I=J+1 TO B
1010 A=INSTR(1,B$(J)," ")
1020 IF LEN(B$(I))<2 THEN 1070 ELSE L=INSTR(1,B$(I)," ")
1025 IF L=0 THEN ; "Person ";B$(I)" {r felaktig ... G|r (1) {ndra person !!!" : GET R$ : GOTO 80
1030 Y$=RIGHT$(B$(J),A)
1040 Y1$=RIGHT$(B$(I),L)
1050 IF Y1$