	 몠 ணࠬ஢ Oberon-07/11  i386
		Windows/Linux/KolibriOS.
------------------------------------------------------------------------------

	⠢ ணࠬ

1.	Compiler.kex (KolibriOS) - ᯮ塞 䠩 .
	室 - ⥪⮢ 䠩 㫥  ७ ".ob07", ஢ ANSI
	 UTF-8  BOM-ᨣன.
	室 - ᯮ塞 䠩 ଠ PE, ELF  MENUET01/MS COFF.
	ࠬ:
	1)   
	2) ⨯ ਫ  ଠ
		"con" - Windows console
		"gui" - Windows GUI
		"dll" - Windows DLL
		"elf" - Linux
		"kos" - KolibriOS
		"obj" - KolibriOS DLL
	3) ࠧ   , 易⥫ ࠬ,  㬮砭 -
	1 ,  ELF . ᫨ 2- ࠬ = "obj" (KolibriOS DLL),
	 3- ࠬ  ⭠ ᫮
	(0x00000001 .. 0xffffffff)  ।  ணࠬ,
	 㬮砭 - 0x00010000 (v1.0).
	ਬ:
		"C:\oberon-07\example.ob07" con 1
		"C:\oberon-07\example.ob07" obj 0x00020005 (* v2.5 *)
	 砥 ᯥ譮 樨,  ।  襭 0,
	 1.  ࠡ   KolibriOS,  襭 
	।. 饭  뢮  ᮫ (Windows,
	KolibriOS),  ନ (Linux).
2.	 Lib - ⥪ 㫥

------------------------------------------------------------------------------
	⫨  ਣ

1.	७ ᥢ SYSTEM
2.	襭 ᨬ "_"  䨪
3.	 ⥬ 䫠
4.	 CASE ॠ  ᮮ⢥⢨  ᨭ⠪ᮬ  ᥬ⨪
	   몥 Oberon (Revision 1.10.90)
5.	७  ⠭ 楤
6.	⨪ ࠭/஢ન ⨯ 筥  㫥 㪠⥫
7.	⨪ DIV  MOD 筥  ⥫ ᥫ
8.	  ਨ (稭   ᨬ "//")
9.	襭 ᯮ ६ ⨯ ARRAY  RECORD (⮫쪮  ⥭)
10.	襭 ᫥  ⨯-㪠⥫
11.	 ᥢ ⨯ (TYPE A = B)

------------------------------------------------------------------------------
	ᮡ ॠ樨

1.	᭮ ⨯

	  		    祭		   , 

	INTEGER       -2147483648 .. 2147483647 		4
	REAL	      1.40E-45 .. 3.34E+38			4
	LONGREAL      4.94E-324 .. 1.70E+308			8
	CHAR	      ᨬ ASCII (0X .. 0FFX) 		1
	BOOLEAN       FALSE, TRUE				1
	SET	      ⢮  楫 ᥫ {0 .. 31}	4

2.	ᨬ쭠  䨪஢ - 255 ᨬ
3.	ᨬ쭠  ப ⠭ - 255 ᨬ
4.	ᨬ쭠  ப 室  - 511 ᨬ
5.	ᨬ쭠 ࠧ୮  ᨢ - 5
6.	ᨬ쭮 ⢮  ⨯-ᥩ - 2047
7.	楤 NEW  ﬨ 뤥  
8.	   ६ 樠 ﬨ
9.	 ⫨稥   Oberon-ॠ権, ᡮ騪   ᪠
	쭮 

------------------------------------------------------------------------------
	ᥢ SYSTEM

  ᥢ SYSTEM ᮤন ஢   楤,
