2 ! ********************************************************************** 3 ! Program VISA.BAS Utg}va 1.6 1986-03-04 4 ! av Bo Kullmar 5 ! Ins{nd av Bo Kullmar 6 ! F|r ABC800M ABC800C ABC802 ABC806 8 ! Testad p} ABC806 9 ! Programmet {r ett enkelt program som l{ser textfiler. Programmet kr{ver 10 ! ett filnamn som parameter, detta kan anges som parameter till programmet 11 ! efter RUN. T ex RUN VISA,MIN.FIL. 12 ! ********************************************************************** 20 EXTEND : INTEGER 50 ON ERROR GOTO 2000 1000 ! WIDTH 80 ! Kommentarsm{rkt s} att programmet skall fungera p} ABC800 1010 Fil$=FNRunpar$ 1020 IF LEN(Fil$) GOTO 1040 1030 ; : ; YEL; : INPUT 'VISA filnamn? 'Fil$ : ; 1035 IF LEN(Fil$)=0 GOTO 2080 1040 OPEN Fil$ AS FILE 1 1050 ; YEL 'Tryck p} en tanget f|r att stoppa utskriften!' 1060 ; : ; YEL STRING$(PEEK(65364)-1,61) : ; 1070 DIM Rad$=160 1080 WHILE -1 1090 IF SYS(5)=128 THEN GET \$ : GET \$ 1100 INPUT LINE #1,Rad$ 1110 IF LEN(Rad$)>80 THEN ; CYA LEFT$(Rad$,80) : ; CYA RIGHT$(Rad$,81); ELSE ; CYA Rad$; 1120 I=I+1 1130 WEND 2000 IF ERRCODE=53 GOTO 2080 2005 IF ERRCODE<>34 THEN ; CHR$(7); 2010 IF ERRCODE=34 THEN ; : ; YEL 'Antal rader ';I 2020 IF ERRCODE=21 THEN ; RED 'Hittar ej filen ' Fil$ '!' : RESUME 1030 2030 IF ERRCODE=20 THEN ; RED 'F|r l}ng rad (>160 tecken)' 2040 IF ERRCODE=35 THEN ; RED 'Checksummafel vid l{sning' 2050 IF ERRCODE=42 THEN ; RED 'Disken {r ej klar' 2060 IF ERRCODE<>34 AND ERRCODE<>21 AND ERRCODE<>20 AND ERRCODE<>35 AND ERRCODE<>42 THEN ; RED 'Fel nr' ERRCODE 2070 ; : ; 2080 END 3000 DEF FNRunpar$ LOCAL Adr,Par$=0,Pek 3010 Adr=CALL(81) 3020 POKE VAROOT(Par$),161,0,Adr,SWAP%(Adr),161,0 3030 Pek=INSTR(1,Par$,',') 3040 IF Pek AND INSTR(1,Par$,CHR$(13))>Pek RETURN MID$(Par$,Pek+1,INSTR(1,Par$,CHR$(13))-Pek-1) ELSE RETURN '' 3050 FNEND