(*$V-*) IMPLEMENTATION MODULE Terminal ; (* Core library interface *) IMPORT Str,IO,ASCII ; VAR CharBuffered : BOOLEAN ; SaveChar : CHAR ; PROCEDURE Read ( VAR v : CHAR ) ; BEGIN IF CharBuffered THEN v := SaveChar ; CharBuffered := FALSE ; ELSE SaveChar := IO.RdKey() ; v := SaveChar ; END ; END Read ; PROCEDURE ReadAgain ; BEGIN CharBuffered := TRUE ; END ReadAgain ; PROCEDURE ReadString ( VAR v : ARRAY OF CHAR ) ; VAR c : CHAR ; line : ARRAY[0..255] OF CHAR ; p : CARDINAL ; BEGIN p := 0 ; REPEAT Read(c) UNTIL c<>' ' ; LOOP IF (c=ASCII.bs)OR(c=ASCII.del) THEN IF p>0 THEN DEC(p) ; Write(ASCII.bs); Write(' '); Write(ASCII.bs); END ; ELSIF (c>' ')AND(c