1 REM Ins{nd av Kent-]ke Sohlberg <6384> 1986-10-07 19.29.03 (DUMP) 100 EXTEND : FLOAT 101 ! ******************************************************************** 102 ! Program MSGSORT version 2.41 103 ! Av J|rgen Hansen <5844> 104 ! Efter id` av Kent-]ke Sohlberg <6384> 105 ! 106 ! F|r information - l{s MSGSORT.INF 107 ! 108 ! F|r ABC800, ABC802 och ABC806, testad p} ABC806. 109 ! ******************************************************************** 110 ! 111 ! Hj{rnan 112 ! 113 Z=FNInit 114 Z=FNH{mta 115 IF Z=1 THEN GOTO 124 116 Z=FNAvk{nna 117 IF Z THEN 118 ELSE 122 118 Z=FNTestny 119 IF Z THEN 120 ELSE 122 120 Z=FNSt{nga 121 Z=FN\ppna 122 IF Flagga THEN Z=FNSkriv 123 GOTO 114 124 ; : ; : ; DBLE 'Slut p} filen.' : ; : ; 125 END 126 ! 127 ! Funktion f|r initiering 128 ! 129 DEF FNInit 130 ; CHR$(12) : EXTEND : DIM M|te$(25),M|tesl{ngd(25) 131 ! L{ser in alla 25 m|tena plus namnet i M\TE$() 132 FOR L{sdata=1 TO 25 : READ M|te$(L{sdata) : NEXT L{sdata 133 ; ULN TAB(15) 'Av J|rgen Hansen <5844> & Kent-]ke Sohlberg <6384>' 134 ; TAB(8) DBLE 'Sorteringsrutin f|r MSG-texter' : ; 135 ! L{ser in alla m|tenas l{ngder i M|tesl{ngd() 136 FOR M|tesl{ngd=1 TO 25 137 M|tesl{ngd(M|tesl{ngd)=LEN(M|te$(M|tesl{ngd)) 138 NEXT M|tesl{ngd : CD '' 139 Fil$=MID$(TIME$,3,2)+MID$(TIME$,6,2)+MID$(TIME$,9,2) 140 ON ERROR GOTO 142 141 GOTO 144 142 ; : ; 'Hittar ej filen !' : ; 143 GOTO 140 144 INPUT 'Filnamn: 'Ursprungsfil$ : OPEN Ursprungsfil$ AS FILE 1 145 RETURN 0 146 FNEND 147 ! 148 ! Funktion f|r att h{mta text fr}n MSG.TXT 149 ! 150 DEF FNH{mta 151 ON ERROR GOTO 155 152 Gammaltext$=Text$ 153 INPUT LINE #1,Text$ : Text$=LEFT$(Text$,LEN(Text$)-2) 154 RETURN 0 155 RETURN 1 156 FNEND 157 ! 158 ! Funktion f|r avk{nning om 'Mottagare:' finnes 159 ! 160 DEF FNAvk{nna 161 IF LEN(Text$)<10 THEN RETURN 0 162 IF Flagga 163 ELSE 164 163 IF LEFT$(Text$,7)='Brev ' OR LEFT$(Text$,6)='( Brev' OR LEFT$(Text$,6)='( Text' THEN Flagga2=1 164 IF LEFT$(Text$,10)<>'Mottagare:' THEN RETURN 0 165 Flagga=1 : Flagga3=1 166 RETURN 1 167 FNEND 168 ! 169 ! Funktion f|r avk{nning om det {r ett nytt m|te 170 ! 171 DEF FNTestny 172 Gammalm|te$=M|te$ 173 FOR M|te=1 TO 25 174 FOR Slask=1 TO LEN(Text$)-M|tesl{ngd(M|te)+1 175 IF MID$(Text$,Slask,M|tesl{ngd(M|te))=M|te$(M|te) THEN 178 176 NEXT Slask : NEXT M|te 177 M|te$='BREVL]DA' : GOTO 179 178 M|te$=M|te$(M|te) 179 IF M|te$=Gammalm|te$ THEN RETURN 0 180 Flagga3=0 181 RETURN 1 182 FNEND 183 ! 184 ! Funktion f|r att st{nga den gamla filen 185 ! 186 DEF FNSt{nga 187 A=A+1 : IF A=1 THEN RETURN 0 188 CLOSE 9 189 CD '' 190 RETURN 0 191 FNEND 192 ! 193 ! Funktion f|r att |ppna en ny fil 194 ! 195 DEF FN\ppna 196 CD M|te$ 197 ON ERROR GOTO 202 198 FOR Slask=65 TO 93 199 OPEN 'Q'+Fil$+CHR$(Slask)+'.TXT' AS FILE 5 200 CLOSE 5 201 NEXT Slask 202 PREPARE 'UFD:'+'Q'+Fil$+CHR$(Slask)+'.TXT' AS FILE 9 203 ; #9,Gammaltext$ : ; Gammaltext$ 204 RETURN 0 205 FNEND 206 ! 207 ! Funktion f|r att skriva p} filen 208 ! 209 DEF FNSkriv 210 IF A<1 THEN 217 211 IF Flagga3 THEN 212 ELSE 215 212 Flagga3=0 213 IF LEFT$(Gammaltext$,6)<>'( Brev' AND LEFT$(Gammaltext$,6)<>'( Text' THEN 215 214 ; #9,Gammaltext$ : ; Gammaltext$ 215 ; #9,Text$ : ; Text$ 216 IF Flagga2 THEN Flagga2=0 : Flagga=0 217 RETURN 0 218 FNEND 219 ! 220 ! DATA-satser f|r de olika m|tena 221 ! 222 DATA Medforum,Monitor,ABC800,ABC80,UNIX,CPM,MSDOS,Fritt,Annonser,Styrelse 223 DATA SYSOPs,Bladet,Progred,N{t,Datakom,Pres,Lokalavd,Z80,EjBASIC,ABCRadio 224 DATA MSG,DivData,Kommers,Nyheter,Enk{t