fixes
This commit is contained in:
parent
befe7be9de
commit
ea590431d8
2 changed files with 17 additions and 8 deletions
|
@ -313,14 +313,17 @@ IMPLEMENTATION MODULE InOut ;
|
|||
Read(ch);
|
||||
UNTIL (ch # ' ') AND (ch # TAB);
|
||||
UnRead(ch);
|
||||
LOOP
|
||||
REPEAT
|
||||
Read(ch);
|
||||
termCH := ch;
|
||||
IF (NOT Done) OR (ch <= " ") THEN s[i] := 0C; RETURN END;
|
||||
s[i] := ch;
|
||||
IF i <= HIGH(s) THEN
|
||||
s[i] := ch;
|
||||
IF (NOT Done) OR (ch <= " ") THEN
|
||||
s[i] := 0C;
|
||||
END;
|
||||
END;
|
||||
INC(i);
|
||||
IF i > HIGH(s) THEN DEC(i); END;
|
||||
END;
|
||||
UNTIL (NOT Done) OR (ch <= " ");
|
||||
END ReadString;
|
||||
|
||||
PROCEDURE XReadString(VAR s : ARRAY OF CHAR);
|
||||
|
|
|
@ -250,7 +250,7 @@ IMPLEMENTATION MODULE RealConversions;
|
|||
ch := str[iB]; INC(iB);
|
||||
IF NOT (ch IN SETOFCHAR{'0'..'9'}) THEN ok := FALSE; RETURN END;
|
||||
REPEAT
|
||||
dig(ORD(ch));
|
||||
IF r>BIG THEN INC(pow10) ELSE r:= 10.0D*r+FLOATD(ORD(ch)-ORD('0')) END;
|
||||
IF iB <= HIGH(str) THEN
|
||||
ch := str[iB]; INC(iB);
|
||||
END;
|
||||
|
@ -259,8 +259,10 @@ IMPLEMENTATION MODULE RealConversions;
|
|||
ch := str[iB]; INC(iB);
|
||||
IF NOT (ch IN SETOFCHAR{'0'..'9'}) THEN ok := FALSE; RETURN END;
|
||||
REPEAT
|
||||
dig(ORD(ch));
|
||||
DEC(pow10);
|
||||
IF r < BIG THEN
|
||||
r := 10.0D * r + FLOATD(ORD(ch)-ORD('0'));
|
||||
DEC(pow10);
|
||||
END;
|
||||
IF iB <= HIGH(str) THEN
|
||||
ch := str[iB]; INC(iB);
|
||||
END;
|
||||
|
@ -297,6 +299,10 @@ IMPLEMENTATION MODULE RealConversions;
|
|||
IF pow10 < 0 THEN i := -pow10; ELSE i := pow10; END;
|
||||
e := 1.0D;
|
||||
DEC(i);
|
||||
WHILE i >= 10 DO
|
||||
e := e * 10000000000.0D;
|
||||
DEC(i,10);
|
||||
END;
|
||||
WHILE i >= 0 DO
|
||||
e := e * 10.0D;
|
||||
DEC(i)
|
||||
|
|
Loading…
Reference in a new issue