Subversion Repositories Kolibri OS

Rev

Rev 7107 | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 7107 Rev 7209
1
Š®¬¯¨«ïâ®à ï§ëª  ¯à®£à ¬¬¨à®¢ ­¨ï Oberon-07/11 ¤«ï i386
1
Š®¬¯¨«ïâ®à ï§ëª  ¯à®£à ¬¬¨à®¢ ­¨ï Oberon-07/11 ¤«ï i386
2
		Windows/Linux/KolibriOS.
2
		Windows/Linux/KolibriOS.
3
------------------------------------------------------------------------------
3
------------------------------------------------------------------------------
4
 
4
 
5
	‘®áâ ¢ ¯à®£à ¬¬ë
5
	‘®áâ ¢ ¯à®£à ¬¬ë
6
 
6
 
7
1.	Compiler.kex (KolibriOS) - ¨á¯®«­ï¥¬ë© ä ©« ª®¬¯¨«ïâ®à .
7
1.	Compiler.kex (KolibriOS) - ¨á¯®«­ï¥¬ë© ä ©« ª®¬¯¨«ïâ®à .
8
	‚室 - ⥪áâ®¢ë¥ ä ©«ë ¬®¤ã«¥© á à áè¨à¥­¨¥¬ ".ob07", ª®¤¨à®¢ª  ANSI
8
	‚室 - ⥪áâ®¢ë¥ ä ©«ë ¬®¤ã«¥© á à áè¨à¥­¨¥¬ ".ob07", ª®¤¨à®¢ª  ANSI
9
	¨«¨ UTF-8 á BOM-ᨣ­ âãன.
9
	¨«¨ UTF-8 á BOM-ᨣ­ âãன.
10
	‚ë室 - ¨á¯®«­ï¥¬ë© ä ©« ä®à¬ â  PE, ELF ¨«¨ MENUET01/MS COFF.
10
	‚ë室 - ¨á¯®«­ï¥¬ë© ä ©« ä®à¬ â  PE, ELF ¨«¨ MENUET01/MS COFF.
11
	 à ¬¥âàë:
11
	 à ¬¥âàë:
12
	1) ¨¬ï £« ¢­®£® ¬®¤ã«ï
12
	1) ¨¬ï £« ¢­®£® ¬®¤ã«ï
13
	2) ⨯ ¯à¨«®¦¥­¨ï ¨ ¯« âä®à¬ 
13
	2) ⨯ ¯à¨«®¦¥­¨ï ¨ ¯« âä®à¬ 
14
		"con" - Windows console
14
		"con" - Windows console
15
		"gui" - Windows GUI
15
		"gui" - Windows GUI
16
		"dll" - Windows DLL
16
		"dll" - Windows DLL
17
		"elf" - Linux
17
		"elf" - Linux
18
		"kos" - KolibriOS
18
		"kos" - KolibriOS
19
		"obj" - KolibriOS DLL
19
		"obj" - KolibriOS DLL
-
 
20
		"kem" - KolibriOS á  ¤à¥á®¬ § £à㧪¨ 0x10000 ¤«ï ¢®§¬®¦­®£®
-
 
21
			¨á¯®«­¥­¨ï ¢ í¬ã«ïâ®à¥
20
	3) à §¬¥à áâíª  ¢ ¬¥£ ¡ ©â å, ­¥®¡ï§ â¥«ì­ë© ¯ à ¬¥âà, ¯® 㬮«ç ­¨î -
22
	3) à §¬¥à áâíª  ¢ ¬¥£ ¡ ©â å, ­¥®¡ï§ â¥«ì­ë© ¯ à ¬¥âà, ¯® 㬮«ç ­¨î -
21
	1 Œ¡, ¤«ï ELF ¨£­®à¨àã¥âáï. …᫨ 2-© ¯ à ¬¥âà = "obj" (KolibriOS DLL),
23
	1 Œ¡, ¤«ï ELF ¨£­®à¨àã¥âáï. …᫨ 2-© ¯ à ¬¥âà = "obj" (KolibriOS DLL),
22
	â® 3-© ¯ à ¬¥âà § ¤ ¥âáï è¥áâ­ ¤æ â¨à¨ç­ë¬ ç¨á«®¬
24
	â® 3-© ¯ à ¬¥âà § ¤ ¥âáï è¥áâ­ ¤æ â¨à¨ç­ë¬ ç¨á«®¬
23
	(0x00000001 .. 0xffffffff) ¨ ®¯à¥¤¥«ï¥â ¢¥àá¨î ¯à®£à ¬¬ë,
25
	(0x00000001 .. 0xffffffff) ¨ ®¯à¥¤¥«ï¥â ¢¥àá¨î ¯à®£à ¬¬ë,
24
	¯® 㬮«ç ­¨î - 0x00010000 (v1.0).
26
	¯® 㬮«ç ­¨î - 0x00010000 (v1.0).
25
	 ¯à¨¬¥à:
27
	 ¯à¨¬¥à:
26
		"C:\oberon-07\example.ob07" con 1
28
		"C:\oberon-07\example.ob07" con 1
27
		"C:\oberon-07\example.ob07" obj 0x00020005 (* v2.5 *)
29
		"C:\oberon-07\example.ob07" obj 0x00020005 (* v2.5 *)
28
	‚ á«ãç ¥ ãᯥ譮© ª®¬¯¨«ï樨, ª®¬¯¨«ïâ®à ¯¥à¥¤ ¥â ª®¤ § ¢¥à襭¨ï 0,
30
	‚ á«ãç ¥ ãᯥ譮© ª®¬¯¨«ï樨, ª®¬¯¨«ïâ®à ¯¥à¥¤ ¥â ª®¤ § ¢¥à襭¨ï 0,
29
	¨­ ç¥ 1. à¨ à ¡®â¥ ª®¬¯¨«ïâ®à  ¢ KolibriOS, ª®¤ § ¢¥à襭¨ï ­¥
31
	¨­ ç¥ 1. à¨ à ¡®â¥ ª®¬¯¨«ïâ®à  ¢ KolibriOS, ª®¤ § ¢¥à襭¨ï ­¥
30
	¯¥à¥¤ ¥âáï. ‘®®¡é¥­¨ï ª®¬¯¨«ïâ®à  ¢ë¢®¤ïâáï ­  ª®­á®«ì (Windows,
32
	¯¥à¥¤ ¥âáï. ‘®®¡é¥­¨ï ª®¬¯¨«ïâ®à  ¢ë¢®¤ïâáï ­  ª®­á®«ì (Windows,
31
	KolibriOS), ¢ â¥à¬¨­ « (Linux).
33
	KolibriOS), ¢ â¥à¬¨­ « (Linux).
32
2.	 ¯ª  Lib - ¡¨¡«¨®â¥ª  ¬®¤ã«¥©
34
2.	 ¯ª  Lib - ¡¨¡«¨®â¥ª  ¬®¤ã«¥©
33
 
35
 
34
------------------------------------------------------------------------------
36
------------------------------------------------------------------------------
35
	Žâ«¨ç¨ï ®â ®à¨£¨­ « 
37
	Žâ«¨ç¨ï ®â ®à¨£¨­ « 
36
 
38
 
37
1.	 áè¨à¥­ ¯á¥¢¤®¬®¤ã«ì SYSTEM
39
1.	 áè¨à¥­ ¯á¥¢¤®¬®¤ã«ì SYSTEM
38
2.	 §à¥è¥­ ᨬ¢®« "_" ¢ ¨¤¥­â¨ä¨ª â®à å
40
2.	 §à¥è¥­ ᨬ¢®« "_" ¢ ¨¤¥­â¨ä¨ª â®à å
39
3.	„®¡ ¢«¥­ë á¨á⥬­ë¥ ä« £¨
41
3.	„®¡ ¢«¥­ë á¨á⥬­ë¥ ä« £¨
40
4.	Ž¯¥à â®à CASE ॠ«¨§®¢ ­ ¢ ᮮ⢥âá⢨¨ á ᨭ⠪á¨á®¬ ¨ ᥬ ­â¨ª®©
42
4.	Ž¯¥à â®à CASE ॠ«¨§®¢ ­ ¢ ᮮ⢥âá⢨¨ á ᨭ⠪á¨á®¬ ¨ ᥬ ­â¨ª®©
41
	¤ ­­®£® ®¯¥à â®à  ¢ ï§ëª¥ Oberon (Revision 1.10.90)
43
	¤ ­­®£® ®¯¥à â®à  ¢ ï§ëª¥ Oberon (Revision 1.10.90)
42
5.	 áè¨à¥­ ­ ¡®à áâ ­¤ àâ­ëå ¯à®æ¥¤ãà
44
5.	 áè¨à¥­ ­ ¡®à áâ ­¤ àâ­ëå ¯à®æ¥¤ãà
43
6.	‘¥¬ ­â¨ª  ®åà ­ë/¯à®¢¥àª¨ ⨯  ãâ®ç­¥­  ¤«ï ­ã«¥¢®£® 㪠§ â¥«ï
45
6.	‘¥¬ ­â¨ª  ®åà ­ë/¯à®¢¥àª¨ ⨯  ãâ®ç­¥­  ¤«ï ­ã«¥¢®£® 㪠§ â¥«ï
44
7.	‘¥¬ ­â¨ª  DIV ¨ MOD ãâ®ç­¥­  ¤«ï ®âà¨æ â¥«ì­ëå ç¨á¥«
46
7.	‘¥¬ ­â¨ª  DIV ¨ MOD ãâ®ç­¥­  ¤«ï ®âà¨æ â¥«ì­ëå ç¨á¥«
45
8.	„®¡ ¢«¥­ë ®¤­®áâà®ç­ë¥ ª®¬¬¥­â à¨¨ (­ ç¨­ îâáï á ¯ àë ᨬ¢®«®¢ "//")
47
8.	„®¡ ¢«¥­ë ®¤­®áâà®ç­ë¥ ª®¬¬¥­â à¨¨ (­ ç¨­ îâáï á ¯ àë ᨬ¢®«®¢ "//")
46
9.	 §à¥è¥­ íªá¯®àâ ¯¥à¥¬¥­­ëå ⨯®¢ ARRAY ¨ RECORD (⮫쪮 ¤«ï ç⥭¨ï)
48
9.	 §à¥è¥­ íªá¯®àâ ¯¥à¥¬¥­­ëå ⨯®¢ ARRAY ¨ RECORD (⮫쪮 ¤«ï ç⥭¨ï)
47
10.	 §à¥è¥­® ­ á«¥¤®¢ ­¨¥ ®â ⨯ -㪠§ â¥«ï
49
10.	 §à¥è¥­® ­ á«¥¤®¢ ­¨¥ ®â ⨯ -㪠§ â¥«ï
48
11.	„®¡ ¢«¥­ë ¯á¥¢¤®­¨¬ë ⨯®¢ (TYPE A = B)
50
11.	„®¡ ¢«¥­ë ¯á¥¢¤®­¨¬ë ⨯®¢ (TYPE A = B)
49
 
51
 
50
------------------------------------------------------------------------------
52
------------------------------------------------------------------------------
51
	Žá®¡¥­­®á⨠ॠ«¨§ æ¨¨
53
	Žá®¡¥­­®á⨠ॠ«¨§ æ¨¨
52
 
54
 
53
1.	Žá­®¢­ë¥ ⨯ë
55
1.	Žá­®¢­ë¥ ⨯ë
54
 
56
 
55
	  ’¨¯		   „¨ ¯ §®­ §­ ç¥­¨©		    §¬¥à, ¡ ©â
57
	  ’¨¯		   „¨ ¯ §®­ §­ ç¥­¨©		    §¬¥à, ¡ ©â
56
 
58
 
57
	INTEGER       -2147483648 .. 2147483647 		4
59
	INTEGER       -2147483648 .. 2147483647 		4
58
	REAL	      1.40E-45 .. 3.34E+38			4
60
	REAL	      1.40E-45 .. 3.34E+38			4
59
	LONGREAL      4.94E-324 .. 1.70E+308			8
61
	LONGREAL      4.94E-324 .. 1.70E+308			8
60
	CHAR	      ᨬ¢®« ASCII (0X .. 0FFX) 		1
62
	CHAR	      ᨬ¢®« ASCII (0X .. 0FFX) 		1
61
	BOOLEAN       FALSE, TRUE				1
63
	BOOLEAN       FALSE, TRUE				1
62
	SET	      ¬­®¦¥á⢮ ¨§ 楫ëå ç¨á¥« {0 .. 31}	4
64
	SET	      ¬­®¦¥á⢮ ¨§ 楫ëå ç¨á¥« {0 .. 31}	4
63
 
65
 
64
2.	Œ ªá¨¬ «ì­ ï ¤«¨­  ¨¤¥­â¨ä¨ª â®à®¢ - 255 ᨬ¢®«®¢
66
2.	Œ ªá¨¬ «ì­ ï ¤«¨­  ¨¤¥­â¨ä¨ª â®à®¢ - 255 ᨬ¢®«®¢
65
3.	Œ ªá¨¬ «ì­ ï ¤«¨­  áâப®¢ëå ª®­áâ ­â - 255 ᨬ¢®«®¢
67
3.	Œ ªá¨¬ «ì­ ï ¤«¨­  áâப®¢ëå ª®­áâ ­â - 255 ᨬ¢®«®¢
66
4.	Œ ªá¨¬ «ì­ ï ¤«¨­  áâப ¨á室­®£® ª®¤  - 511 ᨬ¢®«®¢
68
4.	Œ ªá¨¬ «ì­ ï ¤«¨­  áâப ¨á室­®£® ª®¤  - 511 ᨬ¢®«®¢
67
5.	Œ ªá¨¬ «ì­ ï à §¬¥à­®áâì ®âªàëâëå ¬ áᨢ®¢ - 5
69
5.	Œ ªá¨¬ «ì­ ï à §¬¥à­®áâì ®âªàëâëå ¬ áᨢ®¢ - 5
68
6.	Œ ªá¨¬ «ì­®¥ ª®«¨ç¥á⢮ ®¡ê¥­­ëå ⨯®¢-§ ¯¨á¥© - 2047
70
6.	Œ ªá¨¬ «ì­®¥ ª®«¨ç¥á⢮ ®¡ê¥­­ëå ⨯®¢-§ ¯¨á¥© - 2047
69
7.	à®æ¥¤ãà  NEW § ¯®«­ï¥â ­ã«ï¬¨ ¢ë¤¥«¥­­ë© ¡«®ª ¯ ¬ïâ¨
71
7.	à®æ¥¤ãà  NEW § ¯®«­ï¥â ­ã«ï¬¨ ¢ë¤¥«¥­­ë© ¡«®ª ¯ ¬ïâ¨
70
8.	ƒ«®¡ «ì­ë¥ ¨ «®ª «ì­ë¥ ¯¥à¥¬¥­­ë¥ ¨­¨æ¨ «¨§¨àãîâáï ­ã«ï¬¨
72
8.	ƒ«®¡ «ì­ë¥ ¨ «®ª «ì­ë¥ ¯¥à¥¬¥­­ë¥ ¨­¨æ¨ «¨§¨àãîâáï ­ã«ï¬¨
71
9.	‚ ®â«¨ç¨¥ ®â ¬­®£¨å Oberon-ॠ«¨§ æ¨©, á¡®à騪 ¬ãá®à  ¨ ¤¨­ ¬¨ç¥áª ï
73
9.	‚ ®â«¨ç¨¥ ®â ¬­®£¨å Oberon-ॠ«¨§ æ¨©, á¡®à騪 ¬ãá®à  ¨ ¤¨­ ¬¨ç¥áª ï
72
	¬®¤ã«ì­®áâì ®âáãâáâ¢ãîâ
74
	¬®¤ã«ì­®áâì ®âáãâáâ¢ãîâ
73
 
75
 
74
------------------------------------------------------------------------------
76
------------------------------------------------------------------------------
75
	á¥¢¤®¬®¤ã«ì SYSTEM
77
	á¥¢¤®¬®¤ã«ì SYSTEM
76
 
78
 
77
  á¥¢¤®¬®¤ã«ì SYSTEM ᮤ¥à¦¨â ­¨§ª®ã஢­¥¢ë¥ ¨ ­¥¡¥§®¯ á­ë¥ ¯à®æ¥¤ãàë,
79
  á¥¢¤®¬®¤ã«ì SYSTEM ᮤ¥à¦¨â ­¨§ª®ã஢­¥¢ë¥ ¨ ­¥¡¥§®¯ á­ë¥ ¯à®æ¥¤ãàë,
78
®è¨¡ª¨ ¯à¨ ¨á¯®«ì§®¢ ­¨¨ ¯à®æ¥¤ãà ¯á¥¢¤®¬®¤ã«ï SYSTEM ¬®£ã⠯ਢ¥á⨠ª
80
®è¨¡ª¨ ¯à¨ ¨á¯®«ì§®¢ ­¨¨ ¯à®æ¥¤ãà ¯á¥¢¤®¬®¤ã«ï SYSTEM ¬®£ã⠯ਢ¥á⨠ª
79
¯®¢à¥¦¤¥­¨î ¤ ­­ëå ¢à¥¬¥­¨ ¢ë¯®«­¥­¨ï ¨  ¢ à¨©­®¬ã § ¢¥à襭¨î ¯à®£à ¬¬ë.
81
¯®¢à¥¦¤¥­¨î ¤ ­­ëå ¢à¥¬¥­¨ ¢ë¯®«­¥­¨ï ¨  ¢ à¨©­®¬ã § ¢¥à襭¨î ¯à®£à ¬¬ë.
80
 