訡  ᯮ짮 楤 ᥢ SYSTEM  ਢ 
०  ६ 믮  ਩ 襭 ணࠬ.

	PROCEDURE ADR(v:  ⨯): INTEGER
		v - ६, 楤  ப ⠭;
		頥  v

	PROCEDURE SIZE(T): INTEGER
		頥 ࠧ ⨯ T

	PROCEDURE TYPEID(T): INTEGER
		T - ⨯-  ⨯-㪠⥫,
		頥  ⨯  ⠡ ⨯-ᥩ

	PROCEDURE INF(T): T
		T - REAL  LONGREAL,
		頥 ᯥ樠쭮 ⢥ 祭 "᪮筮"

	PROCEDURE GET(a: INTEGER;
		VAR v:  ᭮ ⨯, PROCEDURE, POINTER)
		v := [a]

	PROCEDURE PUT(a: INTEGER; x:  ᭮ ⨯, PROCEDURE, POINTER)
		[a] := x

	PROCEDURE MOVE(Source, Dest, n: INTEGER)
		 n    Source  Dest,
		 Source  Dest   ४뢠

	PROCEDURE COPY(VAR Source:  ⨯; VAR Dest:  ⨯; n: INTEGER)
		 n    Source  Dest.
		⭮
		SYSTEM.MOVE(SYSTEM.ADR(Source), SYSTEM.ADR(Dest), n)

	PROCEDURE CODE(s: ARRAY OF CHAR)
		⠢ 設 
		s - ப ⠭ ⭠ 
		⢮    
		ਬ: SYSTEM.CODE("B801000000") (* mov eax, 1 *)

    㫥 SYSTEM । ⨯ CARD16 (2 ).  ⨯ CARD16 
᪠   樨,  ᪫祭 ᢠ.
८ࠧ CARD16 -> INTEGER  INTEGER -> CARD16   ॠ
⠪:

	PROCEDURE Card16ToInt(w: SYSTEM.CARD16): INTEGER;
	VAR i: INTEGER;
	BEGIN
	  SYSTEM.PUT(SYSTEM.ADR(i), w)
	  RETURN i
	END Card16ToInt;

	PROCEDURE IntToCard16(i: INTEGER): SYSTEM.CARD16;
	VAR w: SYSTEM.CARD16;
	BEGIN
	  SYSTEM.GET(SYSTEM.ADR(i), w)
	  RETURN w
	END IntToCard16;

  㭪樨 ᥢ SYSTEM  ᯮ짮  ⠭ ࠦ.

------------------------------------------------------------------------------
	⥬ 䫠

    楤 ⨯   楤, ᫥ 祢
᫮ PROCEDURE   㪠 䫠 ᮣ襭 맮: [stdcall], [cdecl]
 [winapi]. ਬ:

	PROCEDURE [cdecl] MyProc(x, y, z: INTEGER): INTEGER;

  ᫨ 㪠 䫠 [winapi],  ਭ ᮣ襭 stdcall 
楤-㭪  맢  ᮡ⢥ 楤,  ࠦ.
 [winapi] 㯥 ⮫쪮   Windows.
    ⨯-ᥩ, ᫥ 祢 ᫮ RECORD  
㪠 䫠 [noalign]  [union].  [noalign] 砥 ⢨
ࠢ  ,  䫠 [union] 砥,  ᬥ饭  
 ࠢ ,  ⮬ ࠧ  ࠢ ࠧ 襣 .
 RECORD [union] ... END ᮮ⢥ ꥤ (union)  몥 C.
  ⥬묨 䫠     ⨯    
묨 ⨯  㣨 ᥩ.
   ᯮ짮 ⥬ 䫠, ॡ ஢ SYSTEM.

------------------------------------------------------------------------------
	 CASE

  ⠪  CASE:

	CaseStatement =
		CASE Expression OF ase {"|" ase}
			[ELSE StatementSequence] END.
	Case = [CaseLabelList ":" StatementSequence].
	CaseLabelList = CaseLabels {"," CaseLabels}.
	CaseLabels = ConstExpression [".." ConstExpression].

  ਬ:

	CASE x OF
	|-1:	DoSomething1
	| 1:	DoSomething2
	| 0:	DoSomething3
	ELSE
		DoSomething4
	END

   ⪠ ਠ⮢  ᯮ짮 ⠭ ࠦ, ⪠ ELSE
