10 REM ******************************** 20 REM * 30 REM * PROGRAM * REGISTER 40 REM * AV * ISTVAN TOTH 50 REM * DEN * 1979-11-15 60 REM * 70 REM ******************************** 80 DIM X$=8%,G$=1% 90 ONERRORGOTO 90 : ; 'Ange DIMENSION f|r RAD & KOLUMN '; : INPUT C%,G1% : C%=C%-1% : IF G1%>120% THEN 90 100 N%=PEEK(65064%)*256%+PEEK(65063%)-PEEK(65057%)*256%-PEEK(65056%) : N%=N%-710% 110 DIM N$=140%,N1$=140% : G%=INT(N%/((C%+1%)*(G1%+6%))) : G%=G%-1% 120 IF G%<1% THEN 90 : DIM P$(G%,C%)=G1% : X$='L'+NUM$(C%+1%)+NUM$(G1%) 130 ; CHR$(12%) 140 ; ' Det finns'J%' Poster'G%' Ryms' : ; 'Rad & Kolumn:'X$ 150 ; : ; : ; : ; : ; CUR(20%,0%)' 1 = INMATNING 2 = AVL[SNING' 160 ; ' 3 = S\KNING 4 = LISTNING' : ; ' 5 = [NDRING 6 = SORTERING' 170 ; TAB(13%)'BEHOV '; : GET N$ : ; : B%=ASC(N$) 180 IF B%<49% OR B%>54% THEN GOTO 140 190 ON B%-48% GOTO 200,310,380,460,490,590 200 ; 'Vill du spara p} KASSETT svara med (J)'; : ; : GET G$ : IF G$='J' THEN 270 210 IF J%<0% THEN J%=0% 220 J%=1%+J% : IF J%>G% THEN 650 : X%=J% 230 FOR K%=0% TO C% : N$=STRING$(G1%,42%) : N$=N$+' '+'rad.'+NUM$(K%+1%) 240 GOSUB 690 250 IF ASC(N$)=13% AND K%=0% THEN J%=J%-1% ELSE 260 : GOTO 140 260 GOSUB 730 : P$(J%,K%)=N$ : H%=J% : NEXT K% : ; : GOTO 220 270 ; 'ST[LL IN KASSETTEN f|r INSPELNING och TRYCK p} en TANGENT n{r du {r klar'; 280 GET G$ : GOSUB 750 : PREPARE X$ ASFILE 1% : ; #1%,J% 290 FOR R%=1% TO J% : FOR K%=0% TO C% : ; #1%,P$(R%,K%); : ; #1% 300 NEXT K% : NEXT R% : CLOSE 1% : GOTO 140 310 ; 'ST[LL IN KASSETTEN f|r AVSPELNING och TRYCK p} en TANGENT.'; : GET G$ 320 ONERRORGOTO 760 330 GOSUB 750 : OPEN X$ ASFILE 1% : INPUT #1%,J% 340 ; CUR(20%,5%)G%-H%; : ; ' RYMS AV 'J%-H%' FR]N FILEN ' : IF J%>G% THEN J%=G% 350 FOR R%=H%+1% TO J% : FOR K%=0% TO C% : INPUTLINE #1%,N1$ 360 P$(R%,K%)=LEFT$(N1$,LEN(N1$)-2%) : NEXT K% : NEXT R% : CLOSE 1% : H%=J% 370 GOTO 120 380 ; : ; 'Skriv den S\KTA TEXTEN' : ; : INPUTLINE N$ : ; 390 IF ASC(N$)=13% THEN 150 400 P1%=0% : FOR R%=1% TO J% : FOR K%=0% TO C% 410 P%=INSTR(1%,P$(R%,K%),LEFT$(N$,LEN(N$)-2%)) : IF P%=0% THEN 440 420 GOSUB 670 : P1%=1% : GET G$ : IF ASC(G$)=13% THEN 150 430 IF ASC(G$)=42% THEN U%=1% : GOSUB 670 : ; : U%=0% 440 NEXT K% : NEXT R% : IF P1%>0% THEN GOTO 380 ELSE ; 'FINNS EJ I REGISTRET' 450 GOTO 380 460 FOR R%=1% TO J% : GOSUB 670 : GET G$ : IF ASC(G$)=13% THEN 140 470 IF ASC(G$)=42% THEN U%=1% : GOSUB 670 : U%=0% 480 NEXT R% : GOTO 140 490 ONERRORGOTO 140 : ; : ; : ; 'Vilket POSTnr. vill du {ndra i '; : INPUT N$ 500 IF ASC(N$)<14% THEN 140 : R%=VAL(N$) 510 IF R%<1% OR R%>J% THEN GOTO 490 520 FOR K%=0% TO C% : ; : ; TAB(LEN(NUM$(X%))+4%)P$(R%,K%); : NEXT K% : ; 530 FOR K%=0% TO C% : ; : GOSUB 770 : IF K%<>0% THEN GOTO 550 540 IF N$='BORT' THEN 570 550 IF ASC(N$)=0% THEN ; P$(R%,K%) ELSE P$(R%,K%)=N$ 560 NEXT K% : GOTO 490 570 J%=J%-1% : FOR R%=R% TO J% : FOR K%=0% TO C% : P$(R%,K%)=P$(R%+1%,K%) 580 NEXT K% : NEXT R% : H%=J% : GOTO 490 590 ONERRORGOTO 590 : ; : ; 'EFTER VILKEN RAD 1 -'C% : INPUT N$ : IF VAL(N$)<1% OR VAL(N$)>C%+1% THEN 590 600 C1%=VAL(N$)-1% : GOSUB 750 610 FOR I%=1% TO J%-1% : FOR N%=I%+1% TO J% : IF P$(I%,C1%)
0% THEN 680 ELSE ; #U%'nr.'R% : ; 680 FOR K%=0% TO C% : ; #U%P$(R%,K%) : NEXT K% : ; #U% : RETURN 690 ; 'nr.'X%' 'N$ : ; TAB(LEN(NUM$(X%))+4%); : N1$=N$ : INPUTLINE N$ : ; 700 IF ASC(N$)=13% THEN 720 ELSE N$=LEFT$(N$,LEN(N$)-2%) 710 IF LEN(N$)>G1% THEN ; : ; TAB(23%)'F\R L]NG TEXT'CHR$(7%) : N$=N1$ : GOTO 690 720 RETURN 730 IF ASC(N$)=13% THEN N$=SPACE$(G1%) 740 RETURN 750 ; CHR$(12%)CUR(12%,7%)'ARBETAR' : RETURN 760 J%=H% : ; CUR(12%,7%)'FEL P] AVL[SNING!'CHR$(7%) : GOTO 150 770 ; P$(R%,K%) : N$=P$(0%,0%) : G$=' ' : G2%=LEN(P$(R%,K%)) : A%=0% 780 GET G$ : IF ASC(G$)=13% THEN 830 : IF ASC(G$)<>8% THEN 800 790 ; G$SPACE$(1%)G$; : N$=LEFT$(N$,LEN(N$)-1%) : GOTO 780 800 IF ASC(G$)<>9% THEN 820 : IF A%+1%>G2% THEN 780 ELSE A%=A%+1% 810 G$=MID$(P$(R%,K%),A%,1%) 820 ; G$; : N$=N$+G$ : GOTO 780 830 IF LEN(N$)<=G1% THEN 840 : N$=LEFT$(N$,G1%) : ; CHR$(7%)' F\R L]NG TEXT! ' 840 ; : RETURN