| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 |
- (* Release 3.10 *)
- (*-------------------------------------------------------------------------*
- * *
- * IO.DEF - Modula-2 screen input/output *
- * *
- * COPYRIGHT (C) 1987..1992 Clarion Software Corporation. *
- * All Rights Reserved *
- * *
- *--------------------------------------------------------------------------*)
- (*# call(o_a_copy => off) *)
- (*%F _fdata *)
- (*# call(seg_name => null) *)
- (*# data(seg_name => null) *)
- (*%E *)
- (*# module(implementation=>off) *)
- DEFINITION MODULE IO;
- CONST
- MaxRdLength = 256;
- TYPE
- WrStrType = PROCEDURE ( ARRAY OF CHAR );
- RdStrType = PROCEDURE ( VAR ARRAY OF CHAR );
- CHARSET = SET OF CHAR;
- PROCEDURE WrChar ( V: CHAR );
- PROCEDURE WrBool ( V: BOOLEAN ; Length: INTEGER );
- PROCEDURE WrShtInt ( V: SHORTINT ; Length: INTEGER );
- PROCEDURE WrInt ( V: INTEGER ; Length: INTEGER );
- PROCEDURE WrLngInt ( V: LONGINT ; Length: INTEGER );
- PROCEDURE WrShtCard( V: SHORTCARD; Length: INTEGER );
- PROCEDURE WrCard ( V: CARDINAL ; Length: INTEGER );
- PROCEDURE WrLngCard( V: LONGCARD ; Length: INTEGER );
- PROCEDURE WrShtHex ( V: SHORTCARD; Length: INTEGER );
- PROCEDURE WrHex ( V: CARDINAL ; Length: INTEGER );
- PROCEDURE WrLngHex ( V: LONGCARD ; Length: INTEGER );
- PROCEDURE WrReal ( V: REAL ; Precision: CARDINAL; Length: INTEGER);
- PROCEDURE WrLngReal ( V: LONGREAL ; Precision: CARDINAL; Length: INTEGER);
- PROCEDURE WrFixReal ( V: REAL ; Precision: CARDINAL; Length: INTEGER);
- PROCEDURE WrFixLngReal( V: LONGREAL ; Precision: CARDINAL; Length: INTEGER);
- PROCEDURE WrCharRep( V: CHAR ; Count: CARDINAL );
- PROCEDURE WrStr ( S: ARRAY OF CHAR );
- (*# save,
- call(o_a_copy => on) *)
- PROCEDURE WrStrAdj ( S: ARRAY OF CHAR; Length: INTEGER );
- (*# restore *)
- PROCEDURE WrLn;
- PROCEDURE RdChar() : CHAR;
- PROCEDURE RdBool() : BOOLEAN;
- PROCEDURE RdShtInt() : SHORTINT;
- PROCEDURE RdInt() : INTEGER;
- PROCEDURE RdLngInt() : LONGINT;
- PROCEDURE RdShtCard() : SHORTCARD;
- PROCEDURE RdCard() : CARDINAL;
- PROCEDURE RdLngCard() : LONGCARD;
- PROCEDURE RdShtHex() : SHORTCARD;
- PROCEDURE RdHex() : CARDINAL;
- PROCEDURE RdLngHex() : LONGCARD;
- PROCEDURE RdReal() : REAL;
- PROCEDURE RdLngReal() : LONGREAL;
- PROCEDURE RdStr(VAR S: ARRAY OF CHAR);
- PROCEDURE RdItem(VAR V: ARRAY OF CHAR);
- PROCEDURE RdLn;
- PROCEDURE EndOfRd(Skip: BOOLEAN) : BOOLEAN;
- PROCEDURE KeyPressed() : BOOLEAN;
- PROCEDURE RdKey() : CHAR;
- CONST RdCharDirect ::= RdKey;
- PROCEDURE RedirectInput (FileName: ARRAY OF CHAR);
- PROCEDURE RedirectOutput(FileName: ARRAY OF CHAR);
- PROCEDURE ThreadOK(): BOOLEAN;
- VAR RdLnOnWr : BOOLEAN; (* Clear buffered input after write *)
- VAR Prompt : BOOLEAN; (* Prompt ('?') on read from empty line *)
- VAR InputRedirected : BOOLEAN;
- VAR OutputRedirected: BOOLEAN;
- VAR WrStrRedirect : WrStrType;
- VAR RdStrRedirect : RdStrType;
- VAR Separators : CHARSET;
- VAR OK : BOOLEAN;
- VAR ChopOff : BOOLEAN;
- VAR Eng : BOOLEAN; (* Engineering notation *)
- VAR PrefixChar : CHAR;
- VAR SuffixChar : CHAR;
- END IO.
|