Rev 7983 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 7983 | Rev 8097 | ||
---|---|---|---|
Line 11... | Line 11... | ||
11 | 11 | ||
Line 12... | Line 12... | ||
12 | 12 | ||
- | 13 | CONST |
|
Line 13... | Line 14... | ||
13 | CONST |
14 | |
14 | 15 | slash* = HOST.slash; |
|
15 | slash* = HOST.slash; |
16 | eol* = HOST.eol; |
Line 16... | Line -... | ||
16 | - | ||
17 | bit_depth* = HOST.bit_depth; |
- | |
18 | maxint* = HOST.maxint; |
17 | |
19 | minint* = HOST.minint; |
18 | bit_depth* = HOST.bit_depth; |
Line 20... | Line 19... | ||
20 | 19 | maxint* = HOST.maxint; |
|
21 | OS = HOST.OS; |
20 | minint* = HOST.minint; |
Line 22... | Line 21... | ||
22 | 21 | ||
23 | min32* = -2147483647-1; |
22 | min32* = -2147483647-1; |
Line 24... | Line 23... | ||
24 | max32* = 2147483647; |
23 | max32* = 2147483647; |
Line 25... | Line -... | ||
25 | - | ||
26 | vMajor* = 1; |
- | |
27 | vMinor* = 29; |
- | |
28 | - | ||
29 | FILE_EXT* = ".ob07"; |
- | |
30 | RTL_NAME* = "RTL"; |
24 | |
Line 31... | Line 25... | ||
31 | 25 | vMajor* = 1; |
|
Line 32... | Line -... | ||
32 | MAX_GLOBAL_SIZE* = 1600000000; |
- | |
33 | - | ||
34 | 26 | vMinor* = 43; |
|
Line 35... | Line 27... | ||
35 | TYPE |
27 | |
Line 36... | Line 28... | ||
36 | 28 | FILE_EXT* = ".ob07"; |
|
Line 59... | Line 51... | ||
59 | 51 | ||
Line 60... | Line 52... | ||
60 | END; |
52 | END; |
Line 61... | Line -... | ||
61 | - | ||
62 | bit_diff*: INTEGER; |
- | |
Line 63... | Line 53... | ||
63 | 53 | ||
64 | days: DAYS; |
54 | bit_diff*: INTEGER; |
65 | 55 | ||
Line 88... | Line 78... | ||
88 | PROCEDURE FileOpen* (FName: ARRAY OF CHAR): INTEGER; |
78 | PROCEDURE FileOpen* (FName: ARRAY OF CHAR): INTEGER; |
89 | RETURN HOST.FileOpen(FName) |
79 | RETURN HOST.FileOpen(FName) |
90 | END FileOpen; |
80 | END FileOpen; |
Line -... | Line 81... | ||
- | 81 | ||
- | 82 | ||
- | 83 | PROCEDURE chmod* (FName: ARRAY OF CHAR); |
|
- | 84 | BEGIN |
|
- | 85 | HOST.chmod(FName) |
|
- | 86 | END chmod; |
|
91 | 87 | ||
92 | 88 | ||
93 | PROCEDURE GetArg* (i: INTEGER; VAR str: ARRAY OF CHAR); |
89 | PROCEDURE GetArg* (i: INTEGER; VAR str: ARRAY OF CHAR); |
94 | BEGIN |
90 | BEGIN |
Line 132... | Line 128... | ||
132 | BEGIN |
128 | BEGIN |
133 | HOST.GetCurrentDirectory(path) |
129 | HOST.GetCurrentDirectory(path) |
134 | END GetCurrentDirectory; |
130 | END GetCurrentDirectory; |
Line 135... | Line -... | ||
135 | - | ||
136 | - | ||
137 | PROCEDURE GetUnixTime* (year, month, day, hour, min, sec: INTEGER): INTEGER; |
- | |
138 | RETURN ((year - 1970) * 365 + days[month - 1, day - 1, ORD(year DIV 4 = 0)] + (year - 1969) DIV 4) * 86400 + hour * 3600 + min * 60 + sec |
- | |
139 | END GetUnixTime; |
- | |
140 | 131 | ||
141 | - | ||
142 | PROCEDURE UnixTime* (): INTEGER; |
- | |
143 | VAR |
- | |
144 | year, month, day, hour, min, sec: INTEGER; |
- | |
145 | res: INTEGER; |
- | |
146 | - | ||
147 | BEGIN |
132 | |
148 | IF OS = "LINUX" THEN |
- | |
149 | res := HOST.UnixTime() |
- | |
150 | ELSE |
- | |
151 | HOST.now(year, month, day, hour, min, sec); |
- | |
152 | res := GetUnixTime(year, month, day, hour, min, sec) |
- | |
153 | END |
- | |
154 | 133 | PROCEDURE UnixTime* (): INTEGER; |
|
Line 155... | Line 134... | ||
155 | RETURN res |
134 | RETURN HOST.UnixTime() |
156 | END UnixTime; |
135 | END UnixTime; |
Line 227... | Line 206... | ||
227 | 206 | ||
228 | RETURN n |
207 | RETURN n |
Line 229... | Line 208... | ||
229 | END Log2; |
208 | END Log2; |
230 | - | ||
231 | - | ||
232 | PROCEDURE init (VAR days: DAYS); |
- | |
233 | VAR |
209 | |
234 | i, j, n0, n1: INTEGER; |
- | |
235 | 210 | ||
236 | BEGIN |
211 | PROCEDURE hexdgt* (n: BYTE): BYTE; |
237 | - | ||
238 | FOR i := 0 TO 11 DO |
- | |
239 | FOR j := 0 TO 30 DO |
- | |
240 | days[i, j, 0] := 0; |
212 | BEGIN |
241 | days[i, j, 1] := 0; |
- | |
242 | END |
- | |
243 | END; |
- | |
244 | - | ||
245 | days[ 1, 28, 0] := -1; |
- | |
246 | - | ||
247 | FOR i := 0 TO 1 DO |
- | |
248 | days[ 1, 29, i] := -1; |
- | |
249 | days[ 1, 30, i] := -1; |
- | |
250 | days[ 3, 30, i] := -1; |
213 | IF n < 10 THEN |
251 | days[ 5, 30, i] := -1; |
- | |
252 | days[ 8, 30, i] := -1; |
- | |
253 | days[10, 30, i] := -1; |
- | |
254 | END; |
- | |
255 | - | ||
256 | n0 := 0; |
- | |
257 | n1 := 0; |
- | |
258 | FOR i := 0 TO 11 DO |
- | |
259 | FOR j := 0 TO 30 DO |
- | |
260 | IF days[i, j, 0] = 0 THEN |
- | |
261 | days[i, j, 0] := n0; |
- | |
262 | INC(n0) |
- | |
263 | END; |
- | |
264 | IF days[i, j, 1] = 0 THEN |
- | |
265 | days[i, j, 1] := n1; |
- | |
266 | INC(n1) |
214 | INC(n, ORD("0")) |
Line -... | Line 215... | ||
- | 215 | ELSE |
|
267 | END |
216 | INC(n, ORD("A") - 10) |
Line 268... | Line 217... | ||
268 | END |
217 | END |
269 | END |
218 | |
270 | - | ||
271 | END init; |
219 | RETURN n |
272 | - | ||
273 | 220 | END hexdgt; |
|
274 | BEGIN |
221 |