1 REM ******************************* 2 REM * DIDEDIT .BAC * 3 REM * VER 1.1 / 1982-03-02 * 4 REM * Gjort av Nils H{ggblom * 5 REM * Mod. av Nils H{ggblom * 6 REM * Ins{nt av Nils H{ggblom * 7 REM ******************************* 8 REM 9 N0%=100% : N1%=25% : REM Max. poster,f{ltl{ngd 10 DIM A$(N0%)=N1%*2%,A%(N0%),B%(N0%),A$=1%,B$=120%,X$=120%,Y$=1%,C$=8%,D0$=6% 11 IF PEEK(65420%)=0% 124 12 ON PEEK(65420%) GOTO 15,103 13 DEFFNP%(X)=X*100%+.5 14 ; CUR(0%,0%); : CHAIN 'Didactos' 15 REM Skapa fil 16 IF CALL(65424%,0%)>19% D0$='Dr 0:' ELSE IF CALL(65424%,1%)>19% D0$='Dr 1:' 17 ; CHR$(12%),'Skapa fil' 18 ; ,CHR$(8%,151%)'#########' 19 FOR X%=0% TO N0% : A$(X%)='' : A%(X%)=0% : B%(X%)=0% : NEXT X% : B$='' 20 ; CUR(11%,37%)'$' 21 ; CUR(7%,0%)'Mata in rubrikinstruktioner f|r filen:' : ; : INPUTLINE X$ : X$=LEFT$(X$,LEN(X$)-2%) 22 IF LEN(X$)>=117% X$=LEFT$(X$,117%) 23 IF X$<>'' B$=X$ : F%=1% 24 L%=N1% 25 ; CUR(3%,0%)'Mata in listan som skall f|rh|ras.'CUR(19%,0%)'Bl{ddra:(<),(RETURN) Stryk:(#)' 26 ; 'R{tta :(<-),(->),(CTRL)+(X) Slut :($)'; 27 IF N%>N0%-1% N%=N%-1% 28 ; CUR(7%,0%)SPACE$(400%)CUR(16%,0%)'Post'N%+1%TAB(15%)'Inmatade :'M% 29 GOSUB 117 30 IF M%=N% AND V%=0% A$(N%)=SPACE$(N1%*2%) 31 FOR Z%=1% TO 2% : ; CUR(4%+3%*Z%,0%)'F{lt'Z%': 'SPACE$(N1%)'$'STRING$(N1%+1%,8%); 32 IF LEN(A$(N%))=N1%*2% ; MID$(A$(N%),Z%*N1%-N1%+1%,N1%) 33 NEXT Z% 34 FOR Z%=1% TO 2% 35 Z$=MID$(A$(N%),Z%*N1%-N1%+1%,N1%) 36 X%=CALL(65470%) 37 ; CUR(4%+3%*Z%,8%); : GOSUB 48 38 IF X$='<' IF N% N%=N%-1% : GOTO 27 ELSE 35 39 IF X$=CHR$(13%) IF N%N0% N%=N%-1% : V%=0% 46 N%=N%+1% : IF N%>M% M%=M%+1% : V%=0% 47 GOTO 27 48 REM Begr{nsad inmatning 49 X$='' 50 X%=LEN(X$) : GET Y$ : Y%=ASC(Y$) 51 IF Y%=13% OR Y%=60% Z$='' 52 IF (Y$='<' OR Y$=CHR$(13%)) AND L%<>8% AND X%=0% X$=Y$ : RETURN 53 IF Y%=13% IF X%<>0% IF L%=8% 66 ELSE ; SPACE$(N1%-X%); : RETURN ELSE IF L%=8% 61 ELSE 50 54 IF X%=L% AND Y%<>8% AND Y%<>24% 50 55 IF Y%=8% IF X% X$=LEFT$(X$,X%-1%) : ; CHR$(8%,32%,8%); 56 IF Y%=9% AND L%=N1% AND LEN(Z$) Y$=LEFT$(Z$,1%) : Z$=RIGHT$(Z$,2%) : GOTO 59 57 IF Y%=24% X$='' : ; SPACE$(L%-X%)STRING$(L%,8%)SPACE$(X%)STRING$(X%,8%); : GOTO 50 58 IF Y%<32% OR Y%>127% 50 59 ; Y$; : X$=X$+Y$ 60 GOTO 50 61 FOR X%=65408% TO 65415% 62 Y%=PEEK(X%) : IF Y%=13% 65 ELSE IF Y%>47% AND Y%<58% 64 ELSE Y%=Y% AND 95% 63 IF Y%<65% OR Y%>93% 50 64 X$=X$+CHR$(Y%) : NEXT X% 65 ; X$; : RETURN 66 IF X$='$' RETURN ELSE FOR X%=1% TO LEN(X$) 67 POKE X%+65407%,ASC(RIGHT$(X$,X%)) 68 NEXT X% : POKE X%+65407%,13% : RETURN 69 REM Radera post 70 FOR X%=N% TO M%-1% 71 A$(X%)=A$(X%+1%) 72 A%(X%)=A%(X%+1%) 73 B%(X%)=B%(X%+1%) 74 NEXT X% : A%(X%)=0% : B%(X%)=0% 75 M%=M%-1% : RETURN 76 REM Existerar fil x$? 77 X%=0% 78 ONERRORGOTO 81 79 OPEN X$+'.did' ASFILE 1% 80 X%=1% : D0$='DR'+NUM$(PEEK(64769%))+':' 81 IF Z%=X% IF X% ; CUR(22%,0%)'Filen 'X$' finns.' ELSE ; CUR(22%,0%)'Filen 'X$' finns inte.' ELSE 83 82 ; ':'; : GET Y$ 83 ; CUR(22%,0%)SPACE$(79%); : RETURN 84 REM Skriv fil 85 IF M%=0% OR F%=0% 14 86 Z%=1% 87 IF PEEK(65420%)=2% KILL D0$+C$+'.did' : X$=C$ : GOTO 93 88 ; CUR(7%,0%)SPACE$(520%)CUR(20%,0%)'Slut: ($)'SPACE$(35%)CUR(9%,0%)'Filnamn : $'STRING$(9%,8%); 89 L%=8% : GOSUB 48 90 IF X$='$' 14 91 GOSUB 76 92 IF Z%=X% 88 ELSE IF PEEK(65420%)=0% 106 ELSE ON PEEK(65420%) GOTO 93,106 93 ONERRORGOTO 96 94 PREPARE D0$+X$+'.did' ASFILE 1% 95 GOTO 97 96 ; CUR(22%,0%)'Ogiltiga tecken i filnamnet!'CHR$(7%); : GOTO 88 97 ; #1%B$ 98 FOR X%=0% TO M%-1% 99 ; #1%A$(X%)CHR$(13%)A%(X%)CHR$(13%)B%(X%) 100 NEXT X% 101 CLOSE 1% 102 GOTO 14 103 REM Editera fil 104 ; CHR$(12%),'Editera fil' : ; ,CHR$(8%,151%)'###########' 105 Z%=0% : GOTO 88 106 OPEN D0$+X$+'.did' ASFILE 1% 107 C$=X$ 108 INPUTLINE #1%,B$ 109 B$=LEFT$(B$,LEN(B$)-2%) 110 ONERRORGOTO 115 111 INPUTLINE #1%,X$ 112 A$(M%)=LEFT$(X$,LEN(X$)-2%) 113 INPUT #1%,A%(M%),B%(M%) 114 M%=M%+1% : GOTO 111 115 IF PEEK(65420%) ; CUR(9%,0%)B$SPACE$(118%-LEN(B$)) 116 IF PEEK(65420%) 20 ELSE 127 117 REM ;Felfrekvens 118 ; CUR(14%,0%)'Fel : 1->2 :'; 119 IF B%(N%) ; FNP%(1*A%(N%)/B%(N%))'%'; ELSE ; ' **'; 120 X%=B%(N%)/256% : Y%=A%(N%)/256% 121 ; TAB(25%)'2->1 :'; 122 IF X% ; FNP%(1*Y%/X%)'%' ELSE ; ' **' 123 RETURN 124 REM T|m felfrekvens 125 ; CHR$(12%),'T|m felfrekvens' : ; ,CHR$(8%,151%)'###############' 126 Z%=0% : GOTO 88 127 FOR X%=0% TO M% 128 A%(X%)=0% : B%(X%)=0% 129 NEXT X% 130 F%=1% : POKE 65420%,2% : GOTO 84 131 REM Skivorna fulla