82
 
81
	PROCEDURE ADR(v: «î¡®© ⨯): INTEGER
83
	PROCEDURE ADR(v: «î¡®© ⨯): INTEGER
82
		v - ¯¥à¥¬¥­­ ï, ¯à®æ¥¤ãà  ¨«¨ áâப®¢ ï ª®­áâ ­â ;
84
		v - ¯¥à¥¬¥­­ ï, ¯à®æ¥¤ãà  ¨«¨ áâப®¢ ï ª®­áâ ­â ;
83
		¢®§¢à é ¥â  ¤à¥á v
85
		¢®§¢à é ¥â  ¤à¥á v
84
 
86
 
85
	PROCEDURE SIZE(T): INTEGER
87
	PROCEDURE SIZE(T): INTEGER
86
		¢®§¢à é ¥â à §¬¥à ⨯  T
88
		¢®§¢à é ¥â à §¬¥à ⨯  T
87
 
89
 
88
	PROCEDURE TYPEID(T): INTEGER
90
	PROCEDURE TYPEID(T): INTEGER
89
		T - ⨯-§ ¯¨áì ¨«¨ ⨯-㪠§ â¥«ì,
91
		T - ⨯-§ ¯¨áì ¨«¨ ⨯-㪠§ â¥«ì,
90
		¢®§¢à é ¥â ­®¬¥à ⨯  ¢ â ¡«¨æ¥ ⨯®¢-§ ¯¨á¥©
92
		¢®§¢à é ¥â ­®¬¥à ⨯  ¢ â ¡«¨æ¥ ⨯®¢-§ ¯¨á¥©
91
 
93
 
92
	PROCEDURE INF(T): T
94
	PROCEDURE INF(T): T
93
		T - REAL ¨«¨ LONGREAL,
95
		T - REAL ¨«¨ LONGREAL,
94
		¢®§¢à é ¥â ᯥ樠«ì­®¥ ¢¥é¥á⢥­­®¥ §­ ç¥­¨¥ "¡¥áª®­¥ç­®áâì"
96
		¢®§¢à é ¥â ᯥ樠«ì­®¥ ¢¥é¥á⢥­­®¥ §­ ç¥­¨¥ "¡¥áª®­¥ç­®áâì"
95
 
97
 
96
	PROCEDURE GET(a: INTEGER;
98
	PROCEDURE GET(a: INTEGER;
97
		VAR v: «î¡®© ®á­®¢­®© ⨯, PROCEDURE, POINTER)
99
		VAR v: «î¡®© ®á­®¢­®© ⨯, PROCEDURE, POINTER)
98
		v :=  ¬ïâì[a]
100
		v :=  ¬ïâì[a]
99
 
101
 
100
	PROCEDURE PUT(a: INTEGER; x: «î¡®© ®á­®¢­®© ⨯, PROCEDURE, POINTER)
102
	PROCEDURE PUT(a: INTEGER; x: «î¡®© ®á­®¢­®© ⨯, PROCEDURE, POINTER)
101
		 ¬ïâì[a] := x
103
		 ¬ïâì[a] := x
102
 
104
 
103
	PROCEDURE MOVE(Source, Dest, n: INTEGER)
105
	PROCEDURE MOVE(Source, Dest, n: INTEGER)
104
		Š®¯¨àã¥â n ¡ ©â ¯ ¬ï⨠¨§ Source ¢ Dest,
106
		Š®¯¨àã¥â n ¡ ©â ¯ ¬ï⨠¨§ Source ¢ Dest,
105
		®¡« á⨠Source ¨ Dest ­¥ ¤®«¦­ë ¯¥à¥ªà뢠âìáï
107
		®¡« á⨠Source ¨ Dest ­¥ ¤®«¦­ë ¯¥à¥ªà뢠âìáï
106
 
108
 
107
	PROCEDURE COPY(VAR Source: «î¡®© ⨯; VAR Dest: «î¡®© ⨯; n: INTEGER)
109
	PROCEDURE COPY(VAR Source: «î¡®© ⨯; VAR Dest: «î¡®© ⨯; n: INTEGER)
108
		Š®¯¨àã¥â n ¡ ©â ¯ ¬ï⨠¨§ Source ¢ Dest.
110
		Š®¯¨àã¥â n ¡ ©â ¯ ¬ï⨠¨§ Source ¢ Dest.
109
		ª¢¨¢ «¥­â­®
111
		ª¢¨¢ «¥­â­®
110
		SYSTEM.MOVE(SYSTEM.ADR(Source), SYSTEM.ADR(Dest), n)
112
		SYSTEM.MOVE(SYSTEM.ADR(Source), SYSTEM.ADR(Dest), n)
111
 
113
 
112
	PROCEDURE CODE(s: ARRAY OF CHAR)
114
	PROCEDURE CODE(s: ARRAY OF CHAR)
113
		‚áâ ¢ª  ¬ è¨­­®£® ª®¤ 
115
		‚áâ ¢ª  ¬ è¨­­®£® ª®¤ 
114
		s - áâப®¢ ï ª®­áâ ­â  è¥áâ­ ¤æ â¨à¨ç­ëå æ¨äà
116
		s - áâப®¢ ï ª®­áâ ­â  è¥áâ­ ¤æ â¨à¨ç­ëå æ¨äà
115
		ª®«¨ç¥á⢮ æ¨äà ¤®«¦­® ¡ëâì ç¥â­ë¬
117
		ª®«¨ç¥á⢮ æ¨äà ¤®«¦­® ¡ëâì ç¥â­ë¬
116
		­ ¯à¨¬¥à: SYSTEM.CODE("B801000000") (* mov eax, 1 *)
118
		­ ¯à¨¬¥à: SYSTEM.CODE("B801000000") (* mov eax, 1 *)
117
 
119
 
118
  ’ ª¦¥ ¢ ¬®¤ã«¥ SYSTEM ®¯à¥¤¥«¥­ ⨯ CARD16 (2 ¡ ©â ). „«ï ⨯  CARD16 ­¥
120
  ’ ª¦¥ ¢ ¬®¤ã«¥ SYSTEM ®¯à¥¤¥«¥­ ⨯ CARD16 (2 ¡ ©â ). „«ï ⨯  CARD16 ­¥
119
¤®¯ã᪠îâáï ­¨ª ª¨¥ ï¢­ë¥ ®¯¥à æ¨¨, §  ¨áª«î祭¨¥¬ ¯à¨á¢ ¨¢ ­¨ï.
121
¤®¯ã᪠îâáï ­¨ª ª¨¥ ï¢­ë¥ ®¯¥à æ¨¨, §  ¨áª«î祭¨¥¬ ¯à¨á¢ ¨¢ ­¨ï.
120
à¥®¡à §®¢ ­¨ï CARD16 -> INTEGER ¨ INTEGER -> CARD16 ¬®£ãâ ¡ëâì ॠ«¨§®¢ ­ë
122
à¥®¡à §®¢ ­¨ï CARD16 -> INTEGER ¨ INTEGER -> CARD16 ¬®£ãâ ¡ëâì ॠ«¨§®¢ ­ë
121
⠪:
123
⠪:
122
 
124
 
123
	PROCEDURE Card16ToInt(w: SYSTEM.CARD16): INTEGER;
125
	PROCEDURE Card16ToInt(w: SYSTEM.CARD16): INTEGER;
124
	VAR i: INTEGER;
126
	VAR i: INTEGER;
125
	BEGIN
127
	BEGIN
126
	  SYSTEM.PUT(SYSTEM.ADR(i), w)
128
	  SYSTEM.PUT(SYSTEM.ADR(i), w)
127
	  RETURN i
129
	  RETURN i
128
	END Card16ToInt;
130
	END Card16ToInt;
129
 
131
 
130
	PROCEDURE IntToCard16(i: INTEGER): SYSTEM.CARD16;
132
	PROCEDURE IntToCard16(i: INTEGER): SYSTEM.CARD16;
131
	VAR w: SYSTEM.CARD16;
133
	VAR w: SYSTEM.CARD16;
132
	BEGIN
134
	BEGIN
133
	  SYSTEM.GET(SYSTEM.ADR(i), w)
135
	  SYSTEM.GET(SYSTEM.ADR(i), w)
134
	  RETURN w
136
	  RETURN w
135
	END IntToCard16;
137
	END IntToCard16;
136
 
138
 
137
  ”㭪樨 ¯á¥¢¤®¬®¤ã«ï SYSTEM ­¥«ì§ï ¨á¯®«ì§®¢ âì ¢ ª®­áâ ­â­ëå ¢ëà ¦¥­¨ïå.
139
  ”㭪樨 ¯á¥¢¤®¬®¤ã«ï SYSTEM ­¥«ì§ï ¨á¯®«ì§®¢ âì ¢ ª®­áâ ­â­ëå ¢ëà ¦¥­¨ïå.
138
 
140
 
139
------------------------------------------------------------------------------
141
------------------------------------------------------------------------------
140
	‘¨á⥬­ë¥ ä« £¨
142
	‘¨á⥬­ë¥ ä« £¨
141
 
143
 
142
  à¨ ®¡ê¥­¨¨ ¯à®æ¥¤ãà­ëå ⨯®¢ ¨ £«®¡ «ì­ëå ¯à®æ¥¤ãà, ¯®á«¥ ª«î祢®£®
144
  à¨ ®¡ê¥­¨¨ ¯à®æ¥¤ãà­ëå ⨯®¢ ¨ £«®¡ «ì­ëå ¯à®æ¥¤ãà, ¯®á«¥ ª«î祢®£®
143
á«®¢  PROCEDURE ¬®¦¥â ¡ëâì 㪠§ ­ ä« £ ᮣ« è¥­¨ï ¢ë§®¢ : [stdcall], [cdecl]
145
á«®¢  PROCEDURE ¬®¦¥â ¡ëâì 㪠§ ­ ä« £ ᮣ« è¥­¨ï ¢ë§®¢ : [stdcall], [cdecl]
144
¨«¨ [winapi].  ¯à¨¬¥à:
146
¨«¨ [winapi].  ¯à¨¬¥à:
145
 
147
 
146
	PROCEDURE [cdecl] MyProc(x, y, z: INTEGER): INTEGER;
148
	PROCEDURE [cdecl] MyProc(x, y, z: INTEGER): INTEGER;
147
 
149
 
148
  …᫨ 㪠§ ­ ä« £ [winapi], â® ¯à¨­¨¬ ¥âáï ᮣ« è¥­¨¥ stdcall ¨
150
  …᫨ 㪠§ ­ ä« £ [winapi], â® ¯à¨­¨¬ ¥âáï ᮣ« è¥­¨¥ stdcall ¨
149
¯à®æ¥¤ãàã-äã­ªæ¨î ¬®¦­® ¢ë§¢ âì ª ª ᮡá⢥­­® ¯à®æ¥¤ãàã, ¢­¥ ¢ëà ¦¥­¨ï.
151
¯à®æ¥¤ãàã-äã­ªæ¨î ¬®¦­® ¢ë§¢ âì ª ª ᮡá⢥­­® ¯à®æ¥¤ãàã, ¢­¥ ¢ëà ¦¥­¨ï.
150
”« £ [winapi] ¤®áâ㯥­ ⮫쪮 ¤«ï ¯« âä®à¬ë Windows.
152
”« £ [winapi] ¤®áâ㯥­ ⮫쪮 ¤«ï ¯« âä®à¬ë Windows.
151
  à¨ ®¡ê¥­¨¨ ⨯®¢-§ ¯¨á¥©, ¯®á«¥ ª«î祢®£® á«®¢  RECORD ¬®¦¥â ¡ëâì
153
  à¨ ®¡ê¥­¨¨ ⨯®¢-§ ¯¨á¥©, ¯®á«¥ ª«î祢®£® á«®¢  RECORD ¬®¦¥â ¡ëâì
152
㪠§ ­ ä« £ [noalign] ¨«¨ [union]. ”« £ [noalign] ®§­ ç ¥â ®âáãâá⢨¥
154
㪠§ ­ ä« £ [noalign] ¨«¨ [union]. ”« £ [noalign] ®§­ ç ¥â ®âáãâá⢨¥
153
¢ëà ¢­¨¢ ­¨ï ¯®«¥© § ¯¨á¨,   ä« £ [union] ®§­ ç ¥â, ç⮠ᬥ饭¨ï ¢á¥å ¯®«¥©
155
¢ëà ¢­¨¢ ­¨ï ¯®«¥© § ¯¨á¨,   ä« £ [union] ®§­ ç ¥â, ç⮠ᬥ饭¨ï ¢á¥å ¯®«¥©
154
§ ¯¨á¨ à ¢­ë ­ã«î, ¯à¨ í⮬ à §¬¥à § ¯¨á¨ à ¢¥­ à §¬¥àã ­ ¨¡®«ì襣® ¯®«ï.
156
§ ¯¨á¨ à ¢­ë ­ã«î, ¯à¨ í⮬ à §¬¥à § ¯¨á¨ à ¢¥­ à §¬¥àã ­ ¨¡®«ì襣® ¯®«ï.
155
‡ ¯¨á¨ RECORD [union] ... END ᮮ⢥âáâ¢ãîâ ®¡ê¥¤¨­¥­¨ï¬ (union) ¢ ï§ëª¥ C.
157
‡ ¯¨á¨ RECORD [union] ... END ᮮ⢥âáâ¢ãîâ ®¡ê¥¤¨­¥­¨ï¬ (union) ¢ ï§ëª¥ C.
156
‡ ¯¨á¨ á á¨á⥬­ë¬¨ ä« £ ¬¨ ­¥ ¬®£ãâ ¨¬¥âì ¡ §®¢®£® ⨯  ¨ ­¥ ¬®£ãâ ¡ëâì
158
‡ ¯¨á¨ á á¨á⥬­ë¬¨ ä« £ ¬¨ ­¥ ¬®£ãâ ¨¬¥âì ¡ §®¢®£® ⨯  ¨ ­¥ ¬®£ãâ ¡ëâì
157
¡ §®¢ë¬¨ ⨯ ¬¨ ¤«ï ¤àã£¨å § ¯¨á¥©.
159
¡ §®¢ë¬¨ ⨯ ¬¨ ¤«ï ¤àã£¨å § ¯¨á¥©.
158
  „«ï ¨á¯®«ì§®¢ ­¨ï á¨á⥬­ëå ä« £®¢, âॡã¥âáï ¨¬¯®àâ¨à®¢ âì SYSTEM.
160
  „«ï ¨á¯®«ì§®¢ ­¨ï á¨á⥬­ëå ä« £®¢, âॡã¥âáï ¨¬¯®àâ¨à®¢ âì SYSTEM.
159
 
161
 
160
------------------------------------------------------------------------------
162
------------------------------------------------------------------------------
161
	Ž¯¥à â®à CASE
163
	Ž¯¥à â®à CASE
162
 
164
 
163
  ‘¨­â ªá¨á ®¯¥à â®à  CASE:
165
  ‘¨­â ªá¨á ®¯¥à â®à  CASE:
164
 
166
 
165
	CaseStatement =
167
	CaseStatement =
166
		CASE Expression OF ‘ase {"|" ‘ase}
168
		CASE Expression OF ‘ase {"|" ‘ase}
167
			[ELSE StatementSequence] END.
169
			[ELSE StatementSequence] END.
168
	Case = [CaseLabelList ":" StatementSequence].
170
	Case = [CaseLabelList ":" StatementSequence].
169
	CaseLabelList = CaseLabels {"," CaseLabels}.
171
	CaseLabelList = CaseLabels {"," CaseLabels}.
170
	CaseLabels = ConstExpression [".." ConstExpression].
172
	CaseLabels = ConstExpression [".." ConstExpression].
171
 
173
 
172
   ¯à¨¬¥à:
174
   ¯à¨¬¥à:
173
 
175
 
174
	CASE x OF
176
	CASE x OF
175
	|-1:	DoSomething1
177
	|-1:	DoSomething1
176
	| 1:	DoSomething2
178
	| 1:	DoSomething2
177
	| 0:	DoSomething3
179
	| 0:	DoSomething3
178
	ELSE
180
	ELSE
179
		DoSomething4
181
		DoSomething4
180
	END
182
	END
181
 
183
 
182
  ‚ ¬¥âª å ¢ à¨ ­â®¢ ¬®¦­® ¨á¯®«ì§®¢ âì ª®­áâ ­â­ë¥ ¢ëà ¦¥­¨ï, ¢¥âª  ELSE
184
  ‚ ¬¥âª å ¢ à¨ ­â®¢ ¬®¦­® ¨á¯®«ì§®¢ âì ª®­áâ ­â­ë¥ ¢ëà ¦¥­¨ï, ¢¥âª  ELSE
183
­¥®¡ï§ â¥«ì­ . …᫨ ­¥ ¢ë¯®«­¥­ ­¨ ®¤¨­ ¢ à¨ ­â ¨ ELSE ®âáãâáâ¢ã¥â, â®
185
­¥®¡ï§ â¥«ì­ . …᫨ ­¥ ¢ë¯®«­¥­ ­¨ ®¤¨­ ¢ à¨ ­â ¨ ELSE ®âáãâáâ¢ã¥â, â®
184
¯à®£à ¬¬  ¯à¥à뢠¥âáï á ®è¨¡ª®© ¢à¥¬¥­¨ ¢ë¯®«­¥­¨ï.
186
¯à®£à ¬¬  ¯à¥à뢠¥âáï á ®è¨¡ª®© ¢à¥¬¥­¨ ¢ë¯®«­¥­¨ï.
185
 
