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 
