io.def 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. (* Copyright (C) 1987 Jensen & Partners International *)
  2. DEFINITION MODULE IO;
  3. CONST
  4. MaxRdLength = 256;
  5. TYPE
  6. WrStrType = PROCEDURE ( ARRAY OF CHAR );
  7. RdStrType = PROCEDURE ( VAR ARRAY OF CHAR );
  8. CHARSET = SET OF CHAR;
  9. PROCEDURE WrChar ( V: CHAR );
  10. PROCEDURE WrBool ( V: BOOLEAN ; Length: INTEGER );
  11. PROCEDURE WrShtInt ( V: SHORTINT ; Length: INTEGER );
  12. PROCEDURE WrInt ( V: INTEGER ; Length: INTEGER );
  13. PROCEDURE WrLngInt ( V: LONGINT ; Length: INTEGER );
  14. PROCEDURE WrShtCard( V: SHORTCARD; Length: INTEGER );
  15. PROCEDURE WrCard ( V: CARDINAL ; Length: INTEGER );
  16. PROCEDURE WrLngCard( V: LONGCARD ; Length: INTEGER );
  17. PROCEDURE WrShtHex ( V: SHORTCARD; Length: INTEGER );
  18. PROCEDURE WrHex ( V: CARDINAL ; Length: INTEGER );
  19. PROCEDURE WrLngHex ( V: LONGCARD ; Length: INTEGER );
  20. PROCEDURE WrReal ( V: REAL ; Precision: CARDINAL; Length: INTEGER);
  21. PROCEDURE WrLngReal( V: LONGREAL ; Precision: CARDINAL; Length: INTEGER);
  22. PROCEDURE WrCharRep( V: CHAR ; Count: CARDINAL );
  23. PROCEDURE WrStr ( S: ARRAY OF CHAR );
  24. PROCEDURE WrStrAdj ( S: ARRAY OF CHAR; Length: INTEGER );
  25. PROCEDURE WrLn;
  26. PROCEDURE RdChar() : CHAR;
  27. PROCEDURE RdBool() : BOOLEAN;
  28. PROCEDURE RdShtInt() : SHORTINT;
  29. PROCEDURE RdInt() : INTEGER;
  30. PROCEDURE RdLngInt() : LONGINT;
  31. PROCEDURE RdShtCard() : SHORTCARD;
  32. PROCEDURE RdCard() : CARDINAL;
  33. PROCEDURE RdLngCard() : LONGCARD;
  34. PROCEDURE RdShtHex() : SHORTCARD;
  35. PROCEDURE RdHex() : CARDINAL;
  36. PROCEDURE RdLngHex() : LONGCARD;
  37. PROCEDURE RdReal() : REAL;
  38. PROCEDURE RdLngReal() : LONGREAL;
  39. PROCEDURE RdStr(VAR S: ARRAY OF CHAR);
  40. PROCEDURE RdItem(VAR V: ARRAY OF CHAR);
  41. PROCEDURE RdLn;
  42. PROCEDURE EndOfRd(Skip: BOOLEAN) : BOOLEAN;
  43. PROCEDURE KeyPressed() : BOOLEAN;
  44. PROCEDURE RdKey() : CHAR;
  45. CONST RdCharDirect ::= RdKey;
  46. PROCEDURE RedirectInput (FileName: ARRAY OF CHAR);
  47. PROCEDURE RedirectOutput(FileName: ARRAY OF CHAR);
  48. VAR RdLnOnWr : BOOLEAN; (* Clear buffered input after write *)
  49. VAR Prompt : BOOLEAN; (* Prompt ('?') on read from empty line *)
  50. VAR WrStrRedirect : WrStrType;
  51. VAR RdStrRedirect : RdStrType;
  52. VAR Separators : CHARSET;
  53. VAR OK : BOOLEAN;
  54. VAR ChopOff : BOOLEAN;
  55. VAR Eng : BOOLEAN; (* Engineering notation *)
  56. END IO.