187
 
186
------------------------------------------------------------------------------
188
------------------------------------------------------------------------------
187
	à®¢¥àª  ¨ ®åà ­  ⨯  ­ã«¥¢®£® 㪠§ â¥«ï
189
	à®¢¥àª  ¨ ®åà ­  ⨯  ­ã«¥¢®£® 㪠§ â¥«ï
188
 
190
 
189
  Žà¨£¨­ «ì­®¥ á®®¡é¥­¨¥ ® ï§ëª¥ ­¥ ®¯à¥¤¥«ï¥â ¯®¢¥¤¥­¨¥ ¯à®£à ¬¬ë ¯à¨
191
  Žà¨£¨­ «ì­®¥ á®®¡é¥­¨¥ ® ï§ëª¥ ­¥ ®¯à¥¤¥«ï¥â ¯®¢¥¤¥­¨¥ ¯à®£à ¬¬ë ¯à¨
190
¢ë¯®«­¥­¨¨ ®åà ­ë p(T) ¨ ¯à®¢¥àª¨ ⨯  p IS T ¯à¨ p = NIL. ‚® ¬­®£¨å
192
¢ë¯®«­¥­¨¨ ®åà ­ë p(T) ¨ ¯à®¢¥àª¨ ⨯  p IS T ¯à¨ p = NIL. ‚® ¬­®£¨å
191
Oberon-ॠ«¨§ æ¨ïå ¢ë¯®«­¥­¨¥ â ª®© ®¯¥à æ¨¨ ¯à¨¢®¤¨â ª ®è¨¡ª¥ ¢à¥¬¥­¨
193
Oberon-ॠ«¨§ æ¨ïå ¢ë¯®«­¥­¨¥ â ª®© ®¯¥à æ¨¨ ¯à¨¢®¤¨â ª ®è¨¡ª¥ ¢à¥¬¥­¨
192
¢ë¯®«­¥­¨ï. ‚ ¤ ­­®© ॠ«¨§ æ¨¨ ®åà ­  ⨯  ­ã«¥¢®£® 㪠§ â¥«ï ­¥ ¯à¨¢®¤¨â ª
194
¢ë¯®«­¥­¨ï. ‚ ¤ ­­®© ॠ«¨§ æ¨¨ ®åà ­  ⨯  ­ã«¥¢®£® 㪠§ â¥«ï ­¥ ¯à¨¢®¤¨â ª
193
®è¨¡ª¥,   ¯à®¢¥àª  ⨯  ¤ ¥â १ã«ìâ â FALSE. ‚ à拉 á«ãç ¥¢ íâ® ¯®§¢®«ï¥â
195
®è¨¡ª¥,   ¯à®¢¥àª  ⨯  ¤ ¥â १ã«ìâ â FALSE. ‚ à拉 á«ãç ¥¢ íâ® ¯®§¢®«ï¥â
194
§­ ç¨â¥«ì­® ᮪à â¨âì ç áâ®â㠯ਬ¥­¥­¨ï ®åà ­ë ⨯ .
196
§­ ç¨â¥«ì­® ᮪à â¨âì ç áâ®â㠯ਬ¥­¥­¨ï ®åà ­ë ⨯ .
195
 
197
 
196
------------------------------------------------------------------------------
198
------------------------------------------------------------------------------
197
	„®¯®«­¨â¥«ì­ë¥ áâ ­¤ àâ­ë¥ ¯à®æ¥¤ãàë
199
	„®¯®«­¨â¥«ì­ë¥ áâ ­¤ àâ­ë¥ ¯à®æ¥¤ãàë
198
 
200
 
199
	DISPOSE(VAR v: «î¡®©_㪠§ â¥«ì)
201
	DISPOSE(VAR v: «î¡®©_㪠§ â¥«ì)
200
		Žá¢®¡®¦¤ ¥â ¯ ¬ïâì, ¢ë¤¥«¥­­ãî ¯à®æ¥¤ãன NEW ¤«ï
202
		Žá¢®¡®¦¤ ¥â ¯ ¬ïâì, ¢ë¤¥«¥­­ãî ¯à®æ¥¤ãன NEW ¤«ï
201
		¤¨­ ¬¨ç¥áª®© ¯¥à¥¬¥­­®© v^, ¨ ¯à¨á¢ ¨¢ ¥â ¯¥à¥¬¥­­®© v
203
		¤¨­ ¬¨ç¥áª®© ¯¥à¥¬¥­­®© v^, ¨ ¯à¨á¢ ¨¢ ¥â ¯¥à¥¬¥­­®© v
202
		§­ ç¥­¨¥ NIL.
204
		§­ ç¥­¨¥ NIL.
203
 
205
 
204
	LSR(x, n: INTEGER): INTEGER
206
	LSR(x, n: INTEGER): INTEGER
205
		‹®£¨ç¥áª¨© ᤢ¨£ x ­  n ¡¨â ¢¯à ¢®.
207
		‹®£¨ç¥áª¨© ᤢ¨£ x ­  n ¡¨â ¢¯à ¢®.
206
 
208
 
207
	MIN(a, b: INTEGER): INTEGER
209
	MIN(a, b: INTEGER): INTEGER
208
		Œ¨­¨¬ã¬ ¨§ ¤¢ãå §­ ç¥­¨©.
210
		Œ¨­¨¬ã¬ ¨§ ¤¢ãå §­ ç¥­¨©.
209
 
211
 
210
	MAX(a, b: INTEGER): INTEGER
212
	MAX(a, b: INTEGER): INTEGER
211
		Œ ªá¨¬ã¬ ¨§ ¤¢ãå §­ ç¥­¨©.
213
		Œ ªá¨¬ã¬ ¨§ ¤¢ãå §­ ç¥­¨©.
212
 
214
 
213
	BITS(x: INTEGER): SET
215
	BITS(x: INTEGER): SET
214
		ˆ­â¥à¯à¥â¨àã¥â x ª ª §­ ç¥­¨¥ ⨯  SET.
216
		ˆ­â¥à¯à¥â¨àã¥â x ª ª §­ ç¥­¨¥ ⨯  SET.
215
		‚믮«­ï¥âáï ­  íâ ¯¥ ª®¬¯¨«ï樨.
217
		‚믮«­ï¥âáï ­  íâ ¯¥ ª®¬¯¨«ï樨.
216
 
218
 
217
	LENGTH(s: ARRAY OF CHAR): INTEGER
219
	LENGTH(s: ARRAY OF CHAR): INTEGER
218
		„«¨­  0X-§ ¢¥à襭­®© áâப¨ s, ¡¥§ ãç¥â  ᨬ¢®«  0X.
220
		„«¨­  0X-§ ¢¥à襭­®© áâப¨ s, ¡¥§ ãç¥â  ᨬ¢®«  0X.
219
		…᫨ ᨬ¢®« 0X ®âáãâáâ¢ã¥â, äã­ªæ¨ï ¢®§¢à é ¥â ¤«¨­ã
221
		…᫨ ᨬ¢®« 0X ®âáãâáâ¢ã¥â, äã­ªæ¨ï ¢®§¢à é ¥â ¤«¨­ã
220
		¬ áᨢ  s.
222
		¬ áᨢ  s.
221
 
223
 
222
------------------------------------------------------------------------------
224
------------------------------------------------------------------------------
223
	DIV ¨ MOD
225
	DIV ¨ MOD
224
 
226
 
225
	 x	   y	  x DIV y   x MOD y
227
	 x	   y	  x DIV y   x MOD y
226
 
228
 
227
	 5	   3	     1	       2
229
	 5	   3	     1	       2
228
	-5	   3	    -2	       1
230
	-5	   3	    -2	       1
229
	 5	  -3	    -2	      -1
231
	 5	  -3	    -2	      -1
230
	-5	  -3	     1	      -2
232
	-5	  -3	     1	      -2
231
 
233
 
232
------------------------------------------------------------------------------
234
------------------------------------------------------------------------------
233
	‘ªàëâë¥ ¯ à ¬¥âàë ¯à®æ¥¤ãà
235
	‘ªàëâë¥ ¯ à ¬¥âàë ¯à®æ¥¤ãà
234
 
236
 
235
  ¥ª®â®àë¥ ¯à®æ¥¤ãàë ¬®£ãâ ¨¬¥âì áªàëâë¥ ¯ à ¬¥âàë, ®­¨ ®âáãâáâ¢ãîâ ¢ ᯨ᪥
237
  ¥ª®â®àë¥ ¯à®æ¥¤ãàë ¬®£ãâ ¨¬¥âì áªàëâë¥ ¯ à ¬¥âàë, ®­¨ ®âáãâáâ¢ãîâ ¢ ᯨ᪥
236
ä®à¬ «ì­ëå ¯ à ¬¥â஢, ­® ãç¨â뢠îâáï ª®¬¯¨«ïâ®à®¬ ¯à¨ âà ­á«ï樨 ¢ë§®¢®¢.
238
ä®à¬ «ì­ëå ¯ à ¬¥â஢, ­® ãç¨â뢠îâáï ª®¬¯¨«ïâ®à®¬ ¯à¨ âà ­á«ï樨 ¢ë§®¢®¢.
237
â® ¢®§¬®¦­® ¢ á«¥¤ãîé¨å á«ãç ïå:
239
â® ¢®§¬®¦­® ¢ á«¥¤ãîé¨å á«ãç ïå:
238
 
240
 
239
1.	à®æ¥¤ãà  ¨¬¥¥â ä®à¬ «ì­ë© ¯ à ¬¥âà ®âªàëâë© ¬ áᨢ:
241
1.	à®æ¥¤ãà  ¨¬¥¥â ä®à¬ «ì­ë© ¯ à ¬¥âà ®âªàëâë© ¬ áᨢ:
240
		PROCEDURE Proc(x: ARRAY OF ARRAY OF LONGREAL);
242
		PROCEDURE Proc(x: ARRAY OF ARRAY OF LONGREAL);
241
	‚맮¢ â࠭᫨àã¥âáï â ª:
243
	‚맮¢ â࠭᫨àã¥âáï â ª:
