DEFINITION MODULE GetCharacter; (* GET a single character from the terminal, without first setting the proper mode, ordinary non-GET mode is used wherein a RETURN is needed to input data. Use StartGet and StopGet to turn on and off single-character-mode. Set character modes on and off with the SET procedures, both PASSALL (all control characters passed to GET) and NOPASSALL (control characters not trapped) modes are available, *) (* J. Andrea, 1985 *) (* This code may be freely used and distributed, it may not be sold. *) EXPORT QUALIFIED Get, StartGet, StopGet, SetPassallCharacterMode, UnSetPassallCharacterMode, SetNoPassallCharacterMode ,UnSetNoPassallCharacterMode, GetNoWait; PROCEDURE Get(VAR ch :CHAR); (* return a single character, no Carriage-Return needed *) PROCEDURE GetNoWait(VAR ch :CHAR); (* return a single character, no Carriage-Return needed *) (* and don't wait till a character occurs, returns null character if there * is no character in the buffer *) PROCEDURE StartGet; (* Enter single character mode *) PROCEDURE StopGet; (* Exit single character mode *) (* And return to "carriage-return needed for input" mode *) PROCEDURE SetPassallCharacterMode; (* turn on the GET mode, trap control characters *) PROCEDURE UnSetPassallCharacterMode; (* turn off the GET mode, trap control characters *) PROCEDURE SetNoPassallCharacterMode; (* turn on the GET mode, don't trap control characters *) PROCEDURE UnSetNoPassallCharacterMode; (* turn off the GET mode, don't trap control characters *) END GetCharacter.