浏览代码

Module Env

Arthur Yefimov 3 年之前
父节点
当前提交
df6c6ee08c
共有 1 个文件被更改,包括 29 次插入0 次删除
  1. 29 0
      Programs/Env.Mod

+ 29 - 0
Programs/Env.Mod

@@ -0,0 +1,29 @@
+MODULE Env;
+IMPORT CmdArgs, Utf8;
+TYPE SHORTCHAR = Utf8.SHORTCHAR;
+
+VAR count: INTEGER;
+
+PROCEDURE Count*(): INTEGER;
+BEGIN
+  IF count = -1 THEN count := CmdArgs.GetEnvCount() END
+RETURN count END Count;
+
+PROCEDURE Get*(n: INTEGER; VAR s: ARRAY OF CHAR);
+VAR q: ARRAY 10240 OF SHORTCHAR;
+BEGIN
+  IF (0 <= n) & (n < Count()) THEN
+    CmdArgs.GetEnvN(n, q); Utf8.Decode(q, s)
+  ELSE s := ''
+  END
+END Get;
+
+PROCEDURE GetByName*(name: ARRAY OF CHAR; VAR val: ARRAY OF CHAR);
+VAR q: ARRAY 10240 OF SHORTCHAR;
+  z: ARRAY 1024 OF SHORTCHAR;
+BEGIN Utf8.Encode(name, z); CmdArgs.GetEnv(z, q); Utf8.Decode(q, val)
+END GetByName;
+
+BEGIN
+  count := -1
+END Env.