mirror of
https://github.com/vishapoberon/compiler.git
synced 2026-04-06 14:32:24 +00:00
ReadString and ReadLine from Files module now adjusts Rider
This commit is contained in:
parent
e4aca9f6f9
commit
7d4815e2ae
1 changed files with 6 additions and 3 deletions
|
|
@ -634,17 +634,19 @@ Especially Length would become fairly complex.
|
||||||
END ReadLReal;
|
END ReadLReal;
|
||||||
|
|
||||||
PROCEDURE ReadString* (VAR R: Rider; VAR x: ARRAY OF CHAR);
|
PROCEDURE ReadString* (VAR R: Rider; VAR x: ARRAY OF CHAR);
|
||||||
VAR i: INTEGER; ch: CHAR;
|
VAR i: INTEGER; ch: CHAR; pos: LONGINT;
|
||||||
BEGIN i := 0;
|
BEGIN i := 0; pos := Pos(R);
|
||||||
REPEAT Read(R, ch); x[i] := ch; INC(i) UNTIL ch = 0X;
|
REPEAT Read(R, ch); x[i] := ch; INC(i) UNTIL ch = 0X;
|
||||||
x[i] := 0X;
|
x[i] := 0X;
|
||||||
|
IF ~R.eof THEN Set(R, R.buf.f, pos + i + 1); END;
|
||||||
END ReadString;
|
END ReadString;
|
||||||
|
|
||||||
PROCEDURE ReadLine* (VAR R: Rider; VAR x: ARRAY OF CHAR);
|
PROCEDURE ReadLine* (VAR R: Rider; VAR x: ARRAY OF CHAR);
|
||||||
VAR i: INTEGER; ch: CHAR; b : BOOLEAN;
|
VAR i: INTEGER; ch: CHAR; b : BOOLEAN; pos: LONGINT;
|
||||||
BEGIN
|
BEGIN
|
||||||
i := 0;
|
i := 0;
|
||||||
b := FALSE;
|
b := FALSE;
|
||||||
|
pos := Pos(R);
|
||||||
REPEAT
|
REPEAT
|
||||||
Read(R, ch);
|
Read(R, ch);
|
||||||
IF ((ch = 0X) OR (ch = 0AX) OR (ch = 0DX)) THEN
|
IF ((ch = 0X) OR (ch = 0AX) OR (ch = 0DX)) THEN
|
||||||
|
|
@ -655,6 +657,7 @@ Especially Length would become fairly complex.
|
||||||
END;
|
END;
|
||||||
UNTIL b;
|
UNTIL b;
|
||||||
x[i] := 0X;
|
x[i] := 0X;
|
||||||
|
IF ~R.eof THEN Set(R, R.buf.f, pos + i + 1); END;
|
||||||
END ReadLine;
|
END ReadLine;
|
||||||
|
|
||||||
PROCEDURE ReadNum* (VAR R: Rider; VAR x: LONGINT);
|
PROCEDURE ReadNum* (VAR R: Rider; VAR x: LONGINT);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue