10 REM +++++++++++++++++++++++++++++++++ 11 REM ! Program .... CASSEND3 12 REM ! Utg}va 3 81.12.17 13 REM ! av (c) B BRUZELIUS 14 REM ! Minne 16 Kbytes 15 REM ! Ins{nt av <1717> 16 REM +++++++++++++++++++++++++++++++++ 17 REM Programmet {r gjort s} att flera 18 REM rader g}r in i varje str{ngvektor 19 REM f|r alla rader {r ju inte 119 20 REM tecken l}nga. 21 M%=58% : B%=-1% 22 DIM B$(M%)=119%,B$=119%,F1$=119% 23 ; CHR$(12%)" -LOKAL MODE-" : ; 24 ; "<1) Half duplex terminal" 25 ; "<2> Ladda bufferten" 26 T=100 : IF R% GOSUB 86 27 GET B$ : I%=INSTR(1%,"12",B$)+1% 28 L%=0% : ON I% GOTO 23,29,62 29 B$=" V[NTAR P] B[RV]G " : GOSUB 88 30 IF PEEK(65013%) 23 31 IF (INP(58%) AND 2%)=2% 30 32 OPEN "V24:KB.1" ASFILE 1 : L%=1% 33 GOSUB 82 : IF B$="SENDFIL" 36 34 IF ASC(B$) 33 ELSE 23 35 REM 36 ; "** S{nda fil **" 37 ; "Lagras i MONITORN under filnamn" 38 L%=0% : GOSUB 82 : L%=1% 39 IF LEN(B$)=0% 33 ELSE F1$=B$ 40 ; #L%,'Hejsan' : GOSUB 82 41 IF B$<>"SENDFIL" 40 : GOSUB 85 42 ; #L%'SYNKSVAR' : GOSUB 85 43 ; #L%,F1$ 44 REM 45 REM -PACKA UPP BUFFERT- 46 FOR I%=0% TO B% 47 P%=INSTR(1%,B$(I%),CHR$(3%)) 48 IF P% F1$=LEFT$(B$(I%),P%-1%) : B$(I%)=RIGHT$(B$(I%),P%+1%) : GOSUB 52 : GOTO 47 ELSE F1$=B$(I%) : GOSUB 52 49 NEXT I% : GOTO 57 50 REM 51 REM -S[ND 1 RAD- 52 IF LEN(F1$)<3% RETURN 53 GOSUB 82 : GOSUB 85 54 ; F1$ : ; #L%,F1$ : RETURN 55 REM 56 REM -EOF- 57 GOSUB 82 : GOSUB 85 : ; #L%,'/*' 58 ; "s{nt"R%" rader." : T=3000 59 GOSUB 85 : ; #L%'Tack!' 60 B%=-1% : R%=0% : GOTO 33 61 REM 62 REM -BUFFERT- 63 ; " Filnamn:"; : GOSUB 82 64 IF LEN(B$)=0% 23 ELSE L%=2% 65 F2$=B$ : B%=-1% : R%=0% 66 ONERRORGOTO 75 : T=9000 67 OPEN F2$ ASFILE L% : ; CHR$(12%)F2$ 68 ONERRORGOTO 75 : GOSUB 82 69 IF LEN(F1$)+LEN(B$)+1%>118% 71 70 F1$=F1$+CHR$(3%)+B$ : GOTO 68 71 IF B%+2%>M% 77 : B%=B%+1% 72 B$(B%)=F1$ : B%=B%+1% : B$(B%)=B$ 73 F1$="" : GOTO 68 74 REM 75 I%=ERRCODE : IF I%=34% 80 76 IF I%+1% B$=" ERR"+NUM$(I%)+" " 77 IF B%+2%>M% B$=" F\R M]NGA RADER " 78 GOSUB 88 : B%=-1% : R%=0% 79 CLOSE L% : GOSUB 85 : GOTO 23 80 B%=B%+1% : B$(B%)=F1$ : GOTO 79 81 REM 82 INPUTLINE #L%,B$ : IF L%=2% R%=R%+1 83 B$=LEFT$(B$,LEN(B$)-2%) 84 IF L% ; B$ : RETURN ELSE RETURN 85 FOR S=1 TO T : NEXT S : RETURN 86 ; "(Buffert laddad:"F2$; 87 ; ","R%" rader)" : RETURN 88 FOR S=1 TO LEN(B$) 89 POKE 32600+S,640+ASC(MID$(B$,S,1)) 90 NEXT S : RETURN