242
		Proc(SYSTEM.ADR(x), LEN(x), LEN(x[0])
244
		Proc(SYSTEM.ADR(x), LEN(x), LEN(x[0])
243
2.	à®æ¥¤ãà  ¨¬¥¥â ä®à¬ «ì­ë© ¯ à ¬¥âà-¯¥à¥¬¥­­ãî ⨯  RECORD:
245
2.	à®æ¥¤ãà  ¨¬¥¥â ä®à¬ «ì­ë© ¯ à ¬¥âà-¯¥à¥¬¥­­ãî ⨯  RECORD:
244
		PROCEDURE Proc(VAR x: Rec);
246
		PROCEDURE Proc(VAR x: Rec);
245
	‚맮¢ â࠭᫨àã¥âáï â ª:
247
	‚맮¢ â࠭᫨àã¥âáï â ª:
246
		Proc(SYSTEM.TYPEID(Rec), SYSTEM.ADR(x))
248
		Proc(SYSTEM.TYPEID(Rec), SYSTEM.ADR(x))
247
3.	à®æ¥¤ãà  ï¢«ï¥âáï ¢«®¦¥­­®©, £«ã¡¨­  ¢«®¦¥­¨ï k,
249
3.	à®æ¥¤ãà  ï¢«ï¥âáï ¢«®¦¥­­®©, £«ã¡¨­  ¢«®¦¥­¨ï k,
248
	¤«ï £«®¡ «ì­ëå ¯à®æ¥¤ãà k = 0:
250
	¤«ï £«®¡ «ì­ëå ¯à®æ¥¤ãà k = 0:
249
		PROCEDURE Proc(p1, ..., pn);
251
		PROCEDURE Proc(p1, ..., pn);
250
	‚맮¢ â࠭᫨àã¥âáï â ª:
252
	‚맮¢ â࠭᫨àã¥âáï â ª:
251
		Proc(base(k - 1), base(k - 2), ..., base(0), p1, ..., pn),
253
		Proc(base(k - 1), base(k - 2), ..., base(0), p1, ..., pn),
252
	£¤¥ base(m) -  ¤à¥á ¡ §ë ª ¤à  áâíª  ®å¢ â뢠î饩 ¯à®æ¥¤ãàë £«ã¡¨­ë
254
	£¤¥ base(m) -  ¤à¥á ¡ §ë ª ¤à  áâíª  ®å¢ â뢠î饩 ¯à®æ¥¤ãàë £«ã¡¨­ë
253
	¢«®¦¥­¨ï m (¨á¯®«ì§ã¥âáï ¤«ï ¤®áâ㯠 ª «®ª «ì­ë¬ ¯¥à¥¬¥­­ë¬
255
	¢«®¦¥­¨ï m (¨á¯®«ì§ã¥âáï ¤«ï ¤®áâ㯠 ª «®ª «ì­ë¬ ¯¥à¥¬¥­­ë¬
254
	®å¢ â뢠î饩 ¯à®æ¥¤ãàë)
256
	®å¢ â뢠î饩 ¯à®æ¥¤ãàë)
255
 
257
 
256
------------------------------------------------------------------------------
258
------------------------------------------------------------------------------
257
	Œ®¤ã«ì RTL
259
	Œ®¤ã«ì RTL
258
 
260
 
259
  ‚ᥠ¯à®£à ¬¬ë ­¥ï¢­® ¨á¯®«ì§ãîâ ¬®¤ã«ì RTL. Š®¬¯¨«ïâ®à â࠭᫨àã¥â
261
  ‚ᥠ¯à®£à ¬¬ë ­¥ï¢­® ¨á¯®«ì§ãîâ ¬®¤ã«ì RTL. Š®¬¯¨«ïâ®à â࠭᫨àã¥â
260
­¥ª®â®àë¥ ®¯¥à æ¨¨ (¯à®¢¥àª  ¨ ®åà ­  ⨯ , áà ¢­¥­¨¥ áâப, á®®¡é¥­¨ï ®¡
262
­¥ª®â®àë¥ ®¯¥à æ¨¨ (¯à®¢¥àª  ¨ ®åà ­  ⨯ , áà ¢­¥­¨¥ áâப, á®®¡é¥­¨ï ®¡
261
®è¨¡ª å ¢à¥¬¥­¨ ¢ë¯®«­¥­¨ï ¨ ¤à.) ª ª ¢ë§®¢ë ¯à®æ¥¤ãà í⮣® ¬®¤ã«ï. ¥
263
®è¨¡ª å ¢à¥¬¥­¨ ¢ë¯®«­¥­¨ï ¨ ¤à.) ª ª ¢ë§®¢ë ¯à®æ¥¤ãà í⮣® ¬®¤ã«ï. ¥
262
á«¥¤ã¥â ® ¢ë§ë¢ âì í⨠¯à®æ¥¤ãàë, §  ¨áª«î祭¨¥¬ ¯à®æ¥¤ãàë SetClose:
264
á«¥¤ã¥â ® ¢ë§ë¢ âì í⨠¯à®æ¥¤ãàë, §  ¨áª«î祭¨¥¬ ¯à®æ¥¤ãàë SetClose:
263
 
265
 
264
	PROCEDURE SetClose(proc: PROC), £¤¥ TYPE PROC = PROCEDURE
266
	PROCEDURE SetClose(proc: PROC), £¤¥ TYPE PROC = PROCEDURE
265
 
267
 
266
SetClose ­ §­ ç ¥â ¯à®æ¥¤ãàã proc (¡¥§ ¯ à ¬¥â஢) ¢ë§ë¢ ¥¬®© ¯à¨ ¢ë£à㧪¥
268
SetClose ­ §­ ç ¥â ¯à®æ¥¤ãàã proc (¡¥§ ¯ à ¬¥â஢) ¢ë§ë¢ ¥¬®© ¯à¨ ¢ë£à㧪¥
267
dll-¡¨¡«¨®â¥ª¨ (Windows), ¥á«¨ ¯à¨«®¦¥­¨¥ ª®¬¯¨«¨àã¥âáï ª ª Windows DLL. „«ï
269
dll-¡¨¡«¨®â¥ª¨ (Windows), ¥á«¨ ¯à¨«®¦¥­¨¥ ª®¬¯¨«¨àã¥âáï ª ª Windows DLL. „«ï
268
¯à®ç¨å ⨯®¢ ¯à¨«®¦¥­¨© ¨ ¯« âä®à¬ ¢ë§®¢ ¯à®æ¥¤ãàë SetClose ­¥ ¢«¨ï¥â ­ 
270
¯à®ç¨å ⨯®¢ ¯à¨«®¦¥­¨© ¨ ¯« âä®à¬ ¢ë§®¢ ¯à®æ¥¤ãàë SetClose ­¥ ¢«¨ï¥â ­ 
269
¯®¢¥¤¥­¨¥ ¯à®£à ¬¬ë.
271
¯®¢¥¤¥­¨¥ ¯à®£à ¬¬ë.
270
  ‘®®¡é¥­¨ï ®¡ ®è¨¡ª å ¢à¥¬¥­¨ ¢ë¯®«­¥­¨ï ¢ë¢®¤ïâáï ¢ ¤¨ «®£®¢ëå ®ª­ å
272
  ‘®®¡é¥­¨ï ®¡ ®è¨¡ª å ¢à¥¬¥­¨ ¢ë¯®«­¥­¨ï ¢ë¢®¤ïâáï ¢ ¤¨ «®£®¢ëå ®ª­ å
271
(Windows), ¢ â¥à¬¨­ « (Linux), ­  ¤®áªã ®â« ¤ª¨ (KolibriOS).
273
(Windows), ¢ â¥à¬¨­ « (Linux), ­  ¤®áªã ®â« ¤ª¨ (KolibriOS).
272
 
274
 
273
------------------------------------------------------------------------------
275
------------------------------------------------------------------------------
274
	Œ®¤ã«ì API
276
	Œ®¤ã«ì API
275
 
277
 
276
  ‘ãé¥áâ¢ãîâ âਠॠ«¨§ æ¨¨ ¬®¤ã«ï API: ¤«ï Windows, Linux ¨ KolibriOS. Š ª ¨
278
  ‘ãé¥áâ¢ãîâ âਠॠ«¨§ æ¨¨ ¬®¤ã«ï API: ¤«ï Windows, Linux ¨ KolibriOS. Š ª ¨
277
¬®¤ã«ì RTL, ¬®¤ã«ì API ­¥ ¯à¥¤­ §­ ç¥­ ¤«ï ¯àאַ£® ¨á¯®«ì§®¢ ­¨ï. Ž­
279
¬®¤ã«ì RTL, ¬®¤ã«ì API ­¥ ¯à¥¤­ §­ ç¥­ ¤«ï ¯àאַ£® ¨á¯®«ì§®¢ ­¨ï. Ž­
278
®¡¥á¯¥ç¨¢ ¥â ªà®áᯫ âä®à¬¥­­®áâì ª®¬¯¨«ïâ®à .
280
®¡¥á¯¥ç¨¢ ¥â ªà®áᯫ âä®à¬¥­­®áâì ª®¬¯¨«ïâ®à .
279
 
281
 
280
------------------------------------------------------------------------------
282
------------------------------------------------------------------------------
281
	ƒ¥­¥à æ¨ï ¨á¯®«­ï¥¬ëå ä ©«®¢ DLL
283
	ƒ¥­¥à æ¨ï ¨á¯®«­ï¥¬ëå ä ©«®¢ DLL
282
 
284
 
283
   §à¥è ¥âáï íªá¯®àâ¨à®¢ âì ⮫쪮 ¯à®æ¥¤ãàë. „«ï í⮣®, ¯à®æ¥¤ãà  ¤®«¦­ 
285
   §à¥è ¥âáï íªá¯®àâ¨à®¢ âì ⮫쪮 ¯à®æ¥¤ãàë. „«ï í⮣®, ¯à®æ¥¤ãà  ¤®«¦­ 
284
­ å®¤¨âìáï ¢ £« ¢­®¬ ¬®¤ã«¥ ¯à®£à ¬¬ë, ¨ ¥¥ ¨¬ï ¤®«¦­® ¡ëâì ®â¬¥ç¥­® ᨬ¢®«®¬
286
­ å®¤¨âìáï ¢ £« ¢­®¬ ¬®¤ã«¥ ¯à®£à ¬¬ë, ¨ ¥¥ ¨¬ï ¤®«¦­® ¡ëâì ®â¬¥ç¥­® ᨬ¢®«®¬
285
íªá¯®àâ  ("*"). KolibriOS DLL ¢á¥£¤  íªá¯®àâ¨àãîâ ¨¤¥­â¨ä¨ª â®àë "version"
287
íªá¯®àâ  ("*"). KolibriOS DLL ¢á¥£¤  íªá¯®àâ¨àãîâ ¨¤¥­â¨ä¨ª â®àë "version"
286
(¢¥àá¨ï ¯à®£à ¬¬ë) ¨ "lib_init" -  ¤à¥á ¯à®æ¥¤ãàë ¨­¨æ¨ «¨§ æ¨¨ DLL:
288
(¢¥àá¨ï ¯à®£à ¬¬ë) ¨ "lib_init" -  ¤à¥á ¯à®æ¥¤ãàë ¨­¨æ¨ «¨§ æ¨¨ DLL:
287
 
289
 
288
	PROCEDURE [stdcall] lib_init(): INTEGER
290
	PROCEDURE [stdcall] lib_init(): INTEGER
289
 
291
 
290
â  ¯à®æ¥¤ãà  ¤®«¦­  ¡ëâì ¢ë§¢ ­  ¯¥à¥¤ ¨á¯®«ì§®¢ ­¨¥¬ DLL.
292
â  ¯à®æ¥¤ãà  ¤®«¦­  ¡ëâì ¢ë§¢ ­  ¯¥à¥¤ ¨á¯®«ì§®¢ ­¨¥¬ DLL.
291
à®æ¥¤ãà  ¢á¥£¤  ¢®§¢à é ¥â 1.
293
à®æ¥¤ãà  ¢á¥£¤  ¢®§¢à é ¥â 1.
292
  ‚ ­ áâ®ï饥 ¢à¥¬ï £¥­¥à æ¨ï DLL ¤«ï Linux ­¥ ॠ«¨§®¢ ­ .
294
  ‚ ­ áâ®ï饥 ¢à¥¬ï £¥­¥à æ¨ï DLL ¤«ï Linux ­¥ ॠ«¨§®¢ ­ .
293
 
295
 
294
==============================================================================
296
==============================================================================
295
==============================================================================
297
==============================================================================
296
 
298
 
297
	¨¡«¨®â¥ª  (KolibriOS)
299
	¨¡«¨®â¥ª  (KolibriOS)
298
 
300
 
299
------------------------------------------------------------------------------
301
------------------------------------------------------------------------------
300
MODULE Out - ª®­á®«ì­ë© ¢ë¢®¤
302
MODULE Out - ª®­á®«ì­ë© ¢ë¢®¤
301
 
303
 
302
	PROCEDURE Open
304
	PROCEDURE Open
303
		ä®à¬ «ì­® ®âªà뢠¥â ª®­á®«ì­ë© ¢ë¢®¤
305
		ä®à¬ «ì­® ®âªà뢠¥â ª®­á®«ì­ë© ¢ë¢®¤
304
 
306
 
305
	PROCEDURE Int(x, width: INTEGER)
307
	PROCEDURE Int(x, width: INTEGER)
306
		¢ë¢®¤ 楫®£® ç¨á«  x;
308
		¢ë¢®¤ 楫®£® ç¨á«  x;
307
		width - ª®«¨ç¥á⢮ §­ ª®¬¥áâ, ¨á¯®«ì§ã¥¬ëå ¤«ï ¢ë¢®¤ 
309
		width - ª®«¨ç¥á⢮ §­ ª®¬¥áâ, ¨á¯®«ì§ã¥¬ëå ¤«ï ¢ë¢®¤ 
308
 
310
 
309
	PROCEDURE Real(x: LONGREAL; width: INTEGER)
311
	PROCEDURE Real(x: LONGREAL; width: INTEGER)
310
		¢ë¢®¤ ¢¥é¥á⢥­­®£® ç¨á«  x ¢ ¯« ¢ î饬 ä®à¬ â¥;
312
		¢ë¢®¤ ¢¥é¥á⢥­­®£® ç¨á«  x ¢ ¯« ¢ î饬 ä®à¬ â¥;
311
		width - ª®«¨ç¥á⢮ §­ ª®¬¥áâ, ¨á¯®«ì§ã¥¬ëå ¤«ï ¢ë¢®¤ 
313
		width - ª®«¨ç¥á⢮ §­ ª®¬¥áâ, ¨á¯®«ì§ã¥¬ëå ¤«ï ¢ë¢®¤ 
312
 
314
 
313
	PROCEDURE Char(x: CHAR)
315
	PROCEDURE Char(x: CHAR)
314
		¢ë¢®¤ ᨬ¢®«  x
316
		¢ë¢®¤ ᨬ¢®«  x
315
 
317
 
316
	PROCEDURE FixReal(x: LONGREAL; width, p: INTEGER)
318
	PROCEDURE FixReal(x: LONGREAL; width, p: INTEGER)
317
		¢ë¢®¤ ¢¥é¥á⢥­­®£® ç¨á«  x ¢ 䨪á¨à®¢ ­­®¬ ä®à¬ â¥;
319
		¢ë¢®¤ ¢¥é¥á⢥­­®£® ç¨á«  x ¢ 䨪á¨à®¢ ­­®¬ ä®à¬ â¥;
318
		width - ª®«¨ç¥á⢮ §­ ª®¬¥áâ, ¨á¯®«ì§ã¥¬ëå ¤«ï ¢ë¢®¤ ;
320
		width - ª®«¨ç¥á⢮ §­ ª®¬¥áâ, ¨á¯®«ì§ã¥¬ëå ¤«ï ¢ë¢®¤ ;
319
		p - ª®«¨ç¥á⢮ §­ ª®¢ ¯®á«¥ ¤¥áïâ¨ç­®© â®çª¨
321
		p - ª®«¨ç¥á⢮ §­ ª®¢ ¯®á«¥ ¤¥áïâ¨ç­®© â®çª¨
320
 
322
 
321
	PROCEDURE Ln
323
	PROCEDURE Ln
322
		¯¥à¥å®¤ ­  á«¥¤ãîéãî áâபã
324
		¯¥à¥å®¤ ­  á«¥¤ãîéãî áâபã
323
 
325
 
324
	PROCEDURE String(s: ARRAY OF CHAR)
326
	PROCEDURE String(s: ARRAY OF CHAR)
325
		¢ë¢®¤ áâப¨ s
327
		¢ë¢®¤ áâப¨ s
326
 
328
 
327
------------------------------------------------------------------------------
329
------------------------------------------------------------------------------
328
MODULE In - ª®­á®«ì­ë© ¢¢®¤
330
MODULE In - ª®­á®«ì­ë© ¢¢®¤
329
 
331
 
330
	VAR Done: BOOLEAN
332
	VAR Done: BOOLEAN
331
		¯à¨­¨¬ ¥â §­ ç¥­¨¥ TRUE ¢ á«ãç ¥ ãᯥ譮£® ¢ë¯®«­¥­¨ï
333
		¯à¨­¨¬ ¥â §­ ç¥­¨¥ TRUE ¢ á«ãç ¥ ãᯥ譮£® ¢ë¯®«­¥­¨ï
332
		®¯¥à æ¨¨ ¢¢®¤ , ¨­ ç¥ FALSE
334
		®¯¥à æ¨¨ ¢¢®¤ , ¨­ ç¥ FALSE
333
 
335
 
334
	PROCEDURE Open
336
	PROCEDURE Open
335
		ä®à¬ «ì­® ®âªà뢠¥â ª®­á®«ì­ë© ¢¢®¤,
337
		ä®à¬ «ì­® ®âªà뢠¥â ª®­á®«ì­ë© ¢¢®¤,
336
		â ª¦¥ ¯à¨á¢ ¨¢ ¥â ¯¥à¥¬¥­­®© Done §­ ç¥­¨¥ TRUE
338
		â ª¦¥ ¯à¨á¢ ¨¢ ¥â ¯¥à¥¬¥­­®© Done §­ ç¥­¨¥ TRUE
337
 
339
 
338
	PROCEDURE Int(VAR x: INTEGER)
340
	PROCEDURE Int(VAR x: INTEGER)
339
		¢¢®¤ ç¨á«  ⨯  INTEGER
341
		¢¢®¤ ç¨á«  ⨯  INTEGER
340
 
342
 
341
	PROCEDURE Char(VAR x: CHAR)
343
	PROCEDURE Char(VAR x: CHAR)
342
		¢¢®¤ ᨬ¢®« 
344
		¢¢®¤ ᨬ¢®« 
343
 
345
 
344
	PROCEDURE Real(VAR x: REAL)
346
	PROCEDURE Real(VAR x: REAL)
345
		¢¢®¤ ç¨á«  ⨯  REAL
347
		¢¢®¤ ç¨á«  ⨯  REAL
346
 
348
 
347
	PROCEDURE LongReal(VAR x: LONGREAL)
349
	PROCEDURE LongReal(VAR x: LONGREAL)
348
		¢¢®¤ ç¨á«  ⨯  LONGREAL
350
		¢¢®¤ ç¨á«  ⨯  LONGREAL
349
 
351
 
350
	PROCEDURE String(VAR s: ARRAY OF CHAR)
352
	PROCEDURE String(VAR s: ARRAY OF CHAR)
351
		¢¢®¤ áâப¨
353
		¢¢®¤ áâப¨
352
 
354
 
353
	PROCEDURE Ln
355
	PROCEDURE Ln
354
		®¦¨¤ ­¨¥ ­ ¦ â¨ï ENTER
356
		®¦¨¤ ­¨¥ ­ ¦ â¨ï ENTER
355
 
357
 
356
------------------------------------------------------------------------------
358
------------------------------------------------------------------------------
357
MODULE Console - ¤®¯®«­¨â¥«ì­ë¥ ¯à®æ¥¤ãàë ª®­á®«ì­®£® ¢ë¢®¤ 
359
MODULE Console - ¤®¯®«­¨â¥«ì­ë¥ ¯à®æ¥¤ãàë ª®­á®«ì­®£® ¢ë¢®¤ 
358
 
360
 
359
	CONST
361
	CONST
360
 
362
 
361
	‘«¥¤ãî騥 ª®­áâ ­âë ®¯à¥¤¥«ïîâ 梥⠪®­á®«ì­®£® ¢ë¢®¤ 
363
	‘«¥¤ãî騥 ª®­áâ ­âë ®¯à¥¤¥«ïîâ 梥⠪®­á®«ì­®£® ¢ë¢®¤ 
362
 
364
 
363
		Black = 0      Blue = 1 	  Green = 2
365
		Black = 0      Blue = 1 	  Green = 2
364
		Cyan = 3       Red = 4		  Magenta = 5
366
		Cyan = 3       Red = 4		  Magenta = 5
365
		Brown = 6      LightGray = 7	  DarkGray = 8
367
		Brown = 6      LightGray = 7	  DarkGray = 8
366
		LightBlue = 9  LightGreen = 10	  LightCyan = 11
368
		LightBlue = 9  LightGreen = 10	  LightCyan = 11
367
		LightRed = 12  LightMagenta = 13  Yellow = 14
369
		LightRed = 12  LightMagenta = 13  Yellow = 14
368
		White = 15
370
		White = 15
369
 
371
 
370
	PROCEDURE Cls
372
	PROCEDURE Cls
371
		®ç¨á⪠ ®ª­  ª®­á®«¨
373
		®ç¨á⪠ ®ª­  ª®­á®«¨
372
 
374
 
373
	PROCEDURE SetColor(FColor, BColor: INTEGER)
375
	PROCEDURE SetColor(FColor, BColor: INTEGER)
374
		ãáâ ­®¢ª  æ¢¥â  ª®­á®«ì­®£® ¢ë¢®¤ : FColor - 梥â ⥪áâ ,
376
		ãáâ ­®¢ª  æ¢¥â  ª®­á®«ì­®£® ¢ë¢®¤ : FColor - 梥â ⥪áâ ,
375
		BColor - 梥â ä®­ , ¢®§¬®¦­ë¥ §­ ç¥­¨ï - ¢ë襯¥à¥ç¨á«¥­­ë¥
377
		BColor - 梥â ä®­ , ¢®§¬®¦­ë¥ §­ ç¥­¨ï - ¢ë襯¥à¥ç¨á«¥­­ë¥
376
		ª®­áâ ­âë
378
		ª®­áâ ­âë
377
 
379
 
378
	PROCEDURE SetCursor(x, y: INTEGER)
380
	PROCEDURE SetCursor(x, y: INTEGER)
379
		ãáâ ­®¢ª  ªãàá®à  ª®­á®«¨ ¢ ¯®§¨æ¨î (x, y)
381
		ãáâ ­®¢ª  ªãàá®à  ª®­á®«¨ ¢ ¯®§¨æ¨î (x, y)
380
 
382
 
381
	PROCEDURE GetCursor(VAR x, y: INTEGER)
383
	PROCEDURE GetCursor(VAR x, y: INTEGER)
382
		§ ¯¨á뢠¥â ¢ ¯ à ¬¥âàë ⥪ã騥 ª®®à¤¨­ âë ªãàá®à  ª®­á®«¨
384
		§ ¯¨á뢠¥â ¢ ¯ à ¬¥âàë ⥪ã騥 ª®®à¤¨­ âë ªãàá®à  ª®­á®«¨
383
 
385
 
384
	PROCEDURE GetCursorX(): INTEGER
386
	PROCEDURE GetCursorX(): INTEGER
385
		¢®§¢à é ¥â ⥪ãéãî x-ª®®à¤¨­ âã ªãàá®à  ª®­á®«¨
387
		¢®§¢à é ¥â ⥪ãéãî x-ª®®à¤¨­ âã ªãàá®à  ª®­á®«¨
386
 
388
 
387
	PROCEDURE GetCursorY(): INTEGER
389
	PROCEDURE GetCursorY(): INTEGER
388
		¢®§¢à é ¥â ⥪ãéãî y-ª®®à¤¨­ âã ªãàá®à  ª®­á®«¨
390
		¢®§¢à é ¥â ⥪ãéãî y-ª®®à¤¨­ âã ªãàá®à  ª®­á®«¨
389
 
391
 
390
------------------------------------------------------------------------------
392
------------------------------------------------------------------------------
391
MODULE ConsoleLib - ®¡¥à⪠ ¡¨¡«¨®â¥ª¨ console.obj
393
MODULE ConsoleLib - ®¡¥à⪠ ¡¨¡«¨®â¥ª¨ console.obj
392
 
394
 
393
------------------------------------------------------------------------------
395
------------------------------------------------------------------------------
394
MODULE Math - ¬ â¥¬ â¨ç¥áª¨¥ ä㭪樨
396
MODULE Math - ¬ â¥¬ â¨ç¥áª¨¥ ä㭪樨
395
 
397
 
396
	CONST
398
	CONST
397
 
399
 
398
		pi = 3.141592653589793D+00
400
		pi = 3.141592653589793D+00
399
		e  = 2.718281828459045D+00
401
		e  = 2.718281828459045D+00
400
 
402
 
401
	VAR
403
	VAR
402
 
404
 
403
		Inf, nInf: LONGREAL
405
		Inf, nInf: LONGREAL
404
			¯®«®¦¨â¥«ì­ ï ¨ ®âà¨æ â¥«ì­ ï ¡¥áª®­¥ç­®áâì
406
			¯®«®¦¨â¥«ì­ ï ¨ ®âà¨æ â¥«ì­ ï ¡¥áª®­¥ç­®áâì
405
 
407
 
406
	PROCEDURE IsNan(x: LONGREAL): BOOLEAN
408
	PROCEDURE IsNan(x: LONGREAL): BOOLEAN
407
		¢®§¢à é ¥â TRUE, ¥á«¨ x - ­¥ ç¨á«®
409
		¢®§¢à é ¥â TRUE, ¥á«¨ x - ­¥ ç¨á«®
408
 
410
 
409
	PROCEDURE IsInf(x: LONGREAL): BOOLEAN
411
	PROCEDURE IsInf(x: LONGREAL): BOOLEAN
410
		¢®§¢à é ¥â TRUE, ¥á«¨ x - ¡¥áª®­¥ç­®áâì
412
		¢®§¢à é ¥â TRUE, ¥á«¨ x - ¡¥áª®­¥ç­®áâì
411
 
413
 
412
	PROCEDURE sqrt(x: LONGREAL): LONGREAL
414
	PROCEDURE sqrt(x: LONGREAL): LONGREAL
413
		ª¢ ¤à â­ë© ª®à¥­ì x
415
		ª¢ ¤à â­ë© ª®à¥­ì x
414
 
416
 
415
	PROCEDURE exp(x: LONGREAL): LONGREAL
417
	PROCEDURE exp(x: LONGREAL): LONGREAL
416
		íªá¯®­¥­â  x
418
		íªá¯®­¥­â  x
417
 
419
 
418
	PROCEDURE ln(x: LONGREAL): LONGREAL
420
	PROCEDURE ln(x: LONGREAL): LONGREAL
419
		­ âãà «ì­ë© «®£ à¨ä¬ x
421
		­ âãà «ì­ë© «®£ à¨ä¬ x
420
 
422
 
421
	PROCEDURE sin(x: LONGREAL): LONGREAL
423
	PROCEDURE sin(x: LONGREAL): LONGREAL
422
		ᨭãá x
424
		ᨭãá x
423
 
425
 
424
	PROCEDURE cos(x: LONGREAL): LONGREAL
426
	PROCEDURE cos(x: LONGREAL): LONGREAL
425
		ª®á¨­ãá x
427
		ª®á¨­ãá x
426
 
428
 
427
	PROCEDURE tan(x: LONGREAL): LONGREAL
429
	PROCEDURE tan(x: LONGREAL): LONGREAL
428
		â ­£¥­á x
430
		â ­£¥­á x
429
 
431
 
430
	PROCEDURE arcsin(x: LONGREAL): LONGREAL
432
	PROCEDURE arcsin(x: LONGREAL): LONGREAL
431
		 àªá¨­ãá x
433
		 àªá¨­ãá x
432
 
434
 
433
	PROCEDURE arccos(x: LONGREAL): LONGREAL
435
	PROCEDURE arccos(x: LONGREAL): LONGREAL
434
		 àªª®á¨­ãá x
436
		 àªª®á¨­ãá x
435
 
437
 
436
	PROCEDURE arctan(x: LONGREAL): LONGREAL
438
	PROCEDURE arctan(x: LONGREAL): LONGREAL
437
		 àªâ ­£¥­á x
439
		 àªâ ­£¥­á x
438
 
440
 
439
	PROCEDURE arctan2(y, x: LONGREAL): LONGREAL
441
	PROCEDURE arctan2(y, x: LONGREAL): LONGREAL
440
		 àªâ ­£¥­á y/x
442
		 àªâ ­£¥­á y/x
441
 
443
 
442
	PROCEDURE power(base, exponent: LONGREAL): LONGREAL
444
	PROCEDURE power(base, exponent: LONGREAL): LONGREAL
443
		¢®§¢¥¤¥­¨¥ ç¨á«  base ¢ á⥯¥­ì exponent
445
		¢®§¢¥¤¥­¨¥ ç¨á«  base ¢ á⥯¥­ì exponent
444
 
446
 
445
	PROCEDURE log(base, x: LONGREAL): LONGREAL
447
	PROCEDURE log(base, x: LONGREAL): LONGREAL
446
		«®£ à¨ä¬ x ¯® ®á­®¢ ­¨î base
448
		«®£ à¨ä¬ x ¯® ®á­®¢ ­¨î base
447
 
449
 
448
	PROCEDURE sinh(x: LONGREAL): LONGREAL
450
	PROCEDURE sinh(x: LONGREAL): LONGREAL
449
		£¨¯¥à¡®«¨ç¥áª¨© ᨭãá x
451
		£¨¯¥à¡®«¨ç¥áª¨© ᨭãá x
450
 
452
 
451
	PROCEDURE cosh(x: LONGREAL): LONGREAL
453
	PROCEDURE cosh(x: LONGREAL): LONGREAL
452
		£¨¯¥à¡®«¨ç¥áª¨© ª®á¨­ãá x
454
		£¨¯¥à¡®«¨ç¥áª¨© ª®á¨­ãá x
453
 
455
 
454
	PROCEDURE tanh(x: LONGREAL): LONGREAL
456
	PROCEDURE tanh(x: LONGREAL): LONGREAL
455
		£¨¯¥à¡®«¨ç¥áª¨© â ­£¥­á x
457
		£¨¯¥à¡®«¨ç¥áª¨© â ­£¥­á x
456
 
458
 
457
	PROCEDURE arcsinh(x: LONGREAL): LONGREAL
459
	PROCEDURE arcsinh(x: LONGREAL): LONGREAL
458
		®¡à â­ë© £¨¯¥à¡®«¨ç¥áª¨© ᨭãá x
460
		®¡à â­ë© £¨¯¥à¡®«¨ç¥áª¨© ᨭãá x
459
 
461
 
460
	PROCEDURE arccosh(x: LONGREAL): LONGREAL
462
	PROCEDURE arccosh(x: LONGREAL): LONGREAL
461
		®¡à â­ë© £¨¯¥à¡®«¨ç¥áª¨© ª®á¨­ãá x
463
		®¡à â­ë© £¨¯¥à¡®«¨ç¥áª¨© ª®á¨­ãá x
462
 
464
 
463
	PROCEDURE arctanh(x: LONGREAL): LONGREAL
465
	PROCEDURE arctanh(x: LONGREAL): LONGREAL
464
		®¡à â­ë© £¨¯¥à¡®«¨ç¥áª¨© â ­£¥­á x
466
		®¡à â­ë© £¨¯¥à¡®«¨ç¥áª¨© â ­£¥­á x
465
 
467
 
466
	PROCEDURE round(x: LONGREAL): LONGREAL
468
	PROCEDURE round(x: LONGREAL): LONGREAL
467
		®ªà㣫¥­¨¥ x ¤® ¡«¨¦ ©è¥£® 楫®£®
469
		®ªà㣫¥­¨¥ x ¤® ¡«¨¦ ©è¥£® 楫®£®
468
 
470
 
469
	PROCEDURE frac(x: LONGREAL): LONGREAL;
471
	PROCEDURE frac(x: LONGREAL): LONGREAL;
470
		¤à®¡­ ï ç áâì ç¨á«  x
472
		¤à®¡­ ï ç áâì ç¨á«  x
471
 
473
 
472
	PROCEDURE floor(x: LONGREAL): LONGREAL
474
	PROCEDURE floor(x: LONGREAL): LONGREAL
473
		­ ¨¡®«ì襥 楫®¥ ç¨á«® (¯à¥¤áâ ¢«¥­¨¥ ª ª LONGREAL),
475
		­ ¨¡®«ì襥 楫®¥ ç¨á«® (¯à¥¤áâ ¢«¥­¨¥ ª ª LONGREAL),
474
		­¥ ¡®«ìè¥ x: floor(1.2) = 1.0
476
		­¥ ¡®«ìè¥ x: floor(1.2) = 1.0
475
 
477
 
476
	PROCEDURE ceil(x: LONGREAL): LONGREAL
478
	PROCEDURE ceil(x: LONGREAL): LONGREAL
477
		­ ¨¬¥­ì襥 楫®¥ ç¨á«® (¯à¥¤áâ ¢«¥­¨¥ ª ª LONGREAL),
479
		­ ¨¬¥­ì襥 楫®¥ ç¨á«® (¯à¥¤áâ ¢«¥­¨¥ ª ª LONGREAL),
478
		­¥ ¬¥­ìè¥ x: ceil(1.2) = 2.0
480
		­¥ ¬¥­ìè¥ x: ceil(1.2) = 2.0
479
 
481
 
480
	PROCEDURE sgn(x: LONGREAL): INTEGER
482
	PROCEDURE sgn(x: LONGREAL): INTEGER
481
		¥á«¨ x > 0 ¢®§¢à é ¥â 1
483
		¥á«¨ x > 0 ¢®§¢à é ¥â 1
482
		¥á«¨ x < 0 ¢®§¢à é ¥â -1
484
		¥á«¨ x < 0 ¢®§¢à é ¥â -1
483
		¥á«¨ x = 0 ¢®§¢à é ¥â 0
485
		¥á«¨ x = 0 ¢®§¢à é ¥â 0
484
 
486
 
485
------------------------------------------------------------------------------
487
------------------------------------------------------------------------------
486
MODULE Debug - ¢ë¢®¤ ­  ¤®áªã ®â« ¤ª¨
488
MODULE Debug - ¢ë¢®¤ ­  ¤®áªã ®â« ¤ª¨
487
	ˆ­â¥àä¥©á ª ª ¬®¤ã«ì Out
489
	ˆ­â¥àä¥©á ª ª ¬®¤ã«ì Out
488
 
490
 
489
	PROCEDURE Open
491
	PROCEDURE Open
490
		®âªà뢠¥â ¤®áªã ®â« ¤ª¨
492
		®âªà뢠¥â ¤®áªã ®â« ¤ª¨
491
 
493
 
492
------------------------------------------------------------------------------
494
------------------------------------------------------------------------------
493
MODULE File - à ¡®â  á ä ©«®¢®© á¨á⥬®©
495
MODULE File - à ¡®â  á ä ©«®¢®© á¨á⥬®©
494
 
496
 
495
	TYPE
497
	TYPE
496
 
498
 
497
		FNAME = ARRAY 520 OF CHAR
499
		FNAME = ARRAY 520 OF CHAR
498
 
500
 
499
		FS = POINTER TO rFS
501
		FS = POINTER TO rFS
500
 
502
 
501
		rFS = RECORD (* ¨­ä®à¬ æ¨®­­ ï áâàãªâãà  ä ©«  *)
503
		rFS = RECORD (* ¨­ä®à¬ æ¨®­­ ï áâàãªâãà  ä ©«  *)
502
			subfunc, pos, hpos, bytes, buffer: INTEGER;
504
			subfunc, pos, hpos, bytes, buffer: INTEGER;
503
			name: FNAME
505
			name: FNAME
504
		END
506
		END
505
 
507
 
506
		FD = POINTER TO rFD
508
		FD = POINTER TO rFD
507
 
509
 
508
		rFD = RECORD (* áâàãªâãà  ¡«®ª  ¤ ­­ëå ¢å®¤  ª â «®£  *)
510
		rFD = RECORD (* áâàãªâãà  ¡«®ª  ¤ ­­ëå ¢å®¤  ª â «®£  *)
509
			attr: INTEGER;
511
			attr: INTEGER;
510
			ntyp: CHAR;
512
			ntyp: CHAR;
511
			reserved: ARRAY 3 OF CHAR;
513
			reserved: ARRAY 3 OF CHAR;
512
			time_create, date_create,
514
			time_create, date_create,
513
			time_access, date_access,
515
			time_access, date_access,
514
			time_modif,  date_modif,
516
			time_modif,  date_modif,
515
			size, hsize: INTEGER;
517
			size, hsize: INTEGER;
516
			name: FNAME
518
			name: FNAME
517
		END
519
		END
518
 
520
 
519
	CONST
521
	CONST
520
 
522
 
521
		SEEK_BEG = 0
523
		SEEK_BEG = 0
522
		SEEK_CUR = 1
524
		SEEK_CUR = 1
523
		SEEK_END = 2
525
		SEEK_END = 2
524
 
526
 
525
	PROCEDURE Load(FName: ARRAY OF CHAR; VAR size: INTEGER): INTEGER;
527
	PROCEDURE Load(FName: ARRAY OF CHAR; VAR size: INTEGER): INTEGER;
526
		‡ £à㦠¥â ¢ ¯ ¬ïâì ä ©« á ¨¬¥­¥¬ FName, § ¯¨á뢠¥â ¢ ¯ à ¬¥âà
528
		‡ £à㦠¥â ¢ ¯ ¬ïâì ä ©« á ¨¬¥­¥¬ FName, § ¯¨á뢠¥â ¢ ¯ à ¬¥âà
527
		size à §¬¥à ä ©« , ¢®§¢à é ¥â  ¤à¥á § £à㦥­­®£® ä ©« 
529
		size à §¬¥à ä ©« , ¢®§¢à é ¥â  ¤à¥á § £à㦥­­®£® ä ©« 
528
		¨«¨ 0 (®è¨¡ª ). à¨ ­¥®¡å®¤¨¬®áâ¨, à á¯ ª®¢ë¢ ¥â
530
		¨«¨ 0 (®è¨¡ª ). à¨ ­¥®¡å®¤¨¬®áâ¨, à á¯ ª®¢ë¢ ¥â
529
		ä ©« (kunpack).
531
		ä ©« (kunpack).
530
 
532
 
531
	PROCEDURE GetFileInfo(FName: ARRAY OF CHAR; VAR Info: rFD): BOOLEAN
533
	PROCEDURE GetFileInfo(FName: ARRAY OF CHAR; VAR Info: rFD): BOOLEAN
532
		‡ ¯¨á뢠¥â áâàãªâãàã ¡«®ª  ¤ ­­ëå ¢å®¤  ª â «®£  ¤«ï ä ©« 
534
		‡ ¯¨á뢠¥â áâàãªâãàã ¡«®ª  ¤ ­­ëå ¢å®¤  ª â «®£  ¤«ï ä ©« 
533
		¨«¨ ¯ ¯ª¨ á ¨¬¥­¥¬ FName ¢ ¯ à ¬¥âà Info.
535
		¨«¨ ¯ ¯ª¨ á ¨¬¥­¥¬ FName ¢ ¯ à ¬¥âà Info.
534
		à¨ ®è¨¡ª¥ ¢®§¢à é ¥â FALSE.
536
		à¨ ®è¨¡ª¥ ¢®§¢à é ¥â FALSE.
535
 
537
 
536
	PROCEDURE Exists(FName: ARRAY OF CHAR): BOOLEAN
538
	PROCEDURE Exists(FName: ARRAY OF CHAR): BOOLEAN
537
		¢®§¢à é ¥â TRUE, ¥á«¨ ä ©« á ¨¬¥­¥¬ FName áãé¥áâ¢ã¥â
539
		¢®§¢à é ¥â TRUE, ¥á«¨ ä ©« á ¨¬¥­¥¬ FName áãé¥áâ¢ã¥â
538
 
540
 
539
	PROCEDURE Close(VAR F: FS)
541
	PROCEDURE Close(VAR F: FS)
540
		®á¢®¡®¦¤ ¥â ¯ ¬ïâì, ¢ë¤¥«¥­­ãî ¤«ï ¨­ä®à¬ æ¨®­­®© áâàãªâãàë
542
		®á¢®¡®¦¤ ¥â ¯ ¬ïâì, ¢ë¤¥«¥­­ãî ¤«ï ¨­ä®à¬ æ¨®­­®© áâàãªâãàë
541
		ä ©«  F ¨ ¯à¨á¢ ¨¢ ¥â F §­ ç¥­¨¥ NIL
543
		ä ©«  F ¨ ¯à¨á¢ ¨¢ ¥â F §­ ç¥­¨¥ NIL
542
 
544
 
543
	PROCEDURE Open(FName: ARRAY OF CHAR): FS
545
	PROCEDURE Open(FName: ARRAY OF CHAR): FS
544
		¢®§¢à é ¥â 㪠§ â¥«ì ­  ¨­ä®à¬ æ¨®­­ãî áâàãªâãàã ä ©«  á
546
		¢®§¢à é ¥â 㪠§ â¥«ì ­  ¨­ä®à¬ æ¨®­­ãî áâàãªâãàã ä ©«  á
545
		¨¬¥­¥¬ FName, ¯à¨ ®è¨¡ª¥ ¢®§¢à é ¥â NIL
547
		¨¬¥­¥¬ FName, ¯à¨ ®è¨¡ª¥ ¢®§¢à é ¥â NIL
546
 
548
 
547
	PROCEDURE Delete(FName: ARRAY OF CHAR): BOOLEAN
549
	PROCEDURE Delete(FName: ARRAY OF CHAR): BOOLEAN
548
		㤠«ï¥â ä ©« á ¨¬¥­¥¬ FName, ¯à¨ ®è¨¡ª¥ ¢®§¢à é ¥â FALSE
550
		㤠«ï¥â ä ©« á ¨¬¥­¥¬ FName, ¯à¨ ®è¨¡ª¥ ¢®§¢à é ¥â FALSE
549
 
551
 
550
	PROCEDURE Seek(F: FS; Offset, Origin: INTEGER): INTEGER
552
	PROCEDURE Seek(F: FS; Offset, Origin: INTEGER): INTEGER
551
		ãáâ ­ ¢«¨¢ ¥â ¯®§¨æ¨î ç⥭¨ï-§ ¯¨á¨ ä ©«  F ­  Offset,
553
		ãáâ ­ ¢«¨¢ ¥â ¯®§¨æ¨î ç⥭¨ï-§ ¯¨á¨ ä ©«  F ­  Offset,
552
		®â­®á¨â¥«ì­® Origin = (SEEK_BEG - ­ ç «® ä ©« ,
554
		®â­®á¨â¥«ì­® Origin = (SEEK_BEG - ­ ç «® ä ©« ,
553
		SEEK_CUR - ⥪ãé ï ¯®§¨æ¨ï, SEEK_END - ª®­¥æ ä ©« ),
555
		SEEK_CUR - ⥪ãé ï ¯®§¨æ¨ï, SEEK_END - ª®­¥æ ä ©« ),
554
		¢®§¢à é ¥â ¯®§¨æ¨î ®â­®á¨â¥«ì­® ­ ç «  ä ©« , ­ ¯à¨¬¥à:
556
		¢®§¢à é ¥â ¯®§¨æ¨î ®â­®á¨â¥«ì­® ­ ç «  ä ©« , ­ ¯à¨¬¥à:
555
			Seek(F, 0, SEEK_END)
557
			Seek(F, 0, SEEK_END)
556
		ãáâ ­ ¢«¨¢ ¥â ¯®§¨æ¨î ­  ª®­¥æ ä ©«  ¨ ¢®§¢à é ¥â ¤«¨­ã
558
		ãáâ ­ ¢«¨¢ ¥â ¯®§¨æ¨î ­  ª®­¥æ ä ©«  ¨ ¢®§¢à é ¥â ¤«¨­ã
557
		ä ©« ; ¯à¨ ®è¨¡ª¥ ¢®§¢à é ¥â -1
559
		ä ©« ; ¯à¨ ®è¨¡ª¥ ¢®§¢à é ¥â -1
558
 
560
 
559
	PROCEDURE Read(F: FS; Buffer, Count: INTEGER): INTEGER
561
	PROCEDURE Read(F: FS; Buffer, Count: INTEGER): INTEGER
560
		—¨â ¥â ¤ ­­ë¥ ¨§ ä ©«  ¢ ¯ ¬ïâì. F - 㪠§ â¥«ì ­ 
562
		—¨â ¥â ¤ ­­ë¥ ¨§ ä ©«  ¢ ¯ ¬ïâì. F - 㪠§ â¥«ì ­ 
561
		¨­ä®à¬ æ¨®­­ãî áâàãªâãàã ä ©« , Buffer -  ¤à¥á ®¡« áâ¨
563
		¨­ä®à¬ æ¨®­­ãî áâàãªâãàã ä ©« , Buffer -  ¤à¥á ®¡« áâ¨
562
		¯ ¬ïâ¨, Count - ª®«¨ç¥á⢮ ¡ ©â, ª®â®à®¥ âॡã¥âáï ¯à®ç¨â âì
564
		¯ ¬ïâ¨, Count - ª®«¨ç¥á⢮ ¡ ©â, ª®â®à®¥ âॡã¥âáï ¯à®ç¨â âì
563
		¨§ ä ©« ; ¢®§¢à é ¥â ª®«¨ç¥á⢮ ¡ ©â, ª®â®à®¥ ¡ë«® ¯à®ç¨â ­®
565
		¨§ ä ©« ; ¢®§¢à é ¥â ª®«¨ç¥á⢮ ¡ ©â, ª®â®à®¥ ¡ë«® ¯à®ç¨â ­®
564
		¨ ᮮ⢥âáâ¢ãî騬 ®¡à §®¬ ¨§¬¥­ï¥â ¯®§¨æ¨î ç⥭¨ï/§ ¯¨á¨ ¢
566
		¨ ᮮ⢥âáâ¢ãî騬 ®¡à §®¬ ¨§¬¥­ï¥â ¯®§¨æ¨î ç⥭¨ï/§ ¯¨á¨ ¢
565
		¨­ä®à¬ æ¨®­­®© áâàãªâãॠF.
567
		¨­ä®à¬ æ¨®­­®© áâàãªâãॠF.
566
 
568
 
567
	PROCEDURE Write(F: FS; Buffer, Count: INTEGER): INTEGER
569
	PROCEDURE Write(F: FS; Buffer, Count: INTEGER): INTEGER
568
		‡ ¯¨á뢠¥â ¤ ­­ë¥ ¨§ ¯ ¬ï⨠¢ ä ©«. F - 㪠§ â¥«ì ­ 
570
		‡ ¯¨á뢠¥â ¤ ­­ë¥ ¨§ ¯ ¬ï⨠¢ ä ©«. F - 㪠§ â¥«ì ­ 
569
		¨­ä®à¬ æ¨®­­ãî áâàãªâãàã ä ©« , Buffer -  ¤à¥á ®¡« áâ¨
571
		¨­ä®à¬ æ¨®­­ãî áâàãªâãàã ä ©« , Buffer -  ¤à¥á ®¡« áâ¨
570
		¯ ¬ïâ¨, Count - ª®«¨ç¥á⢮ ¡ ©â, ª®â®à®¥ âॡã¥âáï § ¯¨á âì
572
		¯ ¬ïâ¨, Count - ª®«¨ç¥á⢮ ¡ ©â, ª®â®à®¥ âॡã¥âáï § ¯¨á âì
571
		¢ ä ©«; ¢®§¢à é ¥â ª®«¨ç¥á⢮ ¡ ©â, ª®â®à®¥ ¡ë«® § ¯¨á ­® ¨
573
		¢ ä ©«; ¢®§¢à é ¥â ª®«¨ç¥á⢮ ¡ ©â, ª®â®à®¥ ¡ë«® § ¯¨á ­® ¨
572
		ᮮ⢥âáâ¢ãî騬 ®¡à §®¬ ¨§¬¥­ï¥â ¯®§¨æ¨î ç⥭¨ï/§ ¯¨á¨ ¢
574
		ᮮ⢥âáâ¢ãî騬 ®¡à §®¬ ¨§¬¥­ï¥â ¯®§¨æ¨î ç⥭¨ï/§ ¯¨á¨ ¢
573
		¨­ä®à¬ æ¨®­­®© áâàãªâãॠF.
575
		¨­ä®à¬ æ¨®­­®© áâàãªâãॠF.
574
 
576
 
575
	PROCEDURE Create(FName: ARRAY OF CHAR): FS
577
	PROCEDURE Create(FName: ARRAY OF CHAR): FS
576
		ᮧ¤ ¥â ­®¢ë© ä ©« á ¨¬¥­¥¬ FName (¯®«­®¥ ¨¬ï), ¢®§¢à é ¥â
578
		ᮧ¤ ¥â ­®¢ë© ä ©« á ¨¬¥­¥¬ FName (¯®«­®¥ ¨¬ï), ¢®§¢à é ¥â
577
		㪠§ â¥«ì ­  ¨­ä®à¬ æ¨®­­ãî áâàãªâãàã ä ©« ,
579
		㪠§ â¥«ì ­  ¨­ä®à¬ æ¨®­­ãî áâàãªâãàã ä ©« ,
578
		¯à¨ ®è¨¡ª¥ ¢®§¢à é ¥â NIL
580
		¯à¨ ®è¨¡ª¥ ¢®§¢à é ¥â NIL
579
 
581
 
580
	PROCEDURE CreateDir(DirName: ARRAY OF CHAR): BOOLEAN
582
	PROCEDURE CreateDir(DirName: ARRAY OF CHAR): BOOLEAN
581
		ᮧ¤ ¥â ¯ ¯ªã á ¨¬¥­¥¬ DirName, ¢á¥ ¯à®¬¥¦ãâ®ç­ë¥ ¯ ¯ª¨
583
		ᮧ¤ ¥â ¯ ¯ªã á ¨¬¥­¥¬ DirName, ¢á¥ ¯à®¬¥¦ãâ®ç­ë¥ ¯ ¯ª¨
582
		¤®«¦­ë áãé¥á⢮¢ âì, ¯à¨ ®è¨¡ª¥ ¢®§¢à é ¥â FALSE
584
		¤®«¦­ë áãé¥á⢮¢ âì, ¯à¨ ®è¨¡ª¥ ¢®§¢à é ¥â FALSE
583
 
585
 
584
	PROCEDURE DeleteDir(DirName: ARRAY OF CHAR): BOOLEAN
586
	PROCEDURE DeleteDir(DirName: ARRAY OF CHAR): BOOLEAN
585
		㤠«ï¥â ¯ãáâãî ¯ ¯ªã á ¨¬¥­¥¬ DirName,
587
		㤠«ï¥â ¯ãáâãî ¯ ¯ªã á ¨¬¥­¥¬ DirName,
586
		¯à¨ ®è¨¡ª¥ ¢®§¢à é ¥â FALSE
588
		¯à¨ ®è¨¡ª¥ ¢®§¢à é ¥â FALSE
587
 
589
 
588
	PROCEDURE DirExists(DirName: ARRAY OF CHAR): BOOLEAN
590
	PROCEDURE DirExists(DirName: ARRAY OF CHAR): BOOLEAN
589
		¢®§¢à é ¥â TRUE, ¥á«¨ ¯ ¯ª  á ¨¬¥­¥¬ DirName áãé¥áâ¢ã¥â
591
		¢®§¢à é ¥â TRUE, ¥á«¨ ¯ ¯ª  á ¨¬¥­¥¬ DirName áãé¥áâ¢ã¥â
590
 
592
 
591
------------------------------------------------------------------------------
593
------------------------------------------------------------------------------
592
MODULE Read - ç⥭¨¥ ®á­®¢­ëå ⨯®¢ ¤ ­­ëå ¨§ ä ©«  F
594
MODULE Read - ç⥭¨¥ ®á­®¢­ëå ⨯®¢ ¤ ­­ëå ¨§ ä ©«  F
593
 
595
 
594
	à®æ¥¤ãàë ¢®§¢à é îâ TRUE ¢ á«ãç ¥ ãᯥ譮© ®¯¥à æ¨¨ ç⥭¨ï ¨
596
	à®æ¥¤ãàë ¢®§¢à é îâ TRUE ¢ á«ãç ¥ ãᯥ譮© ®¯¥à æ¨¨ ç⥭¨ï ¨
595
	ᮮ⢥âáâ¢ãî騬 ®¡à §®¬ ¨§¬¥­ïîâ ¯®§¨æ¨î ç⥭¨ï/§ ¯¨á¨ ¢
597
	ᮮ⢥âáâ¢ãî騬 ®¡à §®¬ ¨§¬¥­ïîâ ¯®§¨æ¨î ç⥭¨ï/§ ¯¨á¨ ¢
596
	¨­ä®à¬ æ¨®­­®© áâàãªâãॠF
598
	¨­ä®à¬ æ¨®­­®© áâàãªâãॠF
597
 
599
 
598
	PROCEDURE Char(F: File.FS; VAR x: CHAR): BOOLEAN
600
	PROCEDURE Char(F: File.FS; VAR x: CHAR): BOOLEAN
599
 
601
 
600
	PROCEDURE Int(F: File.FS; VAR x: INTEGER): BOOLEAN
602
	PROCEDURE Int(F: File.FS; VAR x: INTEGER): BOOLEAN
601
 
603
 
602
	PROCEDURE Real(F: File.FS; VAR x: REAL): BOOLEAN
604
	PROCEDURE Real(F: File.FS; VAR x: REAL): BOOLEAN
603
 
605
 
604
	PROCEDURE LongReal(F: File.FS; VAR x: LONGREAL): BOOLEAN
606
	PROCEDURE LongReal(F: File.FS; VAR x: LONGREAL): BOOLEAN
605
 
607
 
606
	PROCEDURE Boolean(F: File.FS; VAR x: BOOLEAN): BOOLEAN
608
	PROCEDURE Boolean(F: File.FS; VAR x: BOOLEAN): BOOLEAN
607
 
609
 
608
	PROCEDURE Set(F: File.FS; VAR x: SET): BOOLEAN
610
	PROCEDURE Set(F: File.FS; VAR x: SET): BOOLEAN
609
 
611
 
610
	PROCEDURE Card16(F: File.FS; VAR x: SYSTEM.CARD16): BOOLEAN
612
	PROCEDURE Card16(F: File.FS; VAR x: SYSTEM.CARD16): BOOLEAN
611
 
613
 
612
------------------------------------------------------------------------------
614
------------------------------------------------------------------------------
613
MODULE Write - § ¯¨áì ®á­®¢­ëå ⨯®¢ ¤ ­­ëå ¢ ä ©« F
615
MODULE Write - § ¯¨áì ®á­®¢­ëå ⨯®¢ ¤ ­­ëå ¢ ä ©« F
614
 
616
 
615
	à®æ¥¤ãàë ¢®§¢à é îâ TRUE ¢ á«ãç ¥ ãᯥ譮© ®¯¥à æ¨¨ § ¯¨á¨ ¨
617
	à®æ¥¤ãàë ¢®§¢à é îâ TRUE ¢ á«ãç ¥ ãᯥ譮© ®¯¥à æ¨¨ § ¯¨á¨ ¨
616
	ᮮ⢥âáâ¢ãî騬 ®¡à §®¬ ¨§¬¥­ïîâ ¯®§¨æ¨î ç⥭¨ï/§ ¯¨á¨ ¢
618
	ᮮ⢥âáâ¢ãî騬 ®¡à §®¬ ¨§¬¥­ïîâ ¯®§¨æ¨î ç⥭¨ï/§ ¯¨á¨ ¢
617
	¨­ä®à¬ æ¨®­­®© áâàãªâãॠF
619
	¨­ä®à¬ æ¨®­­®© áâàãªâãॠF
618
 
620
 
619
	PROCEDURE Char(F: File.FS; x: CHAR): BOOLEAN
621
	PROCEDURE Char(F: File.FS; x: CHAR): BOOLEAN
620
 
622
 
621
	PROCEDURE Int(F: File.FS; x: INTEGER): BOOLEAN
623
	PROCEDURE Int(F: File.FS; x: INTEGER): BOOLEAN
622
 
624
 
623
	PROCEDURE Real(F: File.FS; x: REAL): BOOLEAN
625
	PROCEDURE Real(F: File.FS; x: REAL): BOOLEAN
624
 
626
 
625
	PROCEDURE LongReal(F: File.FS; x: LONGREAL): BOOLEAN
627
	PROCEDURE LongReal(F: File.FS; x: LONGREAL): BOOLEAN
626
 
628
 
627
	PROCEDURE Boolean(F: File.FS; x: BOOLEAN): BOOLEAN
629
	PROCEDURE Boolean(F: File.FS; x: BOOLEAN): BOOLEAN
628
 
630
 
629
	PROCEDURE Set(F: File.FS; x: SET): BOOLEAN
631
	PROCEDURE Set(F: File.FS; x: SET): BOOLEAN
630
 
632
 
631
	PROCEDURE Card16(F: File.FS; x: SYSTEM.CARD16): BOOLEAN
633
	PROCEDURE Card16(F: File.FS; x: SYSTEM.CARD16): BOOLEAN
632
 
634
 
633
------------------------------------------------------------------------------
635
------------------------------------------------------------------------------
634
MODULE DateTime - ¤ â , ¢à¥¬ï
636
MODULE DateTime - ¤ â , ¢à¥¬ï
635
 
637
 
636
	CONST ERR = -7.0D5
638
	CONST ERR = -7.0D5
637
 
639
 
638
	PROCEDURE Now(VAR Year, Month, Day, Hour, Min, Sec: INTEGER)
640
	PROCEDURE Now(VAR Year, Month, Day, Hour, Min, Sec: INTEGER)
639
		§ ¯¨á뢠¥â ¢ ¯ à ¬¥âàë ª®¬¯®­¥­âë ⥪ã饩 á¨á⥬­®© ¤ âë ¨
641
		§ ¯¨á뢠¥â ¢ ¯ à ¬¥âàë ª®¬¯®­¥­âë ⥪ã饩 á¨á⥬­®© ¤ âë ¨
640
		¢à¥¬¥­¨
642
		¢à¥¬¥­¨
641
 
643
 
642
	PROCEDURE Encode(Year, Month, Day, Hour, Min, Sec: INTEGER): LONGREAL
644
	PROCEDURE Encode(Year, Month, Day, Hour, Min, Sec: INTEGER): LONGREAL
643
		¢®§¢à é ¥â ¤ âã, ¯®«ã祭­ãî ¨§ ª®¬¯®­¥­â®¢
645
		¢®§¢à é ¥â ¤ âã, ¯®«ã祭­ãî ¨§ ª®¬¯®­¥­â®¢
644
		Year, Month, Day, Hour, Min, Sec;
646
		Year, Month, Day, Hour, Min, Sec;
645
		¯à¨ ®è¨¡ª¥ ¢®§¢à é ¥â ª®­áâ ­âã ERR = -7.0D5
647
		¯à¨ ®è¨¡ª¥ ¢®§¢à é ¥â ª®­áâ ­âã ERR = -7.0D5
646
 
648
 
647
	PROCEDURE Decode(Date: LONGREAL; VAR Year, Month, Day,
649
	PROCEDURE Decode(Date: LONGREAL; VAR Year, Month, Day,
648
				Hour, Min, Sec: INTEGER): BOOLEAN
650
				Hour, Min, Sec: INTEGER): BOOLEAN
649
		¨§¢«¥ª ¥â ª®¬¯®­¥­âë
651
		¨§¢«¥ª ¥â ª®¬¯®­¥­âë
650
		Year, Month, Day, Hour, Min, Sec ¨§ ¤ âë Date;
652
		Year, Month, Day, Hour, Min, Sec ¨§ ¤ âë Date;
651
		¯à¨ ®è¨¡ª¥ ¢®§¢à é ¥â FALSE
653
		¯à¨ ®è¨¡ª¥ ¢®§¢à é ¥â FALSE
652
 
654
 
653
------------------------------------------------------------------------------
655
------------------------------------------------------------------------------
654
MODULE Args - ¯ à ¬¥âàë ¯à®£à ¬¬ë
656
MODULE Args - ¯ à ¬¥âàë ¯à®£à ¬¬ë
655
 
657
 
656
	VAR argc: INTEGER
658
	VAR argc: INTEGER
657
		ª®«¨ç¥á⢮ ¯ à ¬¥â஢ ¯à®£à ¬¬ë, ¢ª«îç ï ¨¬ï
659
		ª®«¨ç¥á⢮ ¯ à ¬¥â஢ ¯à®£à ¬¬ë, ¢ª«îç ï ¨¬ï
658
		¨á¯®«­ï¥¬®£® ä ©« 
660
		¨á¯®«­ï¥¬®£® ä ©« 
659
 
661
 
660
	PROCEDURE GetArg(n: INTEGER; VAR s: ARRAY OF CHAR)
662
	PROCEDURE GetArg(n: INTEGER; VAR s: ARRAY OF CHAR)
661
		§ ¯¨á뢠¥â ¢ áâபã s n-© ¯ à ¬¥âà ¯à®£à ¬¬ë,
663
		§ ¯¨á뢠¥â ¢ áâபã s n-© ¯ à ¬¥âà ¯à®£à ¬¬ë,
662
		­ã¬¥à æ¨ï ¯ à ¬¥â஢ ®â 0 ¤® argc - 1,
664
		­ã¬¥à æ¨ï ¯ à ¬¥â஢ ®â 0 ¤® argc - 1,
663
		­ã«¥¢®© ¯ à ¬¥âà -- ¨¬ï ¨á¯®«­ï¥¬®£® ä ©« 
665
		­ã«¥¢®© ¯ à ¬¥âà -- ¨¬ï ¨á¯®«­ï¥¬®£® ä ©« 
664
 
666
 
665
------------------------------------------------------------------------------
667
------------------------------------------------------------------------------
666
MODULE KOSAPI
668
MODULE KOSAPI
667
 
669
 
668
	PROCEDURE sysfunc1(arg1: INTEGER): INTEGER
670
	PROCEDURE sysfunc1(arg1: INTEGER): INTEGER
669
	PROCEDURE sysfunc2(arg1, arg2: INTEGER): INTEGER
671
	PROCEDURE sysfunc2(arg1, arg2: INTEGER): INTEGER
670
	...
672
	...
671
	PROCEDURE sysfunc7(arg1, arg2, ..., arg7: INTEGER): INTEGER
673
	PROCEDURE sysfunc7(arg1, arg2, ..., arg7: INTEGER): INTEGER
672
		Ž¡¥à⪨ ¤«ï ä㭪権 API ï¤à  KolibriOS.
674
		Ž¡¥à⪨ ¤«ï ä㭪権 API ï¤à  KolibriOS.
673
		arg1 .. arg7 ᮮ⢥âáâ¢ãîâ ॣ¨áâà ¬
675
		arg1 .. arg7 ᮮ⢥âáâ¢ãîâ ॣ¨áâà ¬
674
			eax, ebx, ecx, edx, esi, edi, ebp;
676
			eax, ebx, ecx, edx, esi, edi, ebp;
675
		¢®§¢à é îâ §­ ç¥­¨¥ ॣ¨áâà  eax ¯®á«¥ á¨á⥬­®£® ¢ë§®¢ .
677
		¢®§¢à é îâ §­ ç¥­¨¥ ॣ¨áâà  eax ¯®á«¥ á¨á⥬­®£® ¢ë§®¢ .
676
 
678
 
677
	PROCEDURE sysfunc22(arg1, arg2: INTEGER; VAR res2: INTEGER): INTEGER
679
	PROCEDURE sysfunc22(arg1, arg2: INTEGER; VAR res2: INTEGER): INTEGER
678
		Ž¡¥à⪠ ¤«ï ä㭪権 API ï¤à  KolibriOS.
680
		Ž¡¥à⪠ ¤«ï ä㭪権 API ï¤à  KolibriOS.
679
		arg1 - ॣ¨áâà eax, arg2 - ॣ¨áâà ebx,
681
		arg1 - ॣ¨áâà eax, arg2 - ॣ¨áâà ebx,
680
		res2 - §­ ç¥­¨¥ ॣ¨áâà  ebx ¯®á«¥ á¨á⥬­®£® ¢ë§®¢ ;
682
		res2 - §­ ç¥­¨¥ ॣ¨áâà  ebx ¯®á«¥ á¨á⥬­®£® ¢ë§®¢ ;
681
		¢®§¢à é ¥â §­ ç¥­¨¥ ॣ¨áâà  eax ¯®á«¥ á¨á⥬­®£® ¢ë§®¢ .
683
		¢®§¢à é ¥â §­ ç¥­¨¥ ॣ¨áâà  eax ¯®á«¥ á¨á⥬­®£® ¢ë§®¢ .
682
 
684
 
683
	PROCEDURE malloc(size: INTEGER): INTEGER
685
	PROCEDURE malloc(size: INTEGER): INTEGER
684
		‚뤥«ï¥â ¡«®ª ¯ ¬ïâ¨.
686
		‚뤥«ï¥â ¡«®ª ¯ ¬ïâ¨.
685
		size - à §¬¥à ¡«®ª  ¢ ¡ ©â å,
687
		size - à §¬¥à ¡«®ª  ¢ ¡ ©â å,
686
		¢®§¢à é ¥â  ¤à¥á ¢ë¤¥«¥­­®£® ¡«®ª 
688
		¢®§¢à é ¥â  ¤à¥á ¢ë¤¥«¥­­®£® ¡«®ª 
687
 
689
 
688
	PROCEDURE free(ptr: INTEGER): INTEGER
690
	PROCEDURE free(ptr: INTEGER): INTEGER
689
		Žá¢®¡®¦¤ ¥â à ­¥¥ ¢ë¤¥«¥­­ë© ¡«®ª ¯ ¬ïâ¨ á  ¤à¥á®¬ ptr,
691
		Žá¢®¡®¦¤ ¥â à ­¥¥ ¢ë¤¥«¥­­ë© ¡«®ª ¯ ¬ïâ¨ á  ¤à¥á®¬ ptr,
690
		¢®§¢à é ¥â 0
692
		¢®§¢à é ¥â 0
691
 
693
 
692
	PROCEDURE realloc(ptr, size: INTEGER): INTEGER
694
	PROCEDURE realloc(ptr, size: INTEGER): INTEGER
693
		¥à¥à á¯à¥¤¥«ï¥â ¡«®ª ¯ ¬ïâ¨,
695
		¥à¥à á¯à¥¤¥«ï¥â ¡«®ª ¯ ¬ïâ¨,
694
		ptr -  ¤à¥á à ­¥¥ ¢ë¤¥«¥­­®£® ¡«®ª ,
696
		ptr -  ¤à¥á à ­¥¥ ¢ë¤¥«¥­­®£® ¡«®ª ,
695
		size - ­®¢ë© à §¬¥à,
697
		size - ­®¢ë© à §¬¥à,
696
		¢®§¢à é ¥â 㪠§ â¥«ì ­  ¯¥à¥à á¯à¥¤¥«¥­­ë© ¡«®ª,
698
		¢®§¢à é ¥â 㪠§ â¥«ì ­  ¯¥à¥à á¯à¥¤¥«¥­­ë© ¡«®ª,
697
		0 ¯à¨ ®è¨¡ª¥
699
		0 ¯à¨ ®è¨¡ª¥
698
 
700
 
699
	PROCEDURE GetCommandLine(): INTEGER
701
	PROCEDURE GetCommandLine(): INTEGER
700
		‚®§¢à é ¥â  ¤à¥á áâப¨ ¯ à ¬¥â஢
702
		‚®§¢à é ¥â  ¤à¥á áâப¨ ¯ à ¬¥â஢
701
 
703
 
702
	PROCEDURE GetName(): INTEGER
704
	PROCEDURE GetName(): INTEGER
703
		‚®§¢à é ¥â  ¤à¥á áâப¨ á ¨¬¥­¥¬ ¯à®£à ¬¬ë
705
		‚®§¢à é ¥â  ¤à¥á áâப¨ á ¨¬¥­¥¬ ¯à®£à ¬¬ë
704
 
706
 
705
	PROCEDURE LoadLib(name: ARRAY OF CHAR): INTEGER
707
	PROCEDURE LoadLib(name: ARRAY OF CHAR): INTEGER
706
		‡ £à㦠¥â DLL á ¯®«­ë¬ ¨¬¥­¥¬ name. ‚®§¢à é ¥â  ¤à¥á â ¡«¨æë
708
		‡ £à㦠¥â DLL á ¯®«­ë¬ ¨¬¥­¥¬ name. ‚®§¢à é ¥â  ¤à¥á â ¡«¨æë
707
		íªá¯®àâ . à¨ ®è¨¡ª¥ ¢®§¢à é ¥â 0.
709
		íªá¯®àâ . à¨ ®è¨¡ª¥ ¢®§¢à é ¥â 0.
708
 
710
 
709
	PROCEDURE GetProcAdr(name: ARRAY OF CHAR; lib: INTEGER): INTEGER
711
	PROCEDURE GetProcAdr(name: ARRAY OF CHAR; lib: INTEGER): INTEGER
710
		name - ¨¬ï ¯à®æ¥¤ãàë
712
		name - ¨¬ï ¯à®æ¥¤ãàë
711
		lib -  ¤à¥á â ¡«¨æë íªá¯®àâ  DLL
713
		lib -  ¤à¥á â ¡«¨æë íªá¯®àâ  DLL
712
		‚®§¢à é ¥â  ¤à¥á ¯à®æ¥¤ãàë. à¨ ®è¨¡ª¥ ¢®§¢à é ¥â 0.
714
		‚®§¢à é ¥â  ¤à¥á ¯à®æ¥¤ãàë. à¨ ®è¨¡ª¥ ¢®§¢à é ¥â 0.
713
 
715
 
714
------------------------------------------------------------------------------
716
------------------------------------------------------------------------------
715
MODULE ColorDlg - à ¡®â  á ¤¨ «®£®¬ "Color Dialog"
717
MODULE ColorDlg - à ¡®â  á ¤¨ «®£®¬ "Color Dialog"
716
 
718
 
717
	TYPE
719
	TYPE
718
 
720
 
719
		Dialog = POINTER TO RECORD (* áâàãªâãà  ¤¨ «®£  *)
721
		Dialog = POINTER TO RECORD (* áâàãªâãà  ¤¨ «®£  *)
720
		    status: INTEGER   (* á®áâ®ï­¨¥ ¤¨ «®£ :
722
		    status: INTEGER   (* á®áâ®ï­¨¥ ¤¨ «®£ :
721
					 0 - ¯®«ì§®¢ â¥«ì ­ ¦ « Cancel
723
					 0 - ¯®«ì§®¢ â¥«ì ­ ¦ « Cancel
722
					 1 - ¯®«ì§®¢ â¥«ì ­ ¦ « OK
724
					 1 - ¯®«ì§®¢ â¥«ì ­ ¦ « OK
723
					 2 - ¤¨ «®£ ®âªàëâ	     *)
725
					 2 - ¤¨ «®£ ®âªàëâ	     *)
724
 
726
 
725
		    color:  INTEGER   (* ¢ë¡à ­­ë© 梥â *)
727
		    color:  INTEGER   (* ¢ë¡à ­­ë© 梥â *)
726
		END
728
		END
727
 
729
 
728
	PROCEDURE Create(draw_window: DRAW_WINDOW): Dialog
730
	PROCEDURE Create(draw_window: DRAW_WINDOW): Dialog
729
		ᮧ¤ âì ¤¨ «®£
731
		ᮧ¤ âì ¤¨ «®£
730
		draw_window - ¯à®æ¥¤ãà  ¯¥à¥à¨á®¢ª¨ ®á­®¢­®£® ®ª­ 
732
		draw_window - ¯à®æ¥¤ãà  ¯¥à¥à¨á®¢ª¨ ®á­®¢­®£® ®ª­ 
731
		(TYPE DRAW_WINDOW = PROCEDURE);
733
		(TYPE DRAW_WINDOW = PROCEDURE);
732
		¯à®æ¥¤ãà  ¢®§¢à é ¥â 㪠§ â¥«ì ­  áâàãªâãàã ¤¨ «®£ 
734
		¯à®æ¥¤ãà  ¢®§¢à é ¥â 㪠§ â¥«ì ­  áâàãªâãàã ¤¨ «®£ 
733
 
735
 
734
	PROCEDURE Show(cd: Dialog)
736
	PROCEDURE Show(cd: Dialog)
735
		¯®ª § âì ¤¨ «®£
737
		¯®ª § âì ¤¨ «®£
736
		cd - 㪠§ â¥«ì ­  áâàãªâãàã ¤¨ «®£ , ª®â®àë© ¡ë« ᮧ¤ ­ à ­¥¥
738
		cd - 㪠§ â¥«ì ­  áâàãªâãàã ¤¨ «®£ , ª®â®àë© ¡ë« ᮧ¤ ­ à ­¥¥
737
		¯à®æ¥¤ãன Create
739
		¯à®æ¥¤ãன Create
738
 
740
 
739
	PROCEDURE Destroy(VAR cd: Dialog)
741
	PROCEDURE Destroy(VAR cd: Dialog)
740
		ã­¨ç⮦¨âì ¤¨ «®£
742
		ã­¨ç⮦¨âì ¤¨ «®£
741
		cd - 㪠§ â¥«ì ­  áâàãªâãàã ¤¨ «®£ 
743
		cd - 㪠§ â¥«ì ­  áâàãªâãàã ¤¨ «®£ 
742
 
744
 
743
------------------------------------------------------------------------------
745
------------------------------------------------------------------------------
744
MODULE OpenDlg - à ¡®â  á ¤¨ «®£®¬ "Open Dialog"
746
MODULE OpenDlg - à ¡®â  á ¤¨ «®£®¬ "Open Dialog"
745
 
747
 
746
	TYPE
748
	TYPE
747
 
749
 
748
		Dialog = POINTER TO RECORD (* áâàãªâãà  ¤¨ «®£  *)
750
		Dialog = POINTER TO RECORD (* áâàãªâãà  ¤¨ «®£  *)
749
		    status:   INTEGER  (* á®áâ®ï­¨¥ ¤¨ «®£ :
751
		    status:   INTEGER  (* á®áâ®ï­¨¥ ¤¨ «®£ :
750
					  0 - ¯®«ì§®¢ â¥«ì ­ ¦ « Cancel
752
					  0 - ¯®«ì§®¢ â¥«ì ­ ¦ « Cancel
751
					  1 - ¯®«ì§®¢ â¥«ì ­ ¦ « OK
753
					  1 - ¯®«ì§®¢ â¥«ì ­ ¦ « OK
752
					  2 - ¤¨ «®£ ®âªàëâ	      *)
754
					  2 - ¤¨ «®£ ®âªàëâ	      *)
753
 
755
 
754
		    FileName: ARRAY 4096 OF CHAR (* ¨¬ï ¢ë¡à ­­®£® ä ©«  *)
756
		    FileName: ARRAY 4096 OF CHAR (* ¨¬ï ¢ë¡à ­­®£® ä ©«  *)
755
		    FilePath: ARRAY 4096 OF CHAR (* ¯®«­®¥ ¨¬ï ¢ë¡à ­­®£®
757
		    FilePath: ARRAY 4096 OF CHAR (* ¯®«­®¥ ¨¬ï ¢ë¡à ­­®£®
756
						    ä ©« 		 *)
758
						    ä ©« 		 *)
757
		END
759
		END
758
 
760
 
759
	PROCEDURE Create(draw_window: DRAW_WINDOW; type: INTEGER; def_path,
761
	PROCEDURE Create(draw_window: DRAW_WINDOW; type: INTEGER; def_path,
760
			filter: ARRAY OF CHAR): Dialog
762
			filter: ARRAY OF CHAR): Dialog
761
		ᮧ¤ âì ¤¨ «®£
763
		ᮧ¤ âì ¤¨ «®£
762
		draw_window - ¯à®æ¥¤ãà  ¯¥à¥à¨á®¢ª¨ ®á­®¢­®£® ®ª­ 
764
		draw_window - ¯à®æ¥¤ãà  ¯¥à¥à¨á®¢ª¨ ®á­®¢­®£® ®ª­ 
763
			(TYPE DRAW_WINDOW = PROCEDURE)
765
			(TYPE DRAW_WINDOW = PROCEDURE)
764
		type -	⨯ ¤¨ «®£ 
766
		type -	⨯ ¤¨ «®£ 
765
			0 - ®âªàëâì
767
			0 - ®âªàëâì
766
			1 - á®åà ­¨âì
768
			1 - á®åà ­¨âì
767
			2 - ¢ë¡à âì ¯ ¯ªã
769
			2 - ¢ë¡à âì ¯ ¯ªã
768
		def_path - ¯ãâì ¯® 㬮«ç ­¨î, ¯ ¯ª  def_path ¡ã¤¥â ®âªàëâ 
770
		def_path - ¯ãâì ¯® 㬮«ç ­¨î, ¯ ¯ª  def_path ¡ã¤¥â ®âªàëâ 
769
			¯à¨ ¯¥à¢®¬ § ¯ã᪥ ¤¨ «®£ 
771
			¯à¨ ¯¥à¢®¬ § ¯ã᪥ ¤¨ «®£ 
770
		filter - ¢ áâப¥ § ¯¨á ­® ¯¥à¥ç¨á«¥­¨¥ à áè¨à¥­¨© ä ©«®¢,
772
		filter - ¢ áâப¥ § ¯¨á ­® ¯¥à¥ç¨á«¥­¨¥ à áè¨à¥­¨© ä ©«®¢,
771
			ª®â®àë¥ ¡ã¤ãâ ¯®ª § ­ë ¢ ¤¨ «®£®¢®¬ ®ª­¥, à áè¨à¥­¨ï
773
			ª®â®àë¥ ¡ã¤ãâ ¯®ª § ­ë ¢ ¤¨ «®£®¢®¬ ®ª­¥, à áè¨à¥­¨ï
772
			à §¤¥«ïîâáï ᨬ¢®«®¬ "|", ­ ¯à¨¬¥à: "ASM|TXT|INI"
774
			à §¤¥«ïîâáï ᨬ¢®«®¬ "|", ­ ¯à¨¬¥à: "ASM|TXT|INI"
773
		¯à®æ¥¤ãà  ¢®§¢à é ¥â 㪠§ â¥«ì ­  áâàãªâãàã ¤¨ «®£ 
775
		¯à®æ¥¤ãà  ¢®§¢à é ¥â 㪠§ â¥«ì ­  áâàãªâãàã ¤¨ «®£ 
774
 
776
 
775
	PROCEDURE Show(od: Dialog; Width, Height: INTEGER)
777
	PROCEDURE Show(od: Dialog; Width, Height: INTEGER)
776
		¯®ª § âì ¤¨ «®£
778
		¯®ª § âì ¤¨ «®£
777
		od - 㪠§ â¥«ì ­  áâàãªâãàã ¤¨ «®£ , ª®â®àë© ¡ë« ᮧ¤ ­ à ­¥¥
779
		od - 㪠§ â¥«ì ­  áâàãªâãàã ¤¨ «®£ , ª®â®àë© ¡ë« ᮧ¤ ­ à ­¥¥
778
		     ¯à®æ¥¤ãன Create
780
		     ¯à®æ¥¤ãன Create
779
		Width ¨ Height - è¨à¨­  ¨ ¢ëá®â  ¤¨ «®£®¢®£® ®ª­ 
781
		Width ¨ Height - è¨à¨­  ¨ ¢ëá®â  ¤¨ «®£®¢®£® ®ª­ 
780
 
782
 
781
	PROCEDURE Destroy(VAR od: Dialog)
783
	PROCEDURE Destroy(VAR od: Dialog)
782
		ã­¨ç⮦¨âì ¤¨ «®£
784
		ã­¨ç⮦¨âì ¤¨ «®£
783
		od - 㪠§ â¥«ì ­  áâàãªâãàã ¤¨ «®£ 
785
		od - 㪠§ â¥«ì ­  áâàãªâãàã ¤¨ «®£ 
784
 
786
 
785
------------------------------------------------------------------------------
787
------------------------------------------------------------------------------
786
MODULE kfonts - à ¡®â  á kf-èà¨äâ ¬¨
788
MODULE kfonts - à ¡®â  á kf-èà¨äâ ¬¨
787
 
789
 
788
	CONST
790
	CONST
789
 
791
 
790
		bold		=   1
792
		bold		=   1
791
		italic		=   2
793
		italic		=   2
792
		underline	=   4
794
		underline	=   4
793
		strike_through	=   8
795
		strike_through	=   8
794
		smoothing	=  16
796
		smoothing	=  16
795
		bpp32		=  32
797
		bpp32		=  32
796
 
798
 
797
	TYPE
799
	TYPE
798
 
800
 
799
		TFont = POINTER TO TFont_desc (* 㪠§ â¥«ì ­  èà¨äâ *)
801
		TFont = POINTER TO TFont_desc (* 㪠§ â¥«ì ­  èà¨äâ *)
800
 
802
 
801
	PROCEDURE LoadFont(file_name: ARRAY OF CHAR): TFont
803
	PROCEDURE LoadFont(file_name: ARRAY OF CHAR): TFont
802
		§ £à㧨âì èà¨äâ ¨§ ä ©« 
804
		§ £à㧨âì èà¨äâ ¨§ ä ©« 
803
		file_name   ¨¬ï kf-ä ©« 
805
		file_name   ¨¬ï kf-ä ©« 
804
		१-â:	    㪠§ â¥«ì ­  èà¨äâ/NIL (®è¨¡ª )
806
		१-â:	    㪠§ â¥«ì ­  èà¨äâ/NIL (®è¨¡ª )
805
 
807
 
806
	PROCEDURE SetSize(Font: TFont; font_size: INTEGER): BOOLEAN
808
	PROCEDURE SetSize(Font: TFont; font_size: INTEGER): BOOLEAN
807
		ãáâ ­®¢¨âì à §¬¥à èà¨äâ 
809
		ãáâ ­®¢¨âì à §¬¥à èà¨äâ 
808
		Font	    㪠§ â¥«ì ­  èà¨äâ
810
		Font	    㪠§ â¥«ì ­  èà¨äâ
809
		font_size   à §¬¥à èà¨äâ 
811
		font_size   à §¬¥à èà¨äâ 
810
		१-â:	    TRUE/FALSE (®è¨¡ª )
812
		१-â:	    TRUE/FALSE (®è¨¡ª )
811
 
813
 
812
	PROCEDURE Enabled(Font: TFont; font_size: INTEGER): BOOLEAN
814
	PROCEDURE Enabled(Font: TFont; font_size: INTEGER): BOOLEAN
813
		¯à®¢¥à¨âì, ¥áâì «¨ èà¨äâ, § ¤ ­­®£® à §¬¥à 
815
		¯à®¢¥à¨âì, ¥áâì «¨ èà¨äâ, § ¤ ­­®£® à §¬¥à 
814
		Font	    㪠§ â¥«ì ­  èà¨äâ
816
		Font	    㪠§ â¥«ì ­  èà¨äâ
815
		font_size   à §¬¥à èà¨äâ 
817
		font_size   à §¬¥à èà¨äâ 
816
		१-â:	    TRUE/FALSE (èà¨äâ  ­¥â)
818
		१-â:	    TRUE/FALSE (èà¨äâ  ­¥â)
817
 
819
 
818
	PROCEDURE Destroy(VAR Font: TFont)
820
	PROCEDURE Destroy(VAR Font: TFont)
819
		¢ë£à㧨âì èà¨äâ, ®á¢®¡®¤¨âì ¤¨­ ¬¨ç¥áªãî ¯ ¬ïâì
821
		¢ë£à㧨âì èà¨äâ, ®á¢®¡®¤¨âì ¤¨­ ¬¨ç¥áªãî ¯ ¬ïâì
820
		Font	    㪠§ â¥«ì ­  èà¨äâ
822
		Font	    㪠§ â¥«ì ­  èà¨äâ
821
		à¨á¢ ¨¢ ¥â ¯¥à¥¬¥­­®© Font §­ ç¥­¨¥ NIL
823
		à¨á¢ ¨¢ ¥â ¯¥à¥¬¥­­®© Font §­ ç¥­¨¥ NIL
822
 
824
 
823
	PROCEDURE TextHeight(Font: TFont): INTEGER
825
	PROCEDURE TextHeight(Font: TFont): INTEGER
824
		¯®«ãç¨âì ¢ëá®âã áâப¨ ⥪áâ 
826
		¯®«ãç¨âì ¢ëá®âã áâப¨ ⥪áâ 
825
		Font	    㪠§ â¥«ì ­  èà¨äâ
827
		Font	    㪠§ â¥«ì ­  èà¨äâ
826
		१-â:	    ¢ëá®â  áâப¨ ⥪áâ  ¢ ¯¨ªá¥«ïå
828
		१-â:	    ¢ëá®â  áâப¨ ⥪áâ  ¢ ¯¨ªá¥«ïå
827
 
829
 
828
	PROCEDURE TextWidth(Font: TFont;
830
	PROCEDURE TextWidth(Font: TFont;
829
		    str, length, params: INTEGER): INTEGER
831
		    str, length, params: INTEGER): INTEGER
830
		¯®«ãç¨âì è¨à¨­ã áâப¨ ⥪áâ 
832
		¯®«ãç¨âì è¨à¨­ã áâப¨ ⥪áâ 
831
		Font	    㪠§ â¥«ì ­  èà¨äâ
833
		Font	    㪠§ â¥«ì ­  èà¨äâ
832
		str	     ¤à¥á áâப¨ ⥪áâ  ¢ ª®¤¨à®¢ª¥ Win-1251
834
		str	     ¤à¥á áâப¨ ⥪áâ  ¢ ª®¤¨à®¢ª¥ Win-1251
833
		length	    ª®«¨ç¥á⢮ ᨬ¢®«®¢ ¢ áâப¥ ¨«¨ -1, ¥á«¨ áâப 
835
		length	    ª®«¨ç¥á⢮ ᨬ¢®«®¢ ¢ áâப¥ ¨«¨ -1, ¥á«¨ áâப 
834
			    § ¢¥àè ¥âáï ­ã«¥¬
836
			    § ¢¥àè ¥âáï ­ã«¥¬
835
		params	    ¯ à ¬¥âàë-ä« £¨ á¬. ­¨¦¥
837
		params	    ¯ à ¬¥âàë-ä« £¨ á¬. ­¨¦¥
836
		१-â:	    è¨à¨­  áâப¨ ⥪áâ  ¢ ¯¨ªá¥«ïå
838
		१-â:	    è¨à¨­  áâப¨ ⥪áâ  ¢ ¯¨ªá¥«ïå
837
 
839
 
838
	PROCEDURE TextOut(Font: TFont;
840
	PROCEDURE TextOut(Font: TFont;
839
		    canvas, x, y, str, length, color, params: INTEGER)
841
		    canvas, x, y, str, length, color, params: INTEGER)
840
		¢ë¢¥á⨠⥪áâ ¢ ¡ãä¥à
842
		¢ë¢¥á⨠⥪áâ ¢ ¡ãä¥à
841
		¤«ï ¢ë¢®¤  ¡ãä¥à  ¢ ®ª­®, ¨á¯®«ì§®¢ âì ä.65 ¨«¨
843
		¤«ï ¢ë¢®¤  ¡ãä¥à  ¢ ®ª­®, ¨á¯®«ì§®¢ âì ä.65 ¨«¨
842
		ä.7 (¥á«¨ ¡ãä¥à 24-¡¨â­ë©)
844
		ä.7 (¥á«¨ ¡ãä¥à 24-¡¨â­ë©)
843
		Font	    㪠§ â¥«ì ­  èà¨äâ
845
		Font	    㪠§ â¥«ì ­  èà¨äâ
844
		canvas	     ¤à¥á £à ä¨ç¥áª®£® ¡ãä¥à 
846
		canvas	     ¤à¥á £à ä¨ç¥áª®£® ¡ãä¥à 
845
			    áâàãªâãà  ¡ãä¥à :
847
			    áâàãªâãà  ¡ãä¥à :
846
			      Xsize	  dd
848
			      Xsize	  dd
847
			      Ysize	  dd
849
			      Ysize	  dd
848
			      picture	  rb  Xsize * Ysize * 4 (32 ¡¨â )
850
			      picture	  rb  Xsize * Ysize * 4 (32 ¡¨â )
849
					      ¨«¨ Xsize * Ysize * 3 (24 ¡¨â )
851
					      ¨«¨ Xsize * Ysize * 3 (24 ¡¨â )
850
		x, y	    ª®®à¤¨­ âë ⥪áâ  ®â­®á¨â¥«ì­® «¥¢®£® ¢¥àå­¥£®
852
		x, y	    ª®®à¤¨­ âë ⥪áâ  ®â­®á¨â¥«ì­® «¥¢®£® ¢¥àå­¥£®
851
			    㣫  ¡ãä¥à 
853
			    㣫  ¡ãä¥à 
852
		str	     ¤à¥á áâப¨ ⥪áâ  ¢ ª®¤¨à®¢ª¥ Win-1251
854
		str	     ¤à¥á áâப¨ ⥪áâ  ¢ ª®¤¨à®¢ª¥ Win-1251
853
		length	    ª®«¨ç¥á⢮ ᨬ¢®«®¢ ¢ áâப¥ ¨«¨ -1, ¥á«¨ áâப 
855
		length	    ª®«¨ç¥á⢮ ᨬ¢®«®¢ ¢ áâப¥ ¨«¨ -1, ¥á«¨ áâப 
854
			    § ¢¥àè ¥âáï ­ã«¥¬
856
			    § ¢¥àè ¥âáï ­ã«¥¬
855
		color	    梥â ⥪áâ  0x00RRGGBB
857
		color	    梥â ⥪áâ  0x00RRGGBB
856
		params	    ¯ à ¬¥âàë-ä« £¨:
858
		params	    ¯ à ¬¥âàë-ä« £¨:
857
			       1   ¦¨à­ë©
859
			       1   ¦¨à­ë©
858
			       2   ªãàᨢ
860
			       2   ªãàᨢ
859
			       4   ¯®¤ç¥àª­ãâë©
861
			       4   ¯®¤ç¥àª­ãâë©
860
			       8   ¯¥à¥ç¥àª­ãâë©
862
			       8   ¯¥à¥ç¥àª­ãâë©
861
			      16   ¯à¨¬¥­¨âì ᣫ ¦¨¢ ­¨¥
863
			      16   ¯à¨¬¥­¨âì ᣫ ¦¨¢ ­¨¥
862
			      32   ¢ë¢®¤ ¢ 32-¡¨â­ë© ¡ãä¥à
864
			      32   ¢ë¢®¤ ¢ 32-¡¨â­ë© ¡ãä¥à
863
			    ¢®§¬®¦­® ¨á¯®«ì§®¢ ­¨¥ ä« £®¢ ¢ «î¡ëå á®ç¥â ­¨ïå
865
			    ¢®§¬®¦­® ¨á¯®«ì§®¢ ­¨¥ ä« £®¢ ¢ «î¡ëå á®ç¥â ­¨ïå
864
------------------------------------------------------------------------------
866
------------------------------------------------------------------------------
865
MODULE RasterWorks - ®¡¥à⪠ ¡¨¡«¨®â¥ª¨ Rasterworks.obj
867
MODULE RasterWorks - ®¡¥à⪠ ¡¨¡«¨®â¥ª¨ Rasterworks.obj
866
------------------------------------------------------------------------------
868
------------------------------------------------------------------------------
867
MODULE libimg - ®¡¥à⪠ ¡¨¡«¨®â¥ª¨ libimg.obj
869
MODULE libimg - ®¡¥à⪠ ¡¨¡«¨®â¥ª¨ libimg.obj
868
------------------------------------------------------------------------------
870
------------------------------------------------------------------------------
869
MODULE NetDevices - ®¡¥à⪠ ¤«ï ä.74 (à ¡®â  á á¥â¥¢ë¬¨ ãáâனá⢠¬¨)
871
MODULE NetDevices - ®¡¥à⪠ ¤«ï ä.74 (à ¡®â  á á¥â¥¢ë¬¨ ãáâனá⢠¬¨)
870
------------------------------------------------------------------------------
872
------------------------------------------------------------------------------