1 REM Ins{nt av 3098 10 REM ...SAVE PRINTVAL f|r 8510 c.Itoh 20 REM ...(C) Egils programmeri 30 REM ...P(i,X) d{r X=1 init x=2 akt x=3 max position 40 REM ...R och C samt K=markeringskolonn P9 rubriker fr}n R0 till R9 50 DIM B$(72)=80 60 P9=8 : R0=3 70 DEFFNR(I)=R0+2*I 80 DEFFNC(K)=4+7*K 90 FOR I=1 TO P9 : READ C$(I) : NEXT I 100 DATA '$#&S',NEQP,ABTT,LLL,'"!',ON,YX,')(' 110 REM ...LLL OCH ON OCH )( {r spec 120 ; CHR$(12); : FOR I=1 TO P9 : READ P$(I) : ; CUR(FNR(I)-1,0)P$(I) : NEXT I 130 T0$=CUR(0,0)+'H{r kan du st{lla in printern i }tta di-mensioner medelst och pilerna. '+STRING$(40,127) 140 DATA 'Typ text grafik grek bit' 150 DATA 'T{thet 10 12 17 pps' 160 DATA 'Radavst}nd 1/6 1/8 1.5 rad v{lja' 170 DATA 'V{nst marg 0 5 10' 180 DATA 'Tjock nej ja' 190 DATA 'Bred nej ja' 200 DATA 'Understrck nej ja' 210 DATA 'Tabulator nej ja' 220 FOR I=1 TO P9 : READ P(I,1),P(I,3) : P(I,2)=P(I,1) : NEXT I 230 S0$=CUR(9,0)+SPACE$(35) : S1$=CUR(0,0)+SPACE$(80) : S3$=S1$+CUR(0,0) 240 T1$=CUR(20,0)+STRING$(40,127)+SPACE$(17)+'N{r du {r klar, tryck -'+SPACE$(40) 250 T3$=CUR(9,0)+'Tal fr}n 08 (t{t) till 99 (glest) '+CUR(9,34) 260 T4$='T=testutskrift ]=}ter N=normalinst{llnS=Sluta M=Skrivmaskin ' 270 T5$=CUR(21,0)+' Nu {r skrivaren inst{lld '+T4$ 280 T6$=CUR(20,0)+STRING$(40,127)+SPACE$(119) 290 DATA 1,4,1,4,1,4,1,3,1,2,1,2,1,2,1,2 300 F$=' ' : T$=' ----- ' 310 REM ...r|relse 320 FOR I=P9 TO 1 STEP -1 : ; CUR(FNR(I),FNC(P(I,1)))T$ : NEXT I 330 I=1 : K=P(1,1) : ; CUR(FNR(I),FNC(K)); 340 ; T0$;T1$; 350 ; CUR(FNR(I),FNC(K)+3); : GET A$ : A=ASC(A$) 360 IF A=8 THEN IF K=1 GOTO 350 ELSE ; CUR(FNR(I),FNC(K-1))T$;F$ : K=K-1 : GOTO 420 : REM <- 370 IF A=9 THEN IF K=P(I,3) GOTO 350 ELSE ; CUR(FNR(I),FNC(K))F$;T$ : K=K+1 : GOTO 420 : REM -> 380 IF A=13 THEN R5=-1 : I=I+1 : IF I>P9 THEN I=1 390 IF R5 THEN K=P(I,2) : ; CUR(FNR(I),FNC(K))T$; : R5=0 : GOTO 350 400 IF A$='-' 430 410 GOTO 350 420 P(I,2)=K : GOTO 350 430 REM ...Parameter s{ttas 440 L=1 : OPEN 'PR:' ASFILE L 450 FOR I=1 TO P9 : C(I)=ASC(MID$(C$(I),P(I,2),1)) : NEXT I 460 FOR I=1 TO 3 : ; #L,CHR$(27);CHR$(C(I)); : NEXT I 470 IF P(3,2)=3 ; #L,'36'; 480 IF P(3,2)=4 THEN ; T3$; : INPUT I$ : IF LEN(I$)=2 THEN ; #L,LEFT$(I$,2); : ; S0$; ELSE 480 490 ; #L,CHR$(27);CHR$(C(5)); : ; #L,CHR$(27);CHR$(C(7)); 500 REM 510 I$=MID$('000005010',3*(P(4,2)-1)+1,3) : ; #L,CHR$(27);'L';I$; 520 IF P(6,2)=1 THEN ; #L,CHR$(15); ELSE ; #L,CHR$(14); 530 IF P(8,2)=2 ; CUR(19,0)'Var och en f}r tabulera sin egen TAB'; 540 ; T5$CUR(22,0); 550 K=P(1,2) : I=1 560 GET A$ : ON INSTR(1,'T]NMmSs',A$)+1 GOTO 560,570,340,580,600,600,1090,1090 570 FOR I=32 TO 127 : ; #L,CHR$(I); : NEXT I : ; #L : GOTO 540 580 RESTORE 120 590 GOTO 120 600 REM ...SKRIVMASKIN 610 ; CUR(21,0)SPACE$(118); 620 ; CUR(21,0)'Tecken f|r tecken = T eller Rad f|r rad = (R)'; 630 ; #L 640 GET A$ : IF A$='T' ; #L,CHR$(27)CHR$(91); 650 ; CUR(21,0)'I vanlig text skall det vara plats f|r h}l till v{nster, och h|germarginal(J)'; 660 L9%=79% : R9%=0% 670 GET A$ : IF A$='n' OR A$='N' 790 680 ; #L,CHR$(27);'L005'; 690 IF P(2,2)=1 THEN L9%=66% 700 IF P(2,2)=2 THEN L9%=79% 710 IF P(2,2)=3 THEN L9%=119% 720 REM ...Blankt ark med marg. B|rjar nu. 730 ; CHR$(12)S3$'Skall du h{mta gammalt (N)'; : GET A$ : IF A$<>'J' 790 740 ; S3$'Vad heter filen '; : INPUT S$ 750 ONERRORGOTO 740 : OPEN S$ ASFILE 2 760 ONERRORGOTO 780 : I=1 770 INPUTLINE #2,B$ : B$(I)=LEFT$(B$,LEN(B$)-2%) : I=I+1 : GOTO 770 780 IF ERRCODE=34 THEN CLOSE 2 : B9=I-1 790 L8%=L9%-7% : L7%=L9% 800 IF L9%>80% ; STRING$(40,46); : GOTO 820 810 ; CHR$(12)CUR(0,0)STRING$(L9%,46%)'#'STRING$(79%-L9%,46%);CUR(0,0)'Avsluta skrivningen med CTRL-^. ' 820 C=0 : R=0 : B$='' : IF B9>0 R9%=B9 830 L8%=L9%-7% : L7%=L9% 840 GET A$ : IF ASC(A$)=30% GOTO 980 850 IF ASC(A$)=8 AND LEN(B$)>0% THEN B$=LEFT$(B$,LEN(B$)-1%) : ; A$;' ';A$; : GOTO 940 860 IF ASC(A$)=9% GOTO 930 870 IF ASC(A$)=13% 950 880 IF LEN(B$)=L7% THEN OUT 6,137 : GOTO 840 890 IF LEN(B$)>L8% OUT 6%,131% 900 ; A$; 910 IF LEN(B$)=80% THEN B1$=B$ : B$='' : B1%=1 : L8%=L8%-80% : L7%=L7%-80% 920 B$=B$+A$ 930 REM 940 GOTO 840 950 IF B1%=1% THEN ; #L,B1$; : B1%=0% 960 ; #L,B$ : R=R+1 : ; : R9%=R9%+1% : B$(R9%)=B$ : B$='' 970 IF R<10 GOTO 830 ELSE 790 980 REM ...Slutsignalen ctrl-~ 990 ; S1$;CUR(0,0)'Skall du spara detta (J/N)'; : GET A$ : IF A$='N' OR A$='n' 1040 1000 IF A$='J' OR A$='j' 1010 ELSE 990 1010 S$='SPARA.VAL' : ; S1$;CUR(0,0)'Vad skall filen heta'; : INPUT A$ : IF LEN(A$)>0 S$=A$ 1020 PREPARE S$ ASFILE 2 1030 FOR I%=1% TO R9% : ; #2,B$(I%) : NEXT I% : CLOSE 2 1040 REM ...avslutning 1050 ; S3$'Vill du se hela utskriften en g}ng till'; : GET A$ : IF A$='j' OR A$='J' THEN 1060 ELSE 1080 1060 ; CHR$(12); : FOR I%=1% TO R9% : ; B$(I%) : NEXT I% 1070 GET A$ 1080 B9=0 : ; #L,CHR$(27)CHR$(93); : GOTO 580 1090 ; T6$;CUR(19,0); : STOP