10 REM ...LIST STILMARG 20 REM ...(C) Egils programmeri 30 REM ---Endast f|r st}ende A4 40 REM ...P(i,X) d{r X=1 init X=2 akt X=3 max position 50 REM ...R och C samt K=markeringskolumn P9 rubriker fr}n R0 till R9 60 I%=0% : A$='' 70 I9=80 : DIM B$(I9)=127 : DIM B$=128 : REM ...127 f|r lagringsbar radl{ngd, plats f|r 80 rader. 80 P9=8 : R0=3 90 DEFFNR(I)=R0+2*I 100 DEFFNC(K)=4+7*K 110 FOR I=1 TO P9 : READ C$(I),P(I,1) : P(I,2)=P(I,1) : P(I,3)=LEN(C$(I)) : NEXT I 120 DATA '$#&',1,NEQP,1,ABTT,1,LLLL,2,LLLL,2,ON,1,YX,1,'"!',1 130 REM ...P} C Itoh 8510 {r ESC N 10 t/", ESC E ger 12 t/" etc. Siffran ger initialinst{llningen som {r l{mplig. 140 P0$=CHR$(27) : P1$='000005010' 150 B=25.4 : B(1)=10/B : B(2)=12/B : B(3)=17/B : B(4)=13.5/B 160 ; CHR$(12); : FOR I=1 TO P9 : READ P$(I) : ; CUR(FNR(I)-1,0)P$(I) : NEXT I 170 T0$=CUR(0,0)+'Skrivstil och pappersinst{llning - }tta val med och pilarna. '+STRING$(40,127) 180 DATA 'Typ text grafik grek' 190 DATA 'T{thet 10 12 17 pps' 200 DATA 'Radavst}nd 1/6 1/8 1.5 rad val' 210 DATA 'V{nst marg 0 mm 20 40 val' 220 DATA 'H|ger marg 0 mm 20 40 val' 230 DATA 'Bred nej ja' 240 DATA 'Understrck nej ja' 250 DATA 'Fet stil nej ja' 260 S0$=CUR(9,0)+SPACE$(34) : S1$=CUR(0,0)+SPACE$(80) : S3$=S1$+CUR(0,0) : S4$=CUR(11,0)+SPACE$(34) 270 T1$=CUR(20,0)+STRING$(40,127)+SPACE$(17)+'N{r du {r klar, tryck -'+SPACE$(40) 280 T3$=CUR(9,0)+'Tal fr}n 08 (t{t) till 99 (glest) '+CUR(9,34) 290 T4$=CUR(22,0)+']=]ter T=Testutskrift N=Normalinst{lln'+CUR(23,0)+'S=Sluta M= Skrivmaskin Centrera(nej)' 300 T5$=CUR(21,0)+' Nu {r skrivaren inst{lld '+T4$ 310 T6$=CUR(20,0)+STRING$(40,127)+SPACE$(119) 320 T7$=CUR(11,0)+'Tal fr}n 01 till 50 '+CUR(10,34)+' '+CUR(10,34) 330 T8$=CUR(13,0)+'Tal fr}n 1 till 50 '+CUR(13,34) 340 T9$=CUR(22,0)+SPACE$(40)+CUR(23,0)+SPACE$(39) 350 F$=' ' : T$=' """"" ' 360 REM ...r|relse 370 FOR I=P9 TO 1 STEP -1 : ; CUR(FNR(I),FNC(P(I,2)))T$ : NEXT I 380 I=1 : K=P(1,2) 390 ; T0$T1$T9$; 400 ; CUR(FNR(I),FNC(K)+3); : GET A$ : A=ASC(A$) 410 IF A=8 THEN IF K=1 GOTO 400 ELSE ; CUR(FNR(I),FNC(K-1))T$;F$ : K=K-1 : GOTO 470 : REM <- 420 IF A=9 THEN IF K=P(I,3) GOTO 400 ELSE ; CUR(FNR(I),FNC(K))F$;T$ : K=K+1 : GOTO 470 : REM -> 430 IF A=13 THEN R5=-1 : I=I+1 : IF I>P9 THEN I=1 440 IF R5 THEN K=P(I,2) : ; CUR(FNR(I),FNC(K))T$; : R5=0 : GOTO 400 450 IF A$='-' 480 460 GOTO 400 470 P(I,2)=K : GOTO 400 480 REM ...Parameter s{ttas 490 L=1 : OPEN 'PR:' ASFILE L : P$='' 500 FOR I=1 TO P9 : C(I)=ASC(MID$(C$(I),P(I,2),1)) : NEXT I 510 FOR I=1 TO 3 : P$=P$+P0$+CHR$(C(I)) : NEXT I 520 IF P(3,2)=3 P$=P$+'36' 530 IF P(3,2)=4 THEN ; T3$; : INPUT I$ : IF LEN(I$)=2 THEN P$=P$+LEFT$(I$,2) : ; S0$; ELSE 530 540 IF P(6,2)=1 THEN P$=P$+CHR$(15) ELSE P$=P$+CHR$(14) 550 P$=P$+P0$+CHR$(C(7))+P0$+CHR$(C(8)) 560 J=1 : B0%=20*(P(4,2)-1) : IF P(4,2)=4 GOSUB 640 : B0%=B 570 J=2 : B9%=20*(P(5,2)-1) : IF P(5,2)=4 GOSUB 640 : B9%=B 580 B=B(P(2,2)) : B0%=B0%*B/P(6,2) : B9%=B9%*B/P(6,2) 590 B5%=190*B/P(6,2)-B0%-B9% : IF P(2,2)=4 THEN B0%=B0%*.8 595 IF B5%=80% THEN B5%=79% 600 ; CUR(10,39)' Det blir'B0%' tecken v{nst marg 'CUR(12,39)' --- och radl{ngd'B5%' tecken' 610 A$=RIGHT$(NUM$(B0%),2) : IF LEN(A$)<2 A$='0'+A$ 620 P$=P$+P0$+'L0'+A$ 630 GOTO 660 640 ; CUR(2*J+9,0)'Tal fr}n 1 till 99 'CUR(2*J+8,34)' 'CUR(2*J+8,34); : INPUTLINE I$ 650 B=VAL(LEFT$(I$,LEN(I$)-2)) : IF B>99 OR B<0 GOTO 640 ELSE RETURN 660 ; T5$; : IF C% THEN ; CUR(23,33)' ja'CUR(22,0); ELSE ; CUR(22,0); 670 K=P(1,2) : I=1 : ; #L,P$; 680 GET A$ : ON INSTR(1,'T]NCMmSs',A$)+1 GOTO 680,690,390,730,710,750,750,1280,1280 690 J=0 : FOR I=32 TO 127 : ; #L,CHR$(I); : J=J+1 : IF J=B5% THEN ; #L : J=0 700 NEXT I : ; #L : ; #L : GOTO 660 710 IF C% THEN C%=0 ELSE C%=-1 720 GOTO 660 730 C%=0% : RESTORE 120 : GOTO 110 : REM ...}ter 740 RESTORE 180 : GOTO 160 : REM ...}ter fr}n skrivning 750 REM ...SKRIVMASKIN 760 ; CUR(21,0)SPACE$(118); : IF R9%>0% B$(R9%)=B$(R9%)+P$ : GOTO 880 770 ; T9$CUR(21,0)'Tecken f|r tecken = T eller Rad f|r rad = (R)'; 780 GET A$ : IF A$='T' ; #L,P0$CHR$(91); 790 R9%=0% 800 REM ...Blankt ark med marg. B|rjar nu. 810 ; CHR$(12)S3$'Skall du h{mta gammalt (N)'; : GET A$ : IF A$<>'J' B$(0)=P$ : GOTO 880 820 ; S3$'Vad heter filen '; : INPUT S$ 830 ONERRORGOTO 820 : OPEN S$ ASFILE 2 840 ONERRORGOTO 870 : I=1 850 INPUTLINE #2,B$ : B$(I)=LEFT$(B$,LEN(B$)-2%) 860 ; B$ : IF I=I9 CLOSE 2 : B9=I ELSE I=I+1 : GOTO 850 870 IF ERRCODE=34 THEN CLOSE 2 : B9=I-1 : B$(B9)=B$(B9)+P$ 880 L9%=B5% : L8%=L9%-7% : L7%=L9% 890 IF L9%<80 ; CHR$(12)CUR(0,0)STRING$(L9%,46%)'#'STRING$(79%-L9%,46%); 900 IF L9%>79 ; CHR$(12)CUR(0,0)STRING$(L9%-80%,46%)'#'STRING$(159%-L9%,46%); 910 ; CUR(0,0)'Avsluta med CTRL-{' : IF PEEK(885)=124 ; 920 B$='' : IF B9>0 R9%=B9 : B9=0 930 L8%=L9%-7% : L7%=L9% 940 GET A$ : IF ASC(A$)=27% GOTO 1110 950 IF ASC(A$)=8 AND LEN(B$)>0% THEN B$=LEFT$(B$,LEN(B$)-1%) : ; A$;' ';A$; : GOTO 1030 960 IF ASC(A$)=9% GOTO 1030 970 IF ASC(A$)=13% THEN IF C% 1040 ELSE 1080 980 IF LEN(B$)=L7% THEN OUT 6,137 : GOTO 940 990 IF LEN(B$)>L8% OUT 6%,131% 1000 ; A$; 1010 IF LEN(B$)=80% THEN B1$=B$ : B$='' : B1%=1 : L8%=L8%-80% : L7%=L7%-80% 1020 B$=B$+A$ 1030 GOTO 940 1040 REM  IF B5%>79 ; 'Centrerar inte radl{ngder |ver 79 tecken !'; : GOTO 1010 1050 A$='' : FOR I%=1% TO (B5%-LEN(B$)-LEN(B1$))/2 : A$=' '+A$ : NEXT I% 1060 IF CHR$(C(7))='X' A$=P0$+'Y'+A$+P0$+'X' 1070 B$=A$+B$ : GOTO 1090 1080 IF B1%=1% THEN ; #L,B1$; : B1%=0% 1090 ; #L,B$ : ; : R9%=R9%+1% : B$(R9%)=B1$+B$ : B$='' : B1$='' 1100 IF PEEK(65011)>21 GOTO 880 ELSE 930 1110 REM ...Slutsignalen ctrl-{ 1120 ; CHR$(12)CUR(5,0)'F=forts{tta' : ; 'S=spara' : ; 'R=repetera utskriften' : ; 'A=avsluta' 1130 GET A$ : ON INSTR(1,'FfSsRrAa',A$)+1 GOTO 1130,740,740,1140,1140,1250,1250,1280,1280 1140 REM ...lagras 1150 ; : C=0 : ; 'Med eller Utan koden f|r inst{llning (M)' : GET A$ : IF A$='U' OR A$='u' C=-1 1160 S$='SPARA.TXT' : ; : ; 'Vad skall filen heta'; : INPUT A$ : IF LEN(A$)>0 S$=A$ 1170 ; : ; 'Lagras som 'S$ : ONERRORGOTO 1230 : PREPARE S$ ASFILE 2 1180 FOR I%=0% TO R9% : I=INSTR(1%,B$(I%),P0$) : IF C AND I>0% 1190 ELSE 1220 1190 B$=B$(I%) : IF LEFT$(B$,2%)=P0$+'Y' I=INSTR(1,B$,P0$+'X') : B$(I%)=RIGHT$(B$,I+2%) 1200 I=INSTR(1%,B$(I%),P0$) : IF I=0 GOTO 1220 1210 B$(I%)=LEFT$(B$(I%),I+1%) 1220 ; #2,B$(I%) : NEXT I% 1230 CLOSE 2 : GOTO 1110 1240 REM ...avslutning 1250 REM ...repetera utskrift 1260 ; CHR$(12); : FOR I%=O% TO R9% : ; #L,B$(I%) : NEXT I% 1270 GOTO 1110 1280 ; T6$;CUR(19,0); : STOP