易⥫쭠. ᫨  믮   ਠ  ELSE , 
ணࠬ 뢠  訡 ६ 믮.

------------------------------------------------------------------------------
	஢ઠ  ࠭ ⨯ 㫥 㪠⥫

  ਣ쭮 ᮮ饭  몥  ।  ணࠬ 
믮 ࠭ p(T)  ஢ન ⨯ p IS T  p = NIL.  
Oberon-ॠ 믮 ⠪ 樨 ਢ  訡 ६
믮.   ॠ樨 ࠭ ⨯ 㫥 㪠⥫  ਢ 
訡,  ஢ઠ ⨯  १ FALSE.  拉 砥  
⥫쭮 ᮪  ਬ ࠭ ⨯.

------------------------------------------------------------------------------
	⥫ ⠭ 楤

	DISPOSE(VAR v: _㪠⥫)
		᢮ , 뤥 楤ன NEW 
		᪮ ६ v^,  ᢠ ६ v
		祭 NIL.

	LSR(x, n: INTEGER): INTEGER
		᪨ ᤢ x  n  ࠢ.

	MIN(a, b: INTEGER): INTEGER
		   祭.

	MAX(a, b: INTEGER): INTEGER
		ᨬ   祭.

	BITS(x: INTEGER): SET
		 x  祭 ⨯ SET.
		믮  ⠯ 樨.

	LENGTH(s: ARRAY OF CHAR): INTEGER
		 0X-襭 ப s,   ᨬ 0X.
		᫨ ᨬ 0X , 㭪 頥 
		ᨢ s.

------------------------------------------------------------------------------
	DIV  MOD

	 x	   y	  x DIV y   x MOD y

	 5	   3	     1	       2
	-5	   3	    -2	       1
	 5	  -3	    -2	      -1
	-5	  -3	     1	      -2

------------------------------------------------------------------------------
	 ࠬ 楤

   楤    ࠬ,    ᯨ᪥
ଠ ࠬ஢,  뢠 ஬  ࠭樨 맮.
   ᫥ :

