CONSOLE.ob07 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. (*
  2. BSD 2-Clause License
  3. Copyright (c) 2018-2021, Anton Krotov
  4. All rights reserved.
  5. *)
  6. MODULE CONSOLE;
  7. IMPORT UTILS, STRINGS;
  8. PROCEDURE String* (s: ARRAY OF CHAR);
  9. VAR
  10. i: INTEGER;
  11. BEGIN
  12. i := 0;
  13. WHILE (i < LEN(s)) & (s[i] # 0X) DO
  14. UTILS.OutChar(s[i]);
  15. INC(i)
  16. END
  17. END String;
  18. PROCEDURE Int* (x: INTEGER);
  19. VAR
  20. s: ARRAY 24 OF CHAR;
  21. BEGIN
  22. STRINGS.IntToStr(x, s);
  23. String(s)
  24. END Int;
  25. PROCEDURE Int2* (x: INTEGER);
  26. BEGIN
  27. IF x < 10 THEN
  28. String("0")
  29. END;
  30. Int(x)
  31. END Int2;
  32. PROCEDURE Ln*;
  33. BEGIN
  34. String(UTILS.eol)
  35. END Ln;
  36. PROCEDURE StringLn* (s: ARRAY OF CHAR);
  37. BEGIN
  38. String(s);
  39. Ln
  40. END StringLn;
  41. PROCEDURE IntLn* (x: INTEGER);
  42. BEGIN
  43. Int(x);
  44. Ln
  45. END IntLn;
  46. PROCEDURE Int2Ln* (x: INTEGER);
  47. BEGIN
  48. Int2(x);
  49. Ln
  50. END Int2Ln;
  51. PROCEDURE Dashes*;
  52. BEGIN
  53. StringLn("------------------------------------------------")
  54. END Dashes;
  55. END CONSOLE.