Rev 6613 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 6613 | Rev 7107 | ||
---|---|---|---|
Line 1... | Line 1... | ||
1 | (* |
1 | (* |
2 | Copyright 2016 Anton Krotov |
2 | Copyright 2016, 2017 Anton Krotov |
Line 3... | Line 3... | ||
3 | 3 | ||
4 | This program is free software: you can redistribute it and/or modify |
4 | This program is free software: you can redistribute it and/or modify |
5 | it under the terms of the GNU Lesser General Public License as published by |
5 | it under the terms of the GNU Lesser General Public License as published by |
6 | the Free Software Foundation, either version 3 of the License, or |
6 | the Free Software Foundation, either version 3 of the License, or |
Line 47... | Line 47... | ||
47 | dwCreationDisposition, dwFlagsAndAttributes, hTemplateFile: INTEGER): INTEGER; |
47 | dwCreationDisposition, dwFlagsAndAttributes, hTemplateFile: INTEGER): INTEGER; |
48 | _OpenFile*: PROCEDURE [winapi] (lpFileName: INTEGER; lpReOpenBuff: OFSTRUCT; uStyle: INTEGER): INTEGER; |
48 | _OpenFile*: PROCEDURE [winapi] (lpFileName: INTEGER; lpReOpenBuff: OFSTRUCT; uStyle: INTEGER): INTEGER; |
49 | ReadFile, WriteFile: PROCEDURE [winapi] (hFile, Buffer, nNumberOfBytesToRead, lpNumberOfBytesRead, lpOverlapped: INTEGER): INTEGER; |
49 | ReadFile, WriteFile: PROCEDURE [winapi] (hFile, Buffer, nNumberOfBytesToRead, lpNumberOfBytesRead, lpOverlapped: INTEGER): INTEGER; |
50 | GetCommandLine*: PROCEDURE [winapi] (): INTEGER; |
50 | GetCommandLine*: PROCEDURE [winapi] (): INTEGER; |
51 | GetTickCount: PROCEDURE [winapi] (): INTEGER; |
51 | GetTickCount: PROCEDURE [winapi] (): INTEGER; |
52 | Alloc: PROCEDURE [winapi] (uFlags, dwBytes: INTEGER): INTEGER; |
- | |
53 | ExitProcess*: PROCEDURE [winapi] (code: INTEGER); |
52 | ExitProcess*: PROCEDURE [winapi] (code: INTEGER); |
54 | SetFilePointer: PROCEDURE [winapi] (hFile, lDistanceToMove, lpDistanceToMoveHigh, dwMoveMethod: INTEGER): INTEGER; |
53 | SetFilePointer: PROCEDURE [winapi] (hFile, lDistanceToMove, lpDistanceToMoveHigh, dwMoveMethod: INTEGER): INTEGER; |
Line 55... | Line 54... | ||
55 | 54 | ||
56 | PROCEDURE FileRW*(hFile, Buffer, nNumberOfBytes: INTEGER; write: BOOLEAN): INTEGER; |
55 | PROCEDURE FileRW*(hFile, Buffer, nNumberOfBytes: INTEGER; write: BOOLEAN): INTEGER; |
Line 110... | Line 109... | ||
110 | sec := t DIV 100; |
109 | sec := t DIV 100; |
111 | dsec := t MOD 100 |
110 | dsec := t MOD 100 |
112 | END Time; |
111 | END Time; |
Line 113... | Line 112... | ||
113 | 112 | ||
114 | PROCEDURE malloc*(size: INTEGER): INTEGER; |
113 | PROCEDURE malloc*(size: INTEGER): INTEGER; |
115 | RETURN Alloc(64, size) |
114 | RETURN API.Alloc(64, size) |
Line 116... | Line 115... | ||
116 | END malloc; |
115 | END malloc; |
117 | 116 | ||
118 | PROCEDURE init*; |
117 | PROCEDURE init*; |
Line 126... | Line 125... | ||
126 | GetProc("CloseHandle", lib, sys.ADR(CloseFile)); |
125 | GetProc("CloseHandle", lib, sys.ADR(CloseFile)); |
127 | GetProc("OpenFile", lib, sys.ADR(_OpenFile)); |
126 | GetProc("OpenFile", lib, sys.ADR(_OpenFile)); |
128 | GetProc("ReadFile", lib, sys.ADR(ReadFile)); |
127 | GetProc("ReadFile", lib, sys.ADR(ReadFile)); |
129 | GetProc("WriteFile", lib, sys.ADR(WriteFile)); |
128 | GetProc("WriteFile", lib, sys.ADR(WriteFile)); |
130 | GetProc("GetCommandLineA", lib, sys.ADR(GetCommandLine)); |
129 | GetProc("GetCommandLineA", lib, sys.ADR(GetCommandLine)); |
131 | GetProc("ExitProcess", lib, sys.ADR(ExitProcess)); |
- | |
132 | GetProc("GlobalAlloc", lib, sys.ADR(Alloc)); |
- | |
133 | GetProc("SetFilePointer", lib, sys.ADR(SetFilePointer)); |
130 | GetProc("SetFilePointer", lib, sys.ADR(SetFilePointer)); |
- | 131 | ExitProcess := API.ExitProcess; |
|
134 | hConsoleOutput := GetStdHandle(-11) |
132 | hConsoleOutput := GetStdHandle(-11) |
135 | END init; |
133 | END init; |
Line 136... | Line 134... | ||
136 | 134 | ||
137 | PROCEDURE GetName*(): INTEGER; |
135 | PROCEDURE GetName*(): INTEGER; |