1.	楤  ଠ ࠬ  ᨢ:
		PROCEDURE Proc(x: ARRAY OF ARRAY OF LONGREAL);
	맮 ࠭᫨ ⠪:
		Proc(SYSTEM.ADR(x), LEN(x), LEN(x[0])
2.	楤  ଠ ࠬ-६ ⨯ RECORD:
		PROCEDURE Proc(VAR x: Rec);
	맮 ࠭᫨ ⠪:
		Proc(SYSTEM.TYPEID(Rec), SYSTEM.ADR(x))
3.	楤  , 㡨  k,
	  楤 k = 0:
		PROCEDURE Proc(p1, ..., pn);
	맮 ࠭᫨ ⠪:
		Proc(base(k - 1), base(k - 2), ..., base(0), p1, ..., pn),
	 base(m) -     墠뢠饩 楤 㡨
	 m (ᯮ  㯠   ६
	墠뢠饩 楤)

------------------------------------------------------------------------------
	 RTL

   ணࠬ  ᯮ  RTL.  ࠭᫨
 樨 (஢ઠ  ࠭ ⨯, ࠢ ப, ᮮ饭 
訡 ६ 믮  .)  맮 楤 ⮣ . 
᫥  뢠  楤,  ᪫祭 楤 SetClose:

	PROCEDURE SetClose(proc: PROC),  TYPE PROC = PROCEDURE

SetClose 砥 楤 proc ( ࠬ஢) 뢠  㧪
dll-⥪ (Windows), ᫨ ਫ   Windows DLL. 
 ⨯ ਫ   맮 楤 SetClose   
 ணࠬ.
  饭  訡 ६ 믮 뢮   
(Windows),  ନ (Linux),   ⫠ (KolibriOS).

------------------------------------------------------------------------------
	 API

    ॠ樨  API:  Windows, Linux  KolibriOS.  
 RTL,  API  ।祭  אַ ᯮ짮. 
ᯥ稢 ᯫଥ .

------------------------------------------------------------------------------
	 ᯮ塞 䠩 DLL

  蠥 ᯮ஢ ⮫쪮 楤.  ⮣, 楤 
室   㫥 ணࠬ,      ⬥祭 ᨬ
ᯮ ("*"). KolibriOS DLL ᥣ ᯮ 䨪 "version"
( ணࠬ)  "lib_init" -  楤 樠樨 DLL:

	PROCEDURE [stdcall] lib_init(): INTEGER

 楤   맢 । ᯮ짮 DLL.
楤 ᥣ 頥 1.
   饥 ६  DLL  Linux  ॠ.

==============================================================================
==============================================================================

	⥪ (KolibriOS)

------------------------------------------------------------------------------
MODULE Out - ᮫ 뢮

	PROCEDURE Open
		ଠ쭮 뢠 ᮫ 뢮

	PROCEDURE Int(x, width: INTEGER)
		뢮 楫 ᫠ x;
		width - ⢮ , ᯮ㥬  뢮

	PROCEDURE Real(x: LONGREAL; width: INTEGER)
		뢮 ⢥ ᫠ x  饬 ଠ;
		width - ⢮ , ᯮ㥬  뢮

	PROCEDURE Char(x: CHAR)
		뢮 ᨬ x

	PROCEDURE FixReal(x: LONGREAL; width, p: INTEGER)
		뢮 ⢥ ᫠ x  䨪஢ ଠ;
		width - ⢮ , ᯮ㥬  뢮;
		p - ⢮  ᫥ 筮 窨

	PROCEDURE Ln
		室  ᫥ ப

	PROCEDURE String(s: ARRAY OF CHAR)
		뢮 ப s

------------------------------------------------------------------------------
MODULE In - ᮫ 

	VAR Done: BOOLEAN
		ਭ 祭 TRUE  砥 ᯥ譮 믮
		樨 ,  FALSE

	PROCEDURE Open
		ଠ쭮 뢠 ᮫ ,
		⠪ ᢠ ६ Done 祭 TRUE

	PROCEDURE Int(VAR x: INTEGER)
		 ᫠ ⨯ INTEGER

	PROCEDURE Char(VAR x: CHAR)
		 ᨬ

	PROCEDURE Real(VAR x: REAL)
		 ᫠ ⨯ REAL

	PROCEDURE LongReal(VAR x: LONGREAL)
		 ᫠ ⨯ LONGREAL

	PROCEDURE String(VAR s: ARRAY OF CHAR)
		 ப

	PROCEDURE Ln
		  ENTER

------------------------------------------------------------------------------
MODULE Console - ⥫ 楤 ᮫쭮 뢮

	CONST

	騥 ⠭ । 梥 ᮫쭮 뢮

		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
		⪠  ᮫

	PROCEDURE SetColor(FColor, BColor: INTEGER)
		⠭ 梥 ᮫쭮 뢮: FColor - 梥 ⥪,
		BColor - 梥 䮭,  祭 - 襯᫥
		⠭

	PROCEDURE SetCursor(x, y: INTEGER)
		⠭  ᮫   (x, y)

	PROCEDURE GetCursor(VAR x, y: INTEGER)
		뢠  ࠬ ⥪騥 न  ᮫

	PROCEDURE GetCursorX(): INTEGER
		頥 ⥪ x-न  ᮫

	PROCEDURE GetCursorY(): INTEGER
		頥 ⥪ y-न  ᮫

------------------------------------------------------------------------------
MODULE ConsoleLib - ⪠ ⥪ console.obj

------------------------------------------------------------------------------
MODULE Math - ⥬᪨ 㭪樨

	CONST

		pi = 3.141592653589793D+00
		e  = 2.718281828459045D+00

	VAR

		Inf, nInf: LONGREAL
			⥫쭠  ⥫쭠 ᪮筮

	PROCEDURE IsNan(x: LONGREAL): BOOLEAN
		頥 TRUE, ᫨ x -  ᫮

	PROCEDURE IsInf(x: LONGREAL): BOOLEAN
		頥 TRUE, ᫨ x - ᪮筮

	PROCEDURE sqrt(x: LONGREAL): LONGREAL
		 ७ x

	PROCEDURE exp(x: LONGREAL): LONGREAL
		ᯮ x

	PROCEDURE ln(x: LONGREAL): LONGREAL
		ࠫ  x

	PROCEDURE sin(x: LONGREAL): LONGREAL
		ᨭ x

	PROCEDURE cos(x: LONGREAL): LONGREAL
		ᨭ x

	PROCEDURE tan(x: LONGREAL): LONGREAL
		⠭ x

	PROCEDURE arcsin(x: LONGREAL): LONGREAL
		ᨭ x

	PROCEDURE arccos(x: LONGREAL): LONGREAL
		પᨭ x

	PROCEDURE arctan(x: LONGREAL): LONGREAL
		⠭ x

	PROCEDURE arctan2(y, x: LONGREAL): LONGREAL
		⠭ y/x

	PROCEDURE power(base, exponent: LONGREAL): LONGREAL
		 ᫠ base  ⥯ exponent

	PROCEDURE log(base, x: LONGREAL): LONGREAL
		 x  ᭮ base

	PROCEDURE sinh(x: LONGREAL): LONGREAL
		࡮᪨ ᨭ x

	PROCEDURE cosh(x: LONGREAL): LONGREAL
		࡮᪨ ᨭ x

	PROCEDURE tanh(x: LONGREAL): LONGREAL
		࡮᪨ ⠭ x

	PROCEDURE arcsinh(x: LONGREAL): LONGREAL
		 ࡮᪨ ᨭ x

	PROCEDURE arccosh(x: LONGREAL): LONGREAL
		 ࡮᪨ ᨭ x

	PROCEDURE arctanh(x: LONGREAL): LONGREAL
		 ࡮᪨ ⠭ x

	PROCEDURE round(x: LONGREAL): LONGREAL
		㣫 x  襣 楫

	PROCEDURE frac(x: LONGREAL): LONGREAL;
		஡  ᫠ x

	PROCEDURE floor(x: LONGREAL): LONGREAL
		襥 楫 ᫮ (।⠢  LONGREAL),
		  x: floor(1.2) = 1.0

	PROCEDURE ceil(x: LONGREAL): LONGREAL
		襥 楫 ᫮ (।⠢  LONGREAL),
		  x: ceil(1.2) = 2.0

	PROCEDURE sgn(x: LONGREAL): INTEGER
		᫨ x > 0 頥 1
		᫨ x < 0 頥 -1
		᫨ x = 0 頥 0

------------------------------------------------------------------------------
MODULE Debug - 뢮   ⫠
	䥩   Out

	PROCEDURE Open
		뢠  ⫠

------------------------------------------------------------------------------
MODULE File - ࠡ  䠩 ⥬

	TYPE

		FNAME = ARRAY 520 OF CHAR

		FS = POINTER TO rFS

		rFS = RECORD (* ଠ樮  䠩 *)
			subfunc, pos, hpos, bytes, buffer: INTEGER;
			name: FNAME
		END

		FD = POINTER TO rFD

		rFD = RECORD (*    室 ⠫ *)
			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;
		㦠   䠩   FName, 뢠  ࠬ
		size ࠧ 䠩, 頥  㦥 䠩
		 0 (訡).  室, ᯠ뢠
		䠩 (kunpack).

	PROCEDURE GetFileInfo(FName: ARRAY OF CHAR; VAR Info: rFD): BOOLEAN
		뢠    室 ⠫  䠩
		    FName  ࠬ Info.
		 訡 頥 FALSE.

	PROCEDURE Exists(FName: ARRAY OF CHAR): BOOLEAN
		頥 TRUE, ᫨ 䠩   FName 

	PROCEDURE Close(VAR F: FS)
		᢮ , 뤥  ଠ樮 
		䠩 F  ᢠ F 祭 NIL

	PROCEDURE Open(FName: ARRAY OF CHAR): FS
		頥 㪠⥫  ଠ樮  䠩 
		 FName,  訡 頥 NIL

	PROCEDURE Delete(FName: ARRAY OF CHAR): BOOLEAN
		㤠 䠩   FName,  訡 頥 FALSE

	PROCEDURE Seek(F: FS; Offset, Origin: INTEGER): INTEGER
		⠭  ⥭- 䠩 F  Offset,
		⭮⥫쭮 Origin = (SEEK_BEG - 砫 䠩,
		SEEK_CUR - ⥪ , SEEK_END -  䠩),
		頥  ⭮⥫쭮 砫 䠩, ਬ:
			Seek(F, 0, SEEK_END)
		⠭    䠩  頥 
		䠩;  訡 頥 -1

	PROCEDURE Read(F: FS; Buffer, Count: INTEGER): INTEGER
		⠥   䠩  . F - 㪠⥫ 
		ଠ樮  䠩, Buffer -  
		, Count - ⢮ , ஥ ॡ 
		 䠩; 頥 ⢮ , ஥ 뫮 ⠭
		 ᮮ⢥騬 ࠧ   ⥭/ 
		ଠ樮  F.

	PROCEDURE Write(F: FS; Buffer, Count: INTEGER): INTEGER
		뢠     䠩. F - 㪠⥫ 
		ଠ樮  䠩, Buffer -  
		, Count - ⢮ , ஥ ॡ 
		 䠩; 頥 ⢮ , ஥ 뫮 ᠭ 
		ᮮ⢥騬 ࠧ   ⥭/ 
		ଠ樮  F.

	PROCEDURE Create(FName: ARRAY OF CHAR): FS
		ᮧ  䠩   FName ( ), 頥
		㪠⥫  ଠ樮  䠩,
		 訡 頥 NIL

	PROCEDURE CreateDir(DirName: ARRAY OF CHAR): BOOLEAN
		ᮧ    DirName,  ஬ 
		 ⢮,  訡 頥 FALSE

	PROCEDURE DeleteDir(DirName: ARRAY OF CHAR): BOOLEAN
		㤠     DirName,
		 訡 頥 FALSE

	PROCEDURE DirExists(DirName: ARRAY OF CHAR): BOOLEAN
		頥 TRUE, ᫨    DirName 

------------------------------------------------------------------------------
MODULE Read - ⥭ ᭮ ⨯   䠩 F

	楤  TRUE  砥 ᯥ譮 樨 ⥭ 
	ᮮ⢥騬 ࠧ   ⥭/ 
	ଠ樮  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 LongReal(F: File.FS; VAR x: LONGREAL): 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 -  ᭮ ⨯   䠩 F

	楤  TRUE  砥 ᯥ譮 樨  
	ᮮ⢥騬 ࠧ   ⥭/ 
	ଠ樮  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 LongReal(F: File.FS; x: LONGREAL): 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 - , ६

	CONST ERR = -7.0D5

	PROCEDURE Now(VAR Year, Month, Day, Hour, Min, Sec: INTEGER)
		뢠  ࠬ  ⥪饩 ⥬  
		६

	PROCEDURE Encode(Year, Month, Day, Hour, Min, Sec: INTEGER): LONGREAL
		頥 , 祭  ⮢
		Year, Month, Day, Hour, Min, Sec;
		 訡 頥 ⠭ ERR = -7.0D5

	PROCEDURE Decode(Date: LONGREAL; VAR Year, Month, Day,
				Hour, Min, Sec: INTEGER): BOOLEAN
		 
		Year, Month, Day, Hour, Min, Sec   Date;
		 訡 頥 FALSE

------------------------------------------------------------------------------
MODULE Args - ࠬ ணࠬ

	VAR argc: INTEGER
		⢮ ࠬ஢ ணࠬ,  
		ᯮ塞 䠩

	PROCEDURE GetArg(n: INTEGER; VAR s: ARRAY OF CHAR)
		뢠  ப s n- ࠬ ணࠬ,
		㬥 ࠬ஢  0  argc - 1,
		㫥 ࠬ --  ᯮ塞 䠩

------------------------------------------------------------------------------
MODULE KOSAPI

	PROCEDURE sysfunc1(arg1: INTEGER): INTEGER
	PROCEDURE sysfunc2(arg1, arg2: INTEGER): INTEGER
	...
	PROCEDURE sysfunc7(arg1, arg2, ..., arg7: INTEGER): INTEGER
		⪨  㭪権 API  KolibriOS.
		arg1 .. arg7 ᮮ⢥ ॣࠬ
			eax, ebx, ecx, edx, esi, edi, ebp;
		 祭 ॣ eax ᫥ ⥬ 맮.

	PROCEDURE sysfunc22(arg1, arg2: INTEGER; VAR res2: INTEGER): INTEGER
		⪠  㭪権 API  KolibriOS.
		arg1 - ॣ eax, arg2 - ॣ ebx,
		res2 - 祭 ॣ ebx ᫥ ⥬ 맮;
		頥 祭 ॣ eax ᫥ ⥬ 맮.

	PROCEDURE malloc(size: INTEGER): INTEGER
		뤥  .
		size - ࠧ   ,
		頥  뤥 

	PROCEDURE free(ptr: INTEGER): INTEGER
		᢮ ࠭ 뤥    ᮬ ptr,
		頥 0

	PROCEDURE realloc(ptr, size: INTEGER): INTEGER
		।  ,
		ptr -  ࠭ 뤥 ,
		size -  ࠧ,
		頥 㪠⥫  । ,
		0  訡

	PROCEDURE GetCommandLine(): INTEGER
		頥  ப ࠬ஢

	PROCEDURE GetName(): INTEGER
		頥  ப   ணࠬ

	PROCEDURE LoadLib(name: ARRAY OF CHAR): INTEGER
		㦠 DLL    name. 頥  ⠡
		ᯮ.  訡 頥 0.

	PROCEDURE GetProcAdr(name: ARRAY OF CHAR; lib: INTEGER): INTEGER
		name -  楤
		lib -  ⠡ ᯮ DLL
		頥  楤.  訡 頥 0.

------------------------------------------------------------------------------
MODULE ColorDlg - ࠡ   "Color Dialog"

	TYPE

		Dialog = POINTER TO RECORD (*   *)
		    status: INTEGER   (* ﭨ :
					 0 - 짮⥫  Cancel
					 1 - 짮⥫  OK
					 2 -  	     *)

		    color:  INTEGER   (* ࠭ 梥 *)
		END

	PROCEDURE Create(draw_window: DRAW_WINDOW): Dialog
		ᮧ 
		draw_window - 楤 ᮢ ᭮ 
		(TYPE DRAW_WINDOW = PROCEDURE);
		楤 頥 㪠⥫   

	PROCEDURE Show(cd: Dialog)
		 
		cd - 㪠⥫   ,   ᮧ ࠭
		楤ன Create

	PROCEDURE Destroy(VAR cd: Dialog)
		㭨⮦ 
		cd - 㪠⥫   

------------------------------------------------------------------------------
MODULE OpenDlg - ࠡ   "Open Dialog"

	TYPE

		Dialog = POINTER TO RECORD (*   *)
		    status:   INTEGER  (* ﭨ :
					  0 - 짮⥫  Cancel
					  1 - 짮⥫  OK
					  2 -  	      *)

		    FileName: ARRAY 4096 OF CHAR (*  ࠭ 䠩 *)
		    FilePath: ARRAY 4096 OF CHAR (*   ࠭
						    䠩		 *)
		END

	PROCEDURE Create(draw_window: DRAW_WINDOW; type: INTEGER; def_path,
			filter: ARRAY OF CHAR): Dialog
		ᮧ 
		draw_window - 楤 ᮢ ᭮ 
			(TYPE DRAW_WINDOW = PROCEDURE)
		type -	⨯ 
			0 - 
			1 - ࠭
			2 -  
		def_path -   㬮砭,  def_path 㤥 
			 ࢮ ᪥ 
		filter -  ப ᠭ ᫥ ७ 䠩,
			     , ७
			ࠧ ᨬ "|", ਬ: "ASM|TXT|INI"
		楤 頥 㪠⥫   

	PROCEDURE Show(od: Dialog; Width, Height: INTEGER)
		 
		od - 㪠⥫   ,   ᮧ ࠭
		     楤ன Create
		Width  Height - ਭ    

	PROCEDURE Destroy(VAR od: Dialog)
		㭨⮦ 
		od - 㪠⥫   

------------------------------------------------------------------------------
MODULE kfonts - ࠡ  kf-⠬

	CONST

		bold		=   1
		italic		=   2
		underline	=   4
		strike_through	=   8
		smoothing	=  16
		bpp32		=  32

	TYPE

		TFont = POINTER TO TFont_desc (* 㪠⥫   *)

	PROCEDURE LoadFont(file_name: ARRAY OF CHAR): TFont
		㧨   䠩
		file_name    kf-䠩
		१-:	    㪠⥫  /NIL (訡)

	PROCEDURE SetSize(Font: TFont; font_size: INTEGER): BOOLEAN
		⠭ ࠧ 
		Font	    㪠⥫  
		font_size   ࠧ 
		१-:	    TRUE/FALSE (訡)

	PROCEDURE Enabled(Font: TFont; font_size: INTEGER): BOOLEAN
		஢,   ,  ࠧ
		Font	    㪠⥫  
		font_size   ࠧ 
		१-:	    TRUE/FALSE ( )

	PROCEDURE Destroy(VAR Font: TFont)
		㧨 , ᢮  
		Font	    㪠⥫  
		ᢠ ६ Font 祭 NIL

	PROCEDURE TextHeight(Font: TFont): INTEGER
		  ப ⥪
		Font	    㪠⥫  
		१-:	     ப ⥪  ᥫ

	PROCEDURE TextWidth(Font: TFont;
		    str, length, params: INTEGER): INTEGER
		 ਭ ப ⥪
		Font	    㪠⥫  
		str	     ப ⥪  ஢ Win-1251
		length	    ⢮ ᨬ  ப  -1, ᫨ ப
			    蠥 㫥
		params	    ࠬ-䫠 . 
		१-:	    ਭ ப ⥪  ᥫ

	PROCEDURE TextOut(Font: TFont;
		    canvas, x, y, str, length, color, params: INTEGER)
		뢥 ⥪  
		 뢮   , ᯮ짮 .65 
		.7 (᫨  24-)
		Font	    㪠⥫  
		canvas	     ᪮ 
			     :
			      Xsize	  dd
			      Ysize	  dd
			      picture	  rb  Xsize * Ysize * 4 (32 )
					       Xsize * Ysize * 3 (24 )
		x, y	    न ⥪ ⭮⥫쭮  孥
			    㣫 
		str	     ப ⥪  ஢ Win-1251
		length	    ⢮ ᨬ  ப  -1, ᫨ ப
			    蠥 㫥
		color	    梥 ⥪ 0x00RRGGBB
		params	    ࠬ-䫠:
			       1   
			       2   ᨢ
			       4   ભ
			       8   ભ
			      16   ਬ ᣫ
			      32   뢮  32- 
			     ᯮ짮 䫠   ⠭
------------------------------------------------------------------------------
MODULE RasterWorks - ⪠ ⥪ Rasterworks.obj
------------------------------------------------------------------------------
MODULE libimg - ⪠ ⥪ libimg.obj
------------------------------------------------------------------------------
MODULE NetDevices - ⪠  .74 (ࠡ  ⥢묨 ன⢠)
------------------------------------------------------------------------------