Subversion Repositories Kolibri OS

Rev

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