100 ! ********************************************************************** 101 ! Program ]TERTEXT.800 Utg}va 1.0 1983-11-26 102 ! av Bo Kullmar 103 ! Ins{nd av Bo Kullmar, 1789 104 ! F|r ABC800M ABC800C ABC802 ABC806 105 ! Testad p} ABC806 106 ! Programmet }terskapar textfiler som har skadats med 8 bits tecken 107 ! ********************************************************************** 108 ! 109 ON ERROR GOTO 1700 110 EXTEND : INTEGER 111 DIM Rad$=160 1000 ; CHR$(12) DBLE ']terskapa filer' : ; : ; : ; 1005 ; 'Programmet }terskapar filer som har skadats genom att ASCII tecken av' 1006 ; 'h|gre v{rde {n 127 har hamnat i filen.' : ; : ; 1010 INPUT 'Infil? 'Infil$ 1020 INPUT 'Utfil? 'Utfil$ 1030 OPEN Infil$ AS FILE 1 1040 PREPARE Utfil$ AS FILE 2 1050 WHILE -1 1055 IF LEN(Rad$)>157 THEN ; #2,LEFT$(Rad$,158) : Rad$=MID$(Rad$,159,LEN(Rad$)) 1060 GET #1,Tecken$ : Tecken=ASCII(Tecken$) 1070 IF Tecken=9 THEN Z=FNBlanka : GOTO 1500 1080 IF Tecken=3 AND Ant0<>6 THEN GOTO 1500 1090 IF Tecken=13 THEN ; #2,Rad$ : Rad$='' : GOTO 1500 1100 IF Tecken=12 OR Tecken=29 OR Tecken=30 OR Tecken=31 THEN Rad$=Rad$+Tecken$ : GOTO 1500 1105 IF FNFilslut THEN ; #2,Rad$ : GOTO 1510 1110 IF Tecken<32 OR Tecken>127 THEN 1500 1120 Rad$=Rad$+Tecken$ 1500 WEND 1510 CLOSE 1520 END 1700 ; RED 'Felkod nr' ERRCODE 1710 CLOSE 1720 END 2000 DEF FNBlanka 2010 GET #1,Tecken$ 2020 Antal=ASCII(Tecken$) 2030 IF LEN(Rad$)+Antal>158 THEN ; #2,LEFT$(Rad$,158) : Rad$=MID$(Rad$,159,LEN(Rad$)) 2035 IF Antal>157 THEN Antal=158 2040 Rad$=Rad$+SPACE$(Antal) 2050 RETURN 0 2060 FNEND 3000 DEF FNFilslut 3005 IF Tecken=3 AND Ant0=6 THEN RETURN -1 3010 IF Tecken=0 AND Fd0=0 THEN Fd0=-1 : Ant0=1 : RETURN 0 3020 IF Fd0 AND Tecken=0 THEN Ant0=Ant0+1 ELSE Fd0=0 : Ant0=0 3030 RETURN 0 3040 FNEND