|
a/FIO2.mod |
|
b/FIO2.mod |
|
... |
|
... |
15 |
(* 24.11.16, MRi: Prozeduren WrBits eingef"uhrt. *)
|
15 |
(* 24.11.16, MRi: Prozeduren WrBits eingef"uhrt. *)
|
16 |
(* 17.06.17, MRi: Prozeduren WrBool eingef"uhrt. *)
|
16 |
(* 17.06.17, MRi: Prozeduren WrBool eingef"uhrt. *)
|
17 |
(* 25.07.17, MRi: In Prozedur RdWord warnold etc ingef"uhrt. *)
|
17 |
(* 25.07.17, MRi: In Prozedur RdWord warnold etc ingef"uhrt. *)
|
18 |
(* WrLngCmplx auf ISO umgestellt *)
|
18 |
(* WrLngCmplx auf ISO umgestellt *)
|
19 |
(* 21.03.18, MRi: Prozedure SetExpAnz eingefuegt *)
|
19 |
(* 21.03.18, MRi: Prozedure SetExpAnz eingefuegt *)
|
|
|
20 |
(* 08.06.18, MRi: Ausgabe in WrBits "invertiert" *)
|
20 |
(*------------------------------------------------------------------------*)
|
21 |
(*------------------------------------------------------------------------*)
|
21 |
(* Offene Punkte *)
|
22 |
(* Offene Punkte *)
|
22 |
(* *)
|
23 |
(* *)
|
23 |
(* - EOF/EOL eventuell als Prozedur definieren die an einen Datei- *)
|
24 |
(* - EOF/EOL eventuell als Prozedur definieren die an einen Datei- *)
|
24 |
(* deskriptor gebunden ist. *)
|
25 |
(* deskriptor gebunden ist. *)
|
|
... |
|
... |
151 |
|
152 |
|
152 |
VAR Fehler : BOOLEAN;
|
153 |
VAR Fehler : BOOLEAN;
|
153 |
i : CARDINAL;
|
154 |
i : CARDINAL;
|
154 |
done,warnold : BOOLEAN;
|
155 |
done,warnold : BOOLEAN;
|
155 |
BEGIN
|
156 |
BEGIN
|
156 |
warnold:=FileSystem.CheckIO;
|
157 |
warnold:=FileSystem.CheckIO;
|
157 |
FileSystem.CheckIO:=FALSE;
|
158 |
FileSystem.CheckIO:=FALSE;
|
158 |
chr:="";
|
159 |
chr:="";
|
159 |
Fehler:=FALSE; EOL:=FALSE; EOF:=FALSE;
|
160 |
Fehler:=FALSE; EOL:=FALSE; EOF:=FALSE;
|
160 |
ReadNBytes(Ein,chr,1,i);
|
161 |
ReadNBytes(Ein,chr,1,i);
|
161 |
done := i = 1;
|
162 |
done := i = 1;
|
162 |
IF NOT done AND warn THEN ErrOut(" Lesefehler in FIO.RdChar !"); END;
|
163 |
IF NOT done AND warn THEN ErrOut(" Lesefehler in FIO.RdChar !"); END;
|
|
... |
|
... |
184 |
ELSIF (i # 1) THEN
|
185 |
ELSIF (i # 1) THEN
|
185 |
chr:=CommonIO.EoF; (* EOF *)
|
186 |
chr:=CommonIO.EoF; (* EOF *)
|
186 |
EOF:=TRUE;
|
187 |
EOF:=TRUE;
|
187 |
EOL:=TRUE;
|
188 |
EOL:=TRUE;
|
188 |
END;
|
189 |
END;
|
189 |
FileSystem.CheckIO:=warnold;
|
190 |
FileSystem.CheckIO:=warnold;
|
190 |
IF Fehler AND warn THEN ErrOut('Fehler in FIO.RdChar'); END;
|
191 |
IF Fehler AND warn THEN ErrOut('Fehler in FIO.RdChar'); END;
|
191 |
END RdChar;
|
192 |
END RdChar;
|
192 |
|
193 |
|
193 |
PROCEDURE WrChar(Datei : File;
|
194 |
PROCEDURE WrChar(Datei : File;
|
194 |
chr : CHAR);
|
195 |
chr : CHAR);
|
|
... |
|
... |
340 |
PROCEDURE WrBits(Datei : File;
|
341 |
PROCEDURE WrBits(Datei : File;
|
341 |
c : CARDINAL;
|
342 |
c : CARDINAL;
|
342 |
nbits : CARDINAL); (* Feldbreite *)
|
343 |
nbits : CARDINAL); (* Feldbreite *)
|
343 |
|
344 |
|
344 |
VAR Str : ARRAY [0..127] OF CHAR;
|
345 |
VAR Str : ARRAY [0..127] OF CHAR;
|
|
|
346 |
i : CARDINAL;
|
345 |
BEGIN
|
347 |
BEGIN
|
346 |
CardToBitStr(c,Str,nbits);
|
348 |
CardToBitStr(c,Str,nbits);
|
|
|
349 |
FOR i:=LENGTH(Str)-1 TO 0 BY -1 DO
|
347 |
WrStr(Datei,Str);
|
350 |
WrChar(Datei,Str[i]);
|
|
|
351 |
END;
|
348 |
END WrBits;
|
352 |
END WrBits;
|
349 |
|
353 |
|
350 |
PROCEDURE RdOct( Datei : File;
|
354 |
PROCEDURE RdOct( Datei : File;
|
351 |
VAR c : CARDINAL);
|
355 |
VAR c : CARDINAL);
|
352 |
|
356 |
|