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); | 		Read(ch); | ||||||
| 	UNTIL (ch # ' ') AND (ch # TAB); | 	UNTIL (ch # ' ') AND (ch # TAB); | ||||||
| 	UnRead(ch); | 	UnRead(ch); | ||||||
|     	LOOP |     	REPEAT | ||||||
| 		Read(ch); | 		Read(ch); | ||||||
| 		termCH := ch; | 		termCH := ch; | ||||||
| 		IF (NOT Done) OR (ch <= " ") THEN s[i] := 0C; RETURN END; | 		IF i <= HIGH(s) THEN | ||||||
| 			s[i] := ch; | 			s[i] := ch; | ||||||
| 		INC(i); | 			IF (NOT Done) OR (ch <= " ") THEN | ||||||
| 		IF i > HIGH(s) THEN DEC(i); END; | 				s[i] := 0C; | ||||||
| 			END; | 			END; | ||||||
|  | 		END; | ||||||
|  | 		INC(i); | ||||||
|  |     	UNTIL (NOT Done) OR (ch <= " "); | ||||||
|   END ReadString; |   END ReadString; | ||||||
| 
 | 
 | ||||||
|   PROCEDURE XReadString(VAR s : ARRAY OF CHAR); |   PROCEDURE XReadString(VAR s : ARRAY OF CHAR); | ||||||
|  |  | ||||||
|  | @ -250,7 +250,7 @@ IMPLEMENTATION MODULE RealConversions; | ||||||
| 	ch := str[iB]; INC(iB); | 	ch := str[iB]; INC(iB); | ||||||
| 	IF NOT (ch IN SETOFCHAR{'0'..'9'}) THEN ok := FALSE; RETURN END; | 	IF NOT (ch IN SETOFCHAR{'0'..'9'}) THEN ok := FALSE; RETURN END; | ||||||
| 	REPEAT | 	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 | 		IF iB <= HIGH(str) THEN | ||||||
| 			ch := str[iB]; INC(iB); | 			ch := str[iB]; INC(iB); | ||||||
| 		END; | 		END; | ||||||
|  | @ -259,8 +259,10 @@ IMPLEMENTATION MODULE RealConversions; | ||||||
| 		ch := str[iB]; INC(iB); | 		ch := str[iB]; INC(iB); | ||||||
| 		IF NOT (ch IN SETOFCHAR{'0'..'9'}) THEN ok := FALSE; RETURN END; | 		IF NOT (ch IN SETOFCHAR{'0'..'9'}) THEN ok := FALSE; RETURN END; | ||||||
| 		REPEAT | 		REPEAT | ||||||
| 			dig(ORD(ch)); | 			IF r < BIG THEN | ||||||
|  | 				r := 10.0D * r + FLOATD(ORD(ch)-ORD('0')); | ||||||
| 				DEC(pow10); | 				DEC(pow10); | ||||||
|  | 			END; | ||||||
| 			IF iB <= HIGH(str) THEN | 			IF iB <= HIGH(str) THEN | ||||||
| 				ch := str[iB]; INC(iB); | 				ch := str[iB]; INC(iB); | ||||||
| 			END; | 			END; | ||||||
|  | @ -297,6 +299,10 @@ IMPLEMENTATION MODULE RealConversions; | ||||||
| 	IF pow10 < 0 THEN i := -pow10; ELSE i := pow10; END; | 	IF pow10 < 0 THEN i := -pow10; ELSE i := pow10; END; | ||||||
| 	e := 1.0D; | 	e := 1.0D; | ||||||
| 	DEC(i); | 	DEC(i); | ||||||
|  | 	WHILE i >= 10 DO | ||||||
|  | 		e := e * 10000000000.0D; | ||||||
|  | 		DEC(i,10); | ||||||
|  | 	END; | ||||||
| 	WHILE i >= 0 DO | 	WHILE i >= 0 DO | ||||||
| 		e := e * 10.0D; | 		e := e * 10.0D; | ||||||
| 		DEC(i) | 		DEC(i) | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		
		Reference in a new issue