Rev 7107 | Rev 7693 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
7597 | akron1 | 1 | (* |
2 | BSD 2-Clause License |
||
6613 | leency | 3 | |
7597 | akron1 | 4 | Copyright (c) 2018, 2019, Anton Krotov |
5 | All rights reserved. |
||
6613 | leency | 6 | *) |
7 | |||
8 | MODULE UTILS; |
||
9 | |||
7597 | akron1 | 10 | IMPORT HOST, UNIXTIME; |
6613 | leency | 11 | |
7597 | akron1 | 12 | |
6613 | leency | 13 | CONST |
14 | |||
7597 | akron1 | 15 | slash* = HOST.slash; |
6613 | leency | 16 | |
7597 | akron1 | 17 | bit_depth* = HOST.bit_depth; |
18 | maxint* = HOST.maxint; |
||
19 | minint* = HOST.minint; |
||
20 | |||
21 | OS = HOST.OS; |
||
6613 | leency | 22 | |
23 | |||
24 | VAR |
||
25 | |||
7597 | akron1 | 26 | time*: INTEGER; |
6613 | leency | 27 | |
7597 | akron1 | 28 | eol*: ARRAY 3 OF CHAR; |
6613 | leency | 29 | |
7597 | akron1 | 30 | maxreal*: REAL; |
6613 | leency | 31 | |
32 | |||
7597 | akron1 | 33 | PROCEDURE FileRead* (F: INTEGER; VAR Buffer: ARRAY OF BYTE; bytes: INTEGER): INTEGER; |
34 | RETURN HOST.FileRead(F, Buffer, bytes) |
||
35 | END FileRead; |
||
6613 | leency | 36 | |
37 | |||
7597 | akron1 | 38 | PROCEDURE FileWrite* (F: INTEGER; Buffer: ARRAY OF BYTE; bytes: INTEGER): INTEGER; |
39 | RETURN HOST.FileWrite(F, Buffer, bytes) |
||
40 | END FileWrite; |
||
6613 | leency | 41 | |
42 | |||
7597 | akron1 | 43 | PROCEDURE FileCreate* (FName: ARRAY OF CHAR): INTEGER; |
44 | RETURN HOST.FileCreate(FName) |
||
45 | END FileCreate; |
||
6613 | leency | 46 | |
47 | |||
7597 | akron1 | 48 | PROCEDURE FileClose* (F: INTEGER); |
6613 | leency | 49 | BEGIN |
7597 | akron1 | 50 | HOST.FileClose(F) |
51 | END FileClose; |
||
6613 | leency | 52 | |
53 | |||
7597 | akron1 | 54 | PROCEDURE FileOpen* (FName: ARRAY OF CHAR): INTEGER; |
55 | RETURN HOST.FileOpen(FName) |
||
56 | END FileOpen; |
||
6613 | leency | 57 | |
58 | |||
7597 | akron1 | 59 | PROCEDURE GetArg* (i: INTEGER; VAR str: ARRAY OF CHAR); |
6613 | leency | 60 | BEGIN |
7597 | akron1 | 61 | HOST.GetArg(i, str) |
62 | END GetArg; |
||
6613 | leency | 63 | |
64 | |||
7597 | akron1 | 65 | PROCEDURE Exit* (code: INTEGER); |
6613 | leency | 66 | BEGIN |
7597 | akron1 | 67 | HOST.ExitProcess(code) |
68 | END Exit; |
||
6613 | leency | 69 | |
70 | |||
7597 | akron1 | 71 | PROCEDURE GetTickCount* (): INTEGER; |
72 | RETURN HOST.GetTickCount() |
||
73 | END GetTickCount; |
||
6613 | leency | 74 | |
75 | |||
7597 | akron1 | 76 | PROCEDURE OutChar* (c: CHAR); |
6613 | leency | 77 | BEGIN |
7597 | akron1 | 78 | HOST.OutChar(c) |
79 | END OutChar; |
||
6613 | leency | 80 | |
81 | |||
7597 | akron1 | 82 | PROCEDURE splitf* (x: REAL; VAR a, b: INTEGER): INTEGER; |
83 | RETURN HOST.splitf(x, a, b) |
||
84 | END splitf; |
||
6613 | leency | 85 | |
86 | |||
7597 | akron1 | 87 | PROCEDURE isRelative* (path: ARRAY OF CHAR): BOOLEAN; |
88 | RETURN HOST.isRelative(path) |
||
89 | END isRelative; |
||
6613 | leency | 90 | |
91 | |||
7597 | akron1 | 92 | PROCEDURE GetCurrentDirectory* (VAR path: ARRAY OF CHAR); |
6613 | leency | 93 | BEGIN |
7597 | akron1 | 94 | HOST.GetCurrentDirectory(path) |
95 | END GetCurrentDirectory; |
||
7107 | akron1 | 96 | |
6613 | leency | 97 | |
7597 | akron1 | 98 | PROCEDURE UnixTime* (): INTEGER; |
99 | VAR |
||
100 | year, month, day, hour, min, sec: INTEGER; |
||
101 | res: INTEGER; |
||
6613 | leency | 102 | |
103 | BEGIN |
||
7597 | akron1 | 104 | IF OS = "LINUX" THEN |
105 | res := HOST.UnixTime() |
||
106 | ELSE |
||
107 | HOST.now(year, month, day, hour, min, sec); |
||
108 | res := UNIXTIME.time(year, month, day, hour, min, sec) |
||
109 | END |
||
6613 | leency | 110 | |
7597 | akron1 | 111 | RETURN res |
112 | END UnixTime; |
||
6613 | leency | 113 | |
114 | |||
115 | BEGIN |
||
7597 | akron1 | 116 | time := GetTickCount(); |
117 | COPY(HOST.eol, eol); |
||
118 | maxreal := 1.9; |
||
119 | PACK(maxreal, 1023) |
||
6613 | leency | 120 | END UTILS. |