kolibrios/programs/develop/oberon07/Docs/KOSLib866.txt

566 lines
17 KiB
Plaintext
Raw Normal View History

==============================================================================
<09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (KolibriOS)
------------------------------------------------------------------------------
MODULE Out - <20><><EFBFBD><EFBFBD><E1AEAB><EFBFBD><EFBFBD> <20><EFBFBD>
PROCEDURE Open
<09><><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD><EBA2A0> <20><><EFBFBD><EFBFBD><E1AEAB><EFBFBD><EFBFBD> <20><EFBFBD>
PROCEDURE Int(x, width: INTEGER)
<09><EFBFBD><><E6A5AB><EFBFBD> <20><>᫠ x;
width - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><EFBFBD><E1AFAE><EFBFBD><EFBFBD><E3A5AC> <20><><EFBFBD> <20><EFBFBD><EBA2AE>
PROCEDURE Real(x: REAL; width: INTEGER)
<09><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E2A2A5><EFBFBD><EFBFBD><EFBFBD> <20><>᫠ x <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><20><><EFBFBD><E0ACA0>;
width - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><EFBFBD><E1AFAE><EFBFBD><EFBFBD><E3A5AC> <20><><EFBFBD> <20><EFBFBD><EBA2AE>
PROCEDURE Char(x: CHAR)
<09><EFBFBD><><E1A8AC><EFBFBD><EFBFBD> x
PROCEDURE FixReal(x: REAL; width, p: INTEGER)
<09><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E2A2A5><EFBFBD><EFBFBD><EFBFBD> <20><>᫠ x <20><><E4A8AA><EFBFBD><E0AEA2><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E0ACA0>;
width - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><EFBFBD><E1AFAE><EFBFBD><EFBFBD><E3A5AC> <20><><EFBFBD> <20><EFBFBD><EBA2AE>;
p - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>
PROCEDURE Ln
<09><><EFBFBD><EFBFBD><20><><><E1ABA5><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>
PROCEDURE String(s: ARRAY OF CHAR)
<09><EFBFBD> <20><><EFBFBD> s
------------------------------------------------------------------------------
MODULE In - <20><><EFBFBD><EFBFBD><E1AEAB><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
VAR Done: BOOLEAN
<09><EFBFBD><E0A8AD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E7A5AD> TRUE <20> <20><><EFBFBD><20>ᯥ譮<E1AFA5><E8ADAE> <20><EFBFBD><EBAFAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<09><><EFBFBD><EFBFBD><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD> FALSE
PROCEDURE Open
<09><><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD><EBA2A0> <20><><EFBFBD><EFBFBD><E1AEAB><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>,
<><E2A0AA> <20><><EFBFBD><EFBFBD><E1A2A0><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E0A5AC><EFBFBD><EFBFBD><EFBFBD> Done <20><><EFBFBD><EFBFBD><E7A5AD> TRUE
PROCEDURE Int(VAR x: INTEGER)
<09><><EFBFBD><EFBFBD> <20><><> INTEGER
PROCEDURE Char(VAR x: CHAR)
<09><><EFBFBD><EFBFBD><><E1A8AC><EFBFBD><EFBFBD>
PROCEDURE Real(VAR x: REAL)
<09><><EFBFBD><EFBFBD> <20><><> REAL
PROCEDURE String(VAR s: ARRAY OF CHAR)
<09><><EFBFBD><EFBFBD> <20><><EFBFBD>
PROCEDURE Ln
<09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ENTER
------------------------------------------------------------------------------
MODULE Console - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E2A5AB><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E6A5A4><EFBFBD> <20><><EFBFBD>᮫쭮<E1AEAB><ECADAE> <20><EFBFBD><EBA2AE>
CONST
<09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD><E2A0AD> <20><><EFBFBD><E0A5A4><EFBFBD><EFBFBD><EFBFBD><> <20><><EFBFBD>᮫쭮<E1AEAB><ECADAE> <20><EFBFBD><EBA2AE>
Black = 0 Blue = 1 Green = 2
Cyan = 3 Red = 4 Magenta = 5
Brown = 6 LightGray = 7 DarkGray = 8
LightBlue = 9 LightGreen = 10 LightCyan = 11
LightRed = 12 LightMagenta = 13 Yellow = 14
White = 15
PROCEDURE Cls
<09><><EFBFBD><EFBFBD><20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
PROCEDURE SetColor(FColor, BColor: INTEGER)
<09><><EFBFBD><E2A0AD><EFBFBD><EFBFBD><><E6A2A5> <20><><EFBFBD>᮫쭮<E1AEAB><ECADAE> <20><EFBFBD><EBA2AE>: FColor - 梥<><><E2A5AA><EFBFBD>,
BColor - 梥<><>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E7A5AD> - <20><><EFBFBD><E8A5AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E1ABA5><EFBFBD><EFBFBD>
<09><><EFBFBD><EFBFBD><EFBFBD><E2A0AD>
PROCEDURE SetCursor(x, y: INTEGER)
<09><><EFBFBD><E2A0AD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (x, y)
PROCEDURE GetCursor(VAR x, y: INTEGER)
<09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EBA2A0> <20> <20><><EFBFBD><E0A0AC><EFBFBD><EFBFBD><><20><><EFBFBD><EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
PROCEDURE GetCursorX(): INTEGER
<09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E2A5AA><EFBFBD><EFBFBD> x-<2D><><EFBFBD><EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
PROCEDURE GetCursorY(): INTEGER
<09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E2A5AA><EFBFBD><EFBFBD> y-<2D><><EFBFBD><EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
------------------------------------------------------------------------------
MODULE ConsoleLib - <20><><EFBFBD><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> console.obj
------------------------------------------------------------------------------
MODULE Math - <20><><EFBFBD><E2A5AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>㭪樨
CONST
pi = 3.141592653589793E+00
e = 2.718281828459045E+00
PROCEDURE IsNan(x: REAL): BOOLEAN
<09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> TRUE, <20>᫨ x - <20><> <20><>
PROCEDURE IsInf(x: REAL): BOOLEAN
<09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> TRUE, <20>᫨ x - <20><><EFBFBD><E1AAAE><EFBFBD><E7ADAE><EFBFBD>
PROCEDURE sqrt(x: REAL): REAL
<09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> x
PROCEDURE exp(x: REAL): REAL
<09><><EFBFBD><E1AFAE><EFBFBD><EFBFBD><EFBFBD> x
PROCEDURE ln(x: REAL): REAL
<09><><EFBFBD><EFBFBD><EFBFBD><E0A0AB><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> x
PROCEDURE sin(x: REAL): REAL
<><E1A8AD> x
PROCEDURE cos(x: REAL): REAL
<09><><EFBFBD><E1A8AD> x
PROCEDURE tan(x: REAL): REAL
<><E2A0AD><EFBFBD><EFBFBD> x
PROCEDURE arcsin(x: REAL): REAL
<09><><EFBFBD><EFBFBD><E1A8AD> x
PROCEDURE arccos(x: REAL): REAL
<09><EFBFBD><EFBFBD><E1A8AD> x
PROCEDURE arctan(x: REAL): REAL
<09><><EFBFBD><EFBFBD><E2A0AD><EFBFBD><EFBFBD> x
PROCEDURE arctan2(y, x: REAL): REAL
<09><><EFBFBD><EFBFBD><E2A0AD><EFBFBD><EFBFBD> y/x
PROCEDURE power(base, exponent: REAL): REAL
<09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>᫠ base <20> <20><EFBFBD><E2A5AF><EFBFBD> exponent
PROCEDURE log(base, x: REAL): REAL
<09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> x <20><> <20><EFBFBD><E1ADAE><EFBFBD><EFBFBD><EFBFBD> base
PROCEDURE sinh(x: REAL): REAL
<09><><EFBFBD><EFBFBD><EFBFBD><E0A1AE><EFBFBD><EFBFBD><EFBFBD><><E1A8AD> x
PROCEDURE cosh(x: REAL): REAL
<09><><EFBFBD><EFBFBD><EFBFBD><E0A1AE><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E1A8AD> x
PROCEDURE tanh(x: REAL): REAL
<09><><EFBFBD><EFBFBD><EFBFBD><E0A1AE><EFBFBD><EFBFBD><EFBFBD><><E2A0AD><EFBFBD><EFBFBD> x
PROCEDURE arsinh(x: REAL): REAL
<09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><E0A1AE><EFBFBD><EFBFBD><EFBFBD><><E1A8AD> x
PROCEDURE arcosh(x: REAL): REAL
<09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><E0A1AE><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E1A8AD> x
PROCEDURE artanh(x: REAL): REAL
<09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><E0A1AE><EFBFBD><EFBFBD><EFBFBD><><E2A0AD><EFBFBD><EFBFBD> x
PROCEDURE round(x: REAL): REAL
<09><><EFBFBD><EFBFBD><E3A3AB><EFBFBD><EFBFBD> x <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E6A5AB><EFBFBD>
PROCEDURE frac(x: REAL): REAL;
<09><EFBFBD><E0AEA1><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><>᫠ x
PROCEDURE floor(x: REAL): REAL
<09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>襥 楫<><E6A5AB> <20><>᫮ (<28><EFBFBD><EFBFBD><E2A0A2><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> REAL),
<09><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> x: floor(1.2) = 1.0
PROCEDURE ceil(x: REAL): REAL
<09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>襥 楫<><E6A5AB> <20><>᫮ (<28><EFBFBD><EFBFBD><E2A0A2><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> REAL),
<09><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> x: ceil(1.2) = 2.0
PROCEDURE sgn(x: REAL): INTEGER
<09>᫨ x > 0 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 1
<09>᫨ x < 0 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> -1
<09>᫨ x = 0 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 0
PROCEDURE fact(n: INTEGER): REAL
<><E4A0AA><EFBFBD> n
------------------------------------------------------------------------------
MODULE Debug - <20><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><E2ABA0><EFBFBD>
<09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Out
PROCEDURE Open
<09><><EFBFBD><EFBFBD><EFBFBD><EBA2A0> <20><><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><E2ABA0><EFBFBD>
------------------------------------------------------------------------------
MODULE File - ࠡ<><E0A0A1><EFBFBD> <20><><E4A0A9><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E2A5AC>
TYPE
FNAME = ARRAY 520 OF CHAR
FS = POINTER TO rFS
rFS = RECORD (* <20><><EFBFBD><EFBFBD><E0ACA0><E6A8AE><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E4A0A9> *)
subfunc, pos, hpos, bytes, buffer: INTEGER;
name: FNAME
END
FD = POINTER TO rFD
rFD = RECORD (* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD> <20><><EFBFBD><E2A0AB><EFBFBD> *)
attr: INTEGER;
ntyp: CHAR;
reserved: ARRAY 3 OF CHAR;
time_create, date_create,
time_access, date_access,
time_modif, date_modif,
size, hsize: INTEGER;
name: FNAME
END
CONST
SEEK_BEG = 0
SEEK_CUR = 1
SEEK_END = 2
PROCEDURE Load(FName: ARRAY OF CHAR; VAR size: INTEGER): INTEGER;
<09><><EFBFBD><EFBFBD><EFBFBD><E3A6A0> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> FName, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EBA2A0> <20> <20><><EFBFBD><E0A0AC><EFBFBD>
size ࠧ<><E0A0A7><EFBFBD><><E4A0A9>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><E3A6A5><EFBFBD><EFBFBD><EFBFBD><><E4A0A9>
<09><><EFBFBD> 0 (<28><EFBFBD><E8A8A1>). <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><E5AEA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><E1AFA0><EFBFBD><EFBFBD><EBA2A0>
<> (kunpack).
PROCEDURE GetFileInfo(FName: ARRAY OF CHAR; VAR Info: rFD): BOOLEAN
<09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EBA2A0> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD> <20><><EFBFBD><E2A0AB><EFBFBD> <20><><EFBFBD><><E4A0A9>
<09><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> FName <20> <20><><EFBFBD><E0A0AC><EFBFBD> Info.
<09><><EFBFBD> <20><EFBFBD><E8A8A1> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> FALSE.
PROCEDURE Exists(FName: ARRAY OF CHAR): BOOLEAN
<09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> TRUE, <20>᫨ 䠩<> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> FName <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
PROCEDURE Close(VAR F: FS)
<09><EFBFBD><E1A2AE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><EFBFBD><EBA4A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><E0ACA0><E6A8AE><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<><E4A0A9> F <20> <20><><EFBFBD><EFBFBD><E1A2A0><EFBFBD><EFBFBD><EFBFBD> F <20><><EFBFBD><EFBFBD><E7A5AD> NIL
PROCEDURE Open(FName: ARRAY OF CHAR): FS
<09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E3AAA0><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><E0ACA0><E6A8AE><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E4A0A9> <20>
<09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> FName, <20><><EFBFBD> <20><EFBFBD><E8A8A1> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> NIL
PROCEDURE Delete(FName: ARRAY OF CHAR): BOOLEAN
<><E3A4A0><EFBFBD><EFBFBD><> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> FName, <20><><EFBFBD> <20><EFBFBD><E8A8A1> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> FALSE
PROCEDURE Seek(F: FS; Offset, Origin: INTEGER): INTEGER
<09><><EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><E2A5AD>-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E4A0A9> F <20><> Offset,
<09><EFBFBD><E2ADAE>⥫쭮 Origin = (SEEK_BEG - <20><><EFBFBD><><E4A0A9>,
SEEK_CUR - ⥪<><E2A5AA><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, SEEK_END - <20><><EFBFBD><EFBFBD><EFBFBD><><E4A0A9>),
<09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><E2ADAE>⥫쭮 <20><><EFBFBD><><E4A0A9>, <20><><EFBFBD><EFBFBD><E0A8AC>:
Seek(F, 0, SEEK_END)
<09><><EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><><E4A0A9> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
<><E4A0A9>; <20><><EFBFBD> <20><EFBFBD><E8A8A1> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> -1
PROCEDURE Read(F: FS; Buffer, Count: INTEGER): INTEGER
<09><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><><E4A0A9> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. F - 㪠<><E3AAA0><EFBFBD> <20><>
<09><><EFBFBD><EFBFBD><E0ACA0><E6A8AE><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E4A0A9>, Buffer - <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, Count - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><20><><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><20><EFBFBD><E0A5A1><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<09><><><E4A0A9>; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><20><><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><20><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<09> ᮮ⢥<E1AEAE><E2A2A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><20><><EFBFBD><E0A0A7> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><E2A5AD>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>
<09><><EFBFBD><EFBFBD><E0ACA0><E6A8AE><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> F.
PROCEDURE Write(F: FS; Buffer, Count: INTEGER): INTEGER
<09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EBA2A0> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>. F - 㪠<><E3AAA0><EFBFBD> <20><>
<09><><EFBFBD><EFBFBD><E0ACA0><E6A8AE><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E4A0A9>, Buffer - <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, Count - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><20><><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><20><EFBFBD><E0A5A1><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<09><>; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><20><><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><20><20><><EFBFBD><EFBFBD><EFBFBD> <20>
ᮮ⢥<E1AEAE><E2A2A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><20><><EFBFBD><E0A0A7> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><E2A5AD>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>
<09><><EFBFBD><EFBFBD><E0ACA0><E6A8AE><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> F.
PROCEDURE Create(FName: ARRAY OF CHAR): FS
<><E1AEA7><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> FName (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>), <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<><E3AAA0><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><E0ACA0><E6A8AE><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E4A0A9>,
<09><><EFBFBD> <20><EFBFBD><E8A8A1> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> NIL
PROCEDURE CreateDir(DirName: ARRAY OF CHAR): BOOLEAN
<><E1AEA7><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> DirName, <20><><EFBFBD> <20><EFBFBD><E0AEAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
<09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E2A2AE><EFBFBD><EFBFBD>, <20><><EFBFBD> <20><EFBFBD><E8A8A1> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> FALSE
PROCEDURE DeleteDir(DirName: ARRAY OF CHAR): BOOLEAN
<><E3A4A0><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> DirName,
<09><><EFBFBD> <20><EFBFBD><E8A8A1> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> FALSE
PROCEDURE DirExists(DirName: ARRAY OF CHAR): BOOLEAN
<09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> TRUE, <20><20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> DirName <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
------------------------------------------------------------------------------
MODULE Read - <20><EFBFBD><E2A5AD> <20><EFBFBD><E1ADAE><EFBFBD><EFBFBD> <><E2A8AF> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><><E4A0A9> F
<09><><EFBFBD><EFBFBD><E6A5A4><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> TRUE <20> <20><><EFBFBD><20>ᯥ譮<E1AFA5> <20><><EFBFBD><EFBFBD><EFBFBD><20><EFBFBD><E2A5AD> <20>
ᮮ⢥<E1AEAE><E2A2A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><20><><EFBFBD><E0A0A7> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><E2A5AD>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>
<09><><EFBFBD><EFBFBD><E0ACA0><E6A8AE><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> F
PROCEDURE Char(F: File.FS; VAR x: CHAR): BOOLEAN
PROCEDURE Int(F: File.FS; VAR x: INTEGER): BOOLEAN
PROCEDURE Real(F: File.FS; VAR x: REAL): BOOLEAN
PROCEDURE Boolean(F: File.FS; VAR x: BOOLEAN): BOOLEAN
PROCEDURE Set(F: File.FS; VAR x: SET): BOOLEAN
PROCEDURE Card16(F: File.FS; VAR x: SYSTEM.CARD16): BOOLEAN
------------------------------------------------------------------------------
MODULE Write - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><E1ADAE><EFBFBD><EFBFBD> <><E2A8AF> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> F
<09><><EFBFBD><EFBFBD><E6A5A4><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> TRUE <20> <20><><EFBFBD><20>ᯥ譮<E1AFA5> <20><><EFBFBD><EFBFBD><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>
ᮮ⢥<E1AEAE><E2A2A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><20><><EFBFBD><E0A0A7> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><E2A5AD>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>
<09><><EFBFBD><EFBFBD><E0ACA0><E6A8AE><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> F
PROCEDURE Char(F: File.FS; x: CHAR): BOOLEAN
PROCEDURE Int(F: File.FS; x: INTEGER): BOOLEAN
PROCEDURE Real(F: File.FS; x: REAL): BOOLEAN
PROCEDURE Boolean(F: File.FS; x: BOOLEAN): BOOLEAN
PROCEDURE Set(F: File.FS; x: SET): BOOLEAN
PROCEDURE Card16(F: File.FS; x: SYSTEM.CARD16): BOOLEAN
------------------------------------------------------------------------------
MODULE DateTime - <20><><EFBFBD><EFBFBD>, <20><EFBFBD>
CONST ERR = -7.0E5
PROCEDURE Now(VAR Year, Month, Day, Hour, Min, Sec: INTEGER)
<09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EBA2A0> <20> <20><><EFBFBD><E0A0AC><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><20><><EFBFBD><EFBFBD><E2A5AC><EFBFBD> <20><><EFBFBD><EFBFBD> <20>
<09><EFBFBD><E0A5AC><EFBFBD>
PROCEDURE Encode(Year, Month, Day, Hour, Min, Sec: INTEGER): REAL
<09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><E7A5AD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Year, Month, Day, Hour, Min, Sec;
<09><><EFBFBD> <20><EFBFBD><E8A8A1> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><E2A0AD> ERR = -7.0E5
PROCEDURE Decode(Date: REAL; VAR Year, Month, Day,
Hour, Min, Sec: INTEGER): BOOLEAN
<09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Year, Month, Day, Hour, Min, Sec <20><> <20><><EFBFBD><EFBFBD> Date;
<09><><EFBFBD> <20><EFBFBD><E8A8A1> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> FALSE
------------------------------------------------------------------------------
MODULE Args - <20><><EFBFBD><E0A0AC><EFBFBD><EFBFBD> <20>ணࠬ<E0AEA3><E0A0AC>
VAR argc: INTEGER
<09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><20><><EFBFBD><E0A0AC><20>ணࠬ<E0AEA3><E0A0AC>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>
<09><EFBFBD><E1AFAE><EFBFBD><EFA5AC><EFBFBD><><E4A0A9>
PROCEDURE GetArg(n: INTEGER; VAR s: ARRAY OF CHAR)
<09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EBA2A0> <20> <20><><EFBFBD> s n-<2D> <20><><EFBFBD><E0A0AC><EFBFBD> <20>ணࠬ<E0AEA3><E0A0AC>,
<09><EFBFBD><E3ACA5><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E0A0AC><20><> 0 <20><> argc - 1,
<09><EFBFBD><E3ABA5><EFBFBD> <20><><EFBFBD><E0A0AC><EFBFBD> -- <20><><EFBFBD> <20><EFBFBD><E1AFAE><EFBFBD><EFA5AC><EFBFBD><><E4A0A9>
------------------------------------------------------------------------------
MODULE KOSAPI
PROCEDURE sysfunc1(arg1: INTEGER): INTEGER
PROCEDURE sysfunc2(arg1, arg2: INTEGER): INTEGER
...
PROCEDURE sysfunc7(arg1, arg2, ..., arg7: INTEGER): INTEGER
<09><><EFBFBD><EFBFBD><20><><EFBFBD> <20>㭪権 API <20><><EFBFBD><EFBFBD> KolibriOS.
arg1 .. arg7 ᮮ⢥<E1AEAE><E2A2A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E0A5A3><EFBFBD>
eax, ebx, ecx, edx, esi, edi, ebp;
<09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E7A5AD><><E0A5A3><EFBFBD><EFBFBD><EFBFBD> eax <20><><20><><EFBFBD><EFBFBD><E2A5AC><EFBFBD><EFBFBD> <20><EFBFBD><EBA7AE>.
PROCEDURE sysfunc22(arg1, arg2: INTEGER; VAR res2: INTEGER): INTEGER
<09><><EFBFBD><EFBFBD><20><><EFBFBD> <20>㭪権 API <20><><EFBFBD><EFBFBD> KolibriOS.
arg1 - ॣ<><E0A5A3><EFBFBD><EFBFBD> eax, arg2 - ॣ<><E0A5A3><EFBFBD><EFBFBD> ebx,
res2 - <20><><EFBFBD><EFBFBD><E7A5AD><><E0A5A3><EFBFBD><EFBFBD><EFBFBD> ebx <20><><20><><EFBFBD><EFBFBD><E2A5AC><EFBFBD><EFBFBD> <20><EFBFBD><EBA7AE>;
<09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E7A5AD><><E0A5A3><EFBFBD><EFBFBD><EFBFBD> eax <20><><20><><EFBFBD><EFBFBD><E2A5AC><EFBFBD><EFBFBD> <20><EFBFBD><EBA7AE>.
PROCEDURE malloc(size: INTEGER): INTEGER
<09><EFBFBD><EBA4A5><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
size - ࠧ<><E0A0A7><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
<09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><EBA4A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
PROCEDURE free(ptr: INTEGER): INTEGER
<09><EFBFBD><E1A2AE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E0A0AD> <20><EFBFBD><EBA4A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD>ᮬ ptr,
<09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 0
PROCEDURE realloc(ptr, size: INTEGER): INTEGER
<09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E0A5A4><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
ptr - <20><><EFBFBD><EFBFBD><EFBFBD><><E0A0AD> <20><EFBFBD><EBA4A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>,
size - <20><><EFBFBD><EFBFBD><EFBFBD><><E0A0A7><EFBFBD>,
<09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E3AAA0><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E0A5A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>,
0 <20><><EFBFBD> <20><EFBFBD><E8A8A1>
PROCEDURE GetCommandLine(): INTEGER
<09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><E0A0AC>
PROCEDURE GetName(): INTEGER
<09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ணࠬ<E0AEA3><E0A0AC>
PROCEDURE LoadLib(name: ARRAY OF CHAR): INTEGER
<09><><EFBFBD><EFBFBD><EFBFBD><E3A6A0> DLL <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> name. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><><E2A0A1><EFBFBD><EFBFBD>
<09><><EFBFBD><E1AFAE><EFBFBD>. <20><><EFBFBD> <20><EFBFBD><E8A8A1> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 0.
PROCEDURE GetProcAdr(name: ARRAY OF CHAR; lib: INTEGER): INTEGER
name - <20><><EFBFBD> <20><><EFBFBD><EFBFBD><E6A5A4><EFBFBD>
lib - <20><><EFBFBD><EFBFBD><EFBFBD><><E2A0A1><EFBFBD><EFBFBD> <20><><EFBFBD><E1AFAE><EFBFBD> DLL
<09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E6A5A4><EFBFBD>. <20><><EFBFBD> <20><EFBFBD><E8A8A1> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 0.
------------------------------------------------------------------------------
MODULE ColorDlg - ࠡ<><E0A0A1><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> "Color Dialog"
TYPE
Dialog = POINTER TO RECORD (* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> *)
status: INTEGER (* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
0 - <20><><EFBFBD><EFBFBD><ECA7AE><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> Cancel
1 - <20><><EFBFBD><EFBFBD><ECA7AE><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> OK
2 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> *)
color: INTEGER (* <20><><EFBFBD><EFBFBD><E0A0AD><EFBFBD><> *)
END
PROCEDURE Create(draw_window: DRAW_WINDOW): Dialog
<><E1AEA7><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
draw_window - <20><><EFBFBD><EFBFBD><E6A5A4><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E1AEA2> <20><EFBFBD><E1ADAE><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
(TYPE DRAW_WINDOW = PROCEDURE);
<09><><EFBFBD><EFBFBD><E6A5A4><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E3AAA0><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
PROCEDURE Show(cd: Dialog)
<09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
cd - 㪠<><E3AAA0><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><><E1AEA7><EFBFBD><><E0A0AD>
<09><><EFBFBD><EFBFBD>ன Create
PROCEDURE Destroy(VAR cd: Dialog)
<><EFBFBD><E2AEA6><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
cd - 㪠<><E3AAA0><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
------------------------------------------------------------------------------
MODULE OpenDlg - ࠡ<><E0A0A1><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> "Open Dialog"
TYPE
Dialog = POINTER TO RECORD (* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> *)
status: INTEGER (* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
0 - <20><><EFBFBD><EFBFBD><ECA7AE><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> Cancel
1 - <20><><EFBFBD><EFBFBD><ECA7AE><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> OK
2 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> *)
FileName: ARRAY 4096 OF CHAR (* <20><><EFBFBD> <20><><EFBFBD><EFBFBD><E0A0AD><EFBFBD><EFBFBD><><E4A0A9> *)
FilePath: ARRAY 4096 OF CHAR (* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><E0A0AD><EFBFBD><EFBFBD>
<><E4A0A9> *)
END
PROCEDURE Create(draw_window: DRAW_WINDOW; type: INTEGER; def_path,
filter: ARRAY OF CHAR): Dialog
<><E1AEA7><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
draw_window - <20><><EFBFBD><EFBFBD><E6A5A4><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E1AEA2> <20><EFBFBD><E1ADAE><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
(TYPE DRAW_WINDOW = PROCEDURE)
type - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
0 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
1 - <20><><EFBFBD><EFBFBD><E0A0AD><EFBFBD>
2 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
def_path - <20><><EFBFBD><EFBFBD> <20><><><EFBFBD><E7A0AD>, <20><><EFBFBD><EFBFBD><EFBFBD> def_path <20><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<09><><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
filter - <20> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E1ABA5><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E0A5AD><><E4A0A9><EFBFBD>,
<09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E0A5AD>
<><E0A0A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E1A8AC><EFBFBD><EFBFBD><EFBFBD> "|", <20><><EFBFBD><EFBFBD><E0A8AC>: "ASM|TXT|INI"
<09><><EFBFBD><EFBFBD><E6A5A4><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E3AAA0><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
PROCEDURE Show(od: Dialog; Width, Height: INTEGER)
<09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
od - 㪠<><E3AAA0><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><><E1AEA7><EFBFBD><><E0A0AD>
<20><><EFBFBD><EFBFBD>ன Create
Width <20> Height - <20><><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
PROCEDURE Destroy(VAR od: Dialog)
<><EFBFBD><E2AEA6><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
od - 㪠<><E3AAA0><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
------------------------------------------------------------------------------
MODULE kfonts - ࠡ<><E0A0A1><EFBFBD> <20> kf-<2D><><EFBFBD><EFBFBD><EFBFBD>
CONST
bold = 1
italic = 2
underline = 4
strike_through = 8
smoothing = 16
bpp32 = 32
TYPE
TFont = POINTER TO TFont_desc (* 㪠<><E3AAA0><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> *)
PROCEDURE LoadFont(file_name: ARRAY OF CHAR): TFont
<09><><EFBFBD><EFBFBD><EFBFBD><E3A7A8> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><><E4A0A9>
file_name <20><><EFBFBD> kf-䠩<><E4A0A9>
१-<2D>: 㪠<><E3AAA0><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>/NIL (<28><EFBFBD><E8A8A1>)
PROCEDURE SetSize(Font: TFont; font_size: INTEGER): BOOLEAN
<09><><EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD><><E0A0A7><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Font 㪠<><E3AAA0><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>
font_size ࠧ<><E0A0A7><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
१-<2D>: TRUE/FALSE (<28><EFBFBD><E8A8A1>)
PROCEDURE Enabled(Font: TFont; font_size: INTEGER): BOOLEAN
<09><EFBFBD><E0AEA2><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E0A0A7><EFBFBD><EFBFBD>
Font 㪠<><E3AAA0><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>
font_size ࠧ<><E0A0A7><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
१-<2D>: TRUE/FALSE (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>)
PROCEDURE Destroy(VAR Font: TFont)
<09><><EFBFBD><EFBFBD><EFBFBD><E3A7A8> <20><><EFBFBD><EFBFBD><EFBFBD>, <20><EFBFBD><E1A2AE><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Font 㪠<><E3AAA0><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>
<09><><EFBFBD><EFBFBD><E1A2A0><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E0A5AC><EFBFBD><EFBFBD><EFBFBD> Font <20><><EFBFBD><EFBFBD><E7A5AD> NIL
PROCEDURE TextHeight(Font: TFont): INTEGER
<09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><><E2A5AA><EFBFBD>
Font 㪠<><E3AAA0><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>
१-<2D>: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><><E2A5AA><EFBFBD> <20> <20><><EFBFBD><EFBFBD><E1A5AB>
PROCEDURE TextWidth(Font: TFont;
str, length, params: INTEGER): INTEGER
<09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><><E2A5AA><EFBFBD>
Font 㪠<><E3AAA0><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>
str <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><><E2A5AA><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><E0AEA2> Win-1251
length <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⢮ ᨬ<><E1A8AC><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD> <20><><EFBFBD> -1, <20><20><><EFBFBD>
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E8A0A5><EFBFBD> <20><EFBFBD>
params <20><><EFBFBD><E0A0AC><EFBFBD><EFBFBD>-䫠<><E4ABA0> <20><>. <20><><EFBFBD><EFBFBD>
१-<2D>: <20><><EFBFBD> <20><><EFBFBD><><E2A5AA><EFBFBD> <20> <20><><EFBFBD><EFBFBD><E1A5AB>
PROCEDURE TextOut(Font: TFont;
canvas, x, y, str, length, color, params: INTEGER)
<09><EFBFBD><EBA2A5><EFBFBD><><E2A5AA> <20> <20><><EFBFBD><EFBFBD><EFBFBD>
<09><><EFBFBD> <20><EFBFBD><EBA2AE> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD>, <20><EFBFBD><EFBFBD><ECA7AE><EFBFBD><EFBFBD> <20>.65 <20><><EFBFBD>
<09>.7 (<28><20><><EFBFBD><EFBFBD><EFBFBD> 24-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
Font 㪠<><E3AAA0><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>
canvas <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E1AAAE> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
Xsize dd
Ysize dd
picture rb Xsize * Ysize * 4 (32 <20><><EFBFBD><EFBFBD>)
<20><><EFBFBD> Xsize * Ysize * 3 (24 <20><><EFBFBD><EFBFBD>)
x, y <20><><EFBFBD><EFBFBD><E0A4A8><EFBFBD><EFBFBD><><E2A5AA><EFBFBD> <20><EFBFBD><E2ADAE>⥫쭮 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E5ADA5>
<> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
str <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><><E2A5AA><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><E0AEA2> Win-1251
length <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⢮ ᨬ<><E1A8AC><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD> <20><><EFBFBD> -1, <20><20><><EFBFBD>
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E8A0A5><EFBFBD> <20><EFBFBD>
color 梥<><><E2A5AA><EFBFBD> 0x00RRGGBB
params <20><><EFBFBD><E0A0AC><EFBFBD><EFBFBD>-䫠<><E4ABA0>:
1 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
2 <20><><EFBFBD>
4 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E0AAAD><EFBFBD><EFBFBD>
8 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E0AAAD><EFBFBD><EFBFBD>
16 <20><EFBFBD><E0A8AC><EFBFBD><EFBFBD><EFBFBD><><E1A3AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
32 <20><EFBFBD> <20> 32-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><EFBFBD><ECA7AE><EFBFBD><EFBFBD><EFBFBD><><E4ABA0><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><E2A0AD><EFBFBD>
------------------------------------------------------------------------------
MODULE RasterWorks - <20><><EFBFBD><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Rasterworks.obj
------------------------------------------------------------------------------
MODULE libimg - <20><><EFBFBD><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> libimg.obj
------------------------------------------------------------------------------