forked from KolibriOS/kolibrios
cp866
git-svn-id: svn://kolibrios.org@7623 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
4dd79f49ce
commit
938e74edc1
400
programs/develop/oberon07/Docs/About866.txt
Normal file
400
programs/develop/oberon07/Docs/About866.txt
Normal file
@ -0,0 +1,400 @@
|
|||||||
|
Š®¬¯¨«ïâ®à ï§ëª ¯à®£à ¬¬¨à®¢ ¨ï Oberon-07/16 ¤«ï i486
|
||||||
|
Windows/Linux/KolibriOS.
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
<20> à ¬¥âàë ª®¬ ¤®© áâப¨
|
||||||
|
|
||||||
|
‚室 - ⥪áâ®¢ë¥ ä ©«ë ¬®¤ã«¥© á à áè¨à¥¨¥¬ ".ob07", ª®¤¨à®¢ª ANSI ¨«¨
|
||||||
|
UTF-8 á BOM-ᨣ âãன.
|
||||||
|
‚ë室 - ¨á¯®ï¥¬ë© ä ©« ä®à¬ â PE32, ELF ¨«¨ MENUET01/MSCOFF.
|
||||||
|
<20> à ¬¥âàë:
|
||||||
|
1) ¨¬ï £« ¢®£® ¬®¤ã«ï
|
||||||
|
2) ¨¬ï १ã«ìâ¨àãî饣® ä ©«
|
||||||
|
3) ⨯ ¯à¨«®¦¥¨ï ¨ ¯« âä®à¬
|
||||||
|
"console" - Windows console
|
||||||
|
"gui" - Windows GUI
|
||||||
|
"dll" - Windows DLL
|
||||||
|
"kos" - KolibriOS
|
||||||
|
"obj" - KolibriOS DLL
|
||||||
|
"elfexe" - Linux ELF-EXEC
|
||||||
|
4) ¥®¡ï§ ⥫ìë¥ ¯ à ¬¥âàë-ª«îç¨
|
||||||
|
-stk <size> à §¬¥à áâíª ¢ ¬¥£ ¡ ©â å (¯® 㬮«ç ¨î 2 Œ¡)
|
||||||
|
-base <address> ¤à¥á § £à㧪¨ ¨á¯®«ï¥¬®£® ä ©« ¢ ª¨«®¡ ©â å
|
||||||
|
-ver <major.minor> ¢¥àá¨ï ¯à®£à ¬¬ë (⮫쪮 ¤«ï obj)
|
||||||
|
-nochk <"ptibcwra"> ®âª«îç¨âì ¯à®¢¥àª¨ ¯à¨ ¢ë¯®«¥¨¨ (á¬. ¨¦¥)
|
||||||
|
|
||||||
|
¯ à ¬¥âà -nochk § ¤ ¥âáï ¢ ¢¨¤¥ áâப¨ ¨§ ᨬ¢®«®¢:
|
||||||
|
"p" - 㪠§ ⥫¨
|
||||||
|
"t" - ⨯ë
|
||||||
|
"i" - ¨¤¥ªáë
|
||||||
|
"b" - ¥ï¢®¥ ¯à¨¢¥¤¥¨¥ INTEGER ª BYTE
|
||||||
|
"c" - ¤¨ ¯ §® à£ã¬¥â äãªæ¨¨ CHR
|
||||||
|
"w" - ¤¨ ¯ §® à£ã¬¥â äãªæ¨¨ WCHR
|
||||||
|
"r" - íª¢¨¢ «¥â® "bcw"
|
||||||
|
"a" - ¢á¥ ¯à®¢¥àª¨
|
||||||
|
|
||||||
|
<20>®à冷ª ᨬ¢®«®¢ ¬®¦¥â ¡ëâì «î¡ë¬. <20> «¨ç¨¥ ¢ áâப¥ ⮣® ¨«¨ ¨®£®
|
||||||
|
ᨬ¢®« ®âª«îç ¥â ᮮ⢥âáâ¢ãîéãî ¯à®¢¥àªã.
|
||||||
|
|
||||||
|
<20> ¯à¨¬¥à: -nochk it - ®âª«îç¨âì ¯à®¢¥àªã ¨¤¥ªá®¢ ¨ ®åà ã ⨯ .
|
||||||
|
-nochk a - ®âª«îç¨âì ¢á¥ ®âª«îç ¥¬ë¥ ¯à®¢¥àª¨.
|
||||||
|
|
||||||
|
<20> ¯à¨¬¥à:
|
||||||
|
|
||||||
|
Compiler.exe "C:\example.ob07" "C:\example.exe" console -stk 1
|
||||||
|
Compiler.exe "C:\example.ob07" "C:\example.dll" dll
|
||||||
|
Compiler.exe "C:\example.ob07" "C:\example.exe" gui -stk 4
|
||||||
|
Compiler.exe "C:\example.ob07" "C:\example.exe" console -nochk pti
|
||||||
|
Compiler.kex "/tmp0/1/example.ob07" "/tmp0/1/example.kex" kos -stk 2
|
||||||
|
Compiler.kex "/tmp0/1/example.ob07" "/tmp0/1/example.obj" obj -ver 2.7
|
||||||
|
Compiler.exe "C:\example.ob07" "C:\example" elfexe
|
||||||
|
|
||||||
|
‚ á«ãç ¥ ãᯥ让 ª®¬¯¨«ï樨, ª®¬¯¨«ïâ®à ¯¥à¥¤ ¥â ª®¤ § ¢¥à襨ï 0, ¨ ç¥ 1.
|
||||||
|
<EFBFBD>à¨ à ¡®â¥ ª®¬¯¨«ïâ®à ¢ KolibriOS, ª®¤ § ¢¥àè¥¨ï ¥ ¯¥à¥¤ ¥âáï.
|
||||||
|
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
Žâ«¨ç¨ï ®â ®à¨£¨ «
|
||||||
|
|
||||||
|
1. <20> áè¨à¥ ¯á¥¢¤®¬®¤ã«ì SYSTEM
|
||||||
|
2. ‚ ¨¤¥â¨ä¨ª â®à å ¤®¯ã᪠¥âáï ᨬ¢®« "_"
|
||||||
|
3. „®¡ ¢«¥ë á¨áâ¥¬ë¥ ä« £¨
|
||||||
|
4. “ᮢ¥àè¥á⢮¢ ®¯¥à â®à CASE (¤®¡ ¢«¥ë ª®áâ âë¥ ¢ëà ¦¥¨ï ¢
|
||||||
|
¬¥âª å ¢ ਠ⮢ ¨ ¥®¡ï§ ⥫ì ï ¢¥âª ELSE)
|
||||||
|
5. <20> áè¨à¥ ¡®à áâ ¤ àâëå ¯à®æ¥¤ãà
|
||||||
|
6. ‘¥¬ ⨪ ®åà ë/¯à®¢¥àª¨ ⨯ ãâ®ç¥ ¤«ï ã«¥¢®£® 㪠§ ⥫ï
|
||||||
|
7. ‘¥¬ ⨪ DIV ¨ MOD ãâ®ç¥ ¤«ï ®âà¨æ ⥫ìëå ç¨á¥«
|
||||||
|
8. „®¡ ¢«¥ë ®¤®áâà®çë¥ ª®¬¬¥â ਨ ( ç¨ îâáï á ¯ àë ᨬ¢®«®¢ "//")
|
||||||
|
9. <20> §à¥è¥® á«¥¤®¢ ¨¥ ®â ⨯ -㪠§ ⥫ï
|
||||||
|
10. „®¡ ¢«¥ á¨â ªá¨á ¤«ï ¨¬¯®àâ ¯à®æ¥¤ãà ¨§ ¢¥è¨å ¡¨¡«¨®â¥ª
|
||||||
|
11. "‘âப¨" ¬®¦® § ª«îç âì â ª¦¥ ¢ ®¤¨®çë¥ ª ¢ë窨: 'áâப '
|
||||||
|
12. „®¡ ¢«¥ ⨯ WCHAR
|
||||||
|
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
Žá®¡¥®á⨠ॠ«¨§ 樨
|
||||||
|
|
||||||
|
1. Žá®¢ë¥ ⨯ë
|
||||||
|
|
||||||
|
’¨¯ „¨ ¯ §® § 票© <20> §¬¥à, ¡ ©â
|
||||||
|
|
||||||
|
INTEGER -2147483648 .. 2147483647 4
|
||||||
|
REAL 4.94E-324 .. 1.70E+308 8
|
||||||
|
CHAR ᨬ¢®« ASCII (0X .. 0FFX) 1
|
||||||
|
BOOLEAN FALSE, TRUE 1
|
||||||
|
SET ¬®¦¥á⢮ ¨§ 楫ëå ç¨á¥« {0 .. 31} 4
|
||||||
|
BYTE 0 .. 255 1
|
||||||
|
WCHAR ᨬ¢®« ®¤ (0X .. 0FFFFX) 2
|
||||||
|
|
||||||
|
2. Œ ªá¨¬ «ì ï ¤«¨ ¨¤¥â¨ä¨ª â®à®¢ - 1024 ᨬ¢®«®¢
|
||||||
|
3. Œ ªá¨¬ «ì ï ¤«¨ áâப®¢ëå ª®áâ â - 1024 ᨬ¢®«®¢ (UTF-8)
|
||||||
|
4. Œ ªá¨¬ «ì ï à §¬¥à®áâì ®âªàëâëå ¬ áᨢ®¢ - 5
|
||||||
|
5. <20>à®æ¥¤ãà NEW § ¯®«ï¥â ã«ï¬¨ ¢ë¤¥«¥ë© ¡«®ª ¯ ¬ïâ¨
|
||||||
|
6. ƒ«®¡ «ìë¥ ¨ «®ª «ìë¥ ¯¥à¥¬¥ë¥ ¨¨æ¨ «¨§¨àãîâáï ã«ï¬¨
|
||||||
|
7. ‚ ®â«¨ç¨¥ ®â ¬®£¨å Oberon-ॠ«¨§ 権, á¡®à騪 ¬ãá®à ¨ ¤¨ ¬¨ç¥áª ï
|
||||||
|
¬®¤ã«ì®áâì ®âáãâáâ¢ãîâ
|
||||||
|
8. ’¨¯ BYTE ¢ ¢ëà ¦¥¨ïå ¢á¥£¤ ¯à¨¢®¤¨âáï ª INTEGER
|
||||||
|
9. Š®âà®«ì ¯¥à¥¯®«¥¨ï § 票© ¢ëà ¦¥¨© ¥ ¯à®¨§¢®¤¨âáï
|
||||||
|
10. Žè¨¡ª¨ ¢à¥¬¥¨ ¢ë¯®«¥¨ï:
|
||||||
|
|
||||||
|
- ASSERT(x), ¯à¨ x = FALSE
|
||||||
|
- à §ë¬¥®¢ ¨¥ ã«¥¢®£® 㪠§ ⥫ï
|
||||||
|
- 楫®ç¨á«¥®¥ ¤¥«¥¨¥ 0
|
||||||
|
- ¢ë§®¢ ¯à®æ¥¤ãàë ç¥à¥§ ¯à®æ¥¤ãàãî ¯¥à¥¬¥ãî á ã«¥¢ë¬ § 票¥¬
|
||||||
|
- ®è¨¡ª ®åà ë ⨯
|
||||||
|
- àã襨¥ £à ¨æ ¬ áᨢ
|
||||||
|
- ¥¯à¥¤ãᬮâ८¥ § 票¥ ¢ëà ¦¥¨ï ¢ ®¯¥à â®à¥ CASE
|
||||||
|
- ®è¨¡ª ª®¯¨à®¢ ¨ï ¬ áᨢ®¢ v := x, ¥á«¨ LEN(v) < LEN(x)
|
||||||
|
- ¥ï¢®¥ ¯à¨¢¥¤¥¨¥ x:INTEGER ª v:BYTE, ¥á«¨ (x < 0) OR (x > 255)
|
||||||
|
- CHR(x), ¥á«¨ (x < 0) OR (x > 255)
|
||||||
|
- WCHR(x), ¥á«¨ (x < 0) OR (x > 65535)
|
||||||
|
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
<20>ᥢ¤®¬®¤ã«ì SYSTEM
|
||||||
|
|
||||||
|
<20>ᥢ¤®¬®¤ã«ì SYSTEM ᮤ¥à¦¨â ¨§ª®ã஢¥¢ë¥ ¨ ¥¡¥§®¯ áë¥ ¯à®æ¥¤ãàë,
|
||||||
|
®è¨¡ª¨ ¯à¨ ¨á¯®«ì§®¢ ¨¨ ¯à®æ¥¤ãà ¯á¥¢¤®¬®¤ã«ï SYSTEM ¬®£ã⠯ਢ¥á⨠ª
|
||||||
|
¯®¢à¥¦¤¥¨î ¤ ëå ¢à¥¬¥¨ ¢ë¯®«¥¨ï ¨ ¢ ਩®¬ã § ¢¥àè¥¨î ¯à®£à ¬¬ë.
|
||||||
|
|
||||||
|
PROCEDURE ADR(v: «î¡®© ⨯): INTEGER
|
||||||
|
v - ¯¥à¥¬¥ ï ¨«¨ ¯à®æ¥¤ãà ;
|
||||||
|
¢®§¢à é ¥â ¤à¥á v
|
||||||
|
|
||||||
|
PROCEDURE SADR(x: áâப®¢ ï ª®áâ â (CHAR UTF-8)): INTEGER
|
||||||
|
¢®§¢à é ¥â ¤à¥á x
|
||||||
|
|
||||||
|
PROCEDURE WSADR(x: áâப®¢ ï ª®áâ â (WCHAR)): INTEGER
|
||||||
|
¢®§¢à é ¥â ¤à¥á x
|
||||||
|
|
||||||
|
PROCEDURE SIZE(T): INTEGER
|
||||||
|
¢®§¢à é ¥â à §¬¥à ⨯ T
|
||||||
|
|
||||||
|
PROCEDURE TYPEID(T): INTEGER
|
||||||
|
T - ⨯-§ ¯¨áì ¨«¨ ⨯-㪠§ ⥫ì,
|
||||||
|
¢®§¢à é ¥â ®¬¥à ⨯ ¢ â ¡«¨æ¥ ⨯®¢-§ ¯¨á¥©
|
||||||
|
|
||||||
|
PROCEDURE INF(): REAL
|
||||||
|
¢®§¢à é ¥â á¯¥æ¨ «ì®¥ ¢¥é¥á⢥®¥ § 票¥ "¡¥áª®¥ç®áâì"
|
||||||
|
|
||||||
|
PROCEDURE GET(a: INTEGER;
|
||||||
|
VAR v: «î¡®© ®á®¢®© ⨯, PROCEDURE, POINTER)
|
||||||
|
v := <20> ¬ïâì[a]
|
||||||
|
|
||||||
|
PROCEDURE PUT(a: INTEGER; x: «î¡®© ®á®¢®© ⨯, PROCEDURE, POINTER)
|
||||||
|
<20> ¬ïâì[a] := x;
|
||||||
|
…᫨ x: BYTE ¨«¨ x: WCHAR, â® § 票¥ x ¡ã¤¥â à áè¨à¥®
|
||||||
|
¤® 32 ¡¨â, ¤«ï § ¯¨á¨ ¡ ©â®¢ ¨á¯®«ì§®¢ âì SYSTEM.PUT8,
|
||||||
|
¤«ï WCHAR -- SYSTEM.PUT16
|
||||||
|
|
||||||
|
PROCEDURE PUT8(a: INTEGER; x: INTEGER, BYTE, CHAR, WCHAR)
|
||||||
|
<20> ¬ïâì[a] := ¬« ¤è¨¥ 8 ¡¨â (x)
|
||||||
|
|
||||||
|
PROCEDURE PUT16(a: INTEGER; x: INTEGER, BYTE, CHAR, WCHAR)
|
||||||
|
<20> ¬ïâì[a] := ¬« ¤è¨¥ 16 ¡¨â (x)
|
||||||
|
|
||||||
|
PROCEDURE MOVE(Source, Dest, n: INTEGER)
|
||||||
|
Š®¯¨àã¥â n ¡ ©â ¯ ¬ï⨠¨§ Source ¢ Dest,
|
||||||
|
®¡« á⨠Source ¨ Dest ¥ ¬®£ãâ ¯¥à¥ªàë¢ âìáï
|
||||||
|
|
||||||
|
PROCEDURE COPY(VAR Source: «î¡®© ⨯; VAR Dest: «î¡®© ⨯; n: INTEGER)
|
||||||
|
Š®¯¨àã¥â n ¡ ©â ¯ ¬ï⨠¨§ Source ¢ Dest.
|
||||||
|
<20>ª¢¨¢ «¥â®
|
||||||
|
SYSTEM.MOVE(SYSTEM.ADR(Source), SYSTEM.ADR(Dest), n)
|
||||||
|
|
||||||
|
PROCEDURE CODE(byte1, byte2,... : INTEGER)
|
||||||
|
‚áâ ¢ª ¬ 訮£® ª®¤ ,
|
||||||
|
byte1, byte2 ... - ª®áâ âë ¢ ¤¨ ¯ §®¥ 0..255,
|
||||||
|
¯à¨¬¥à:
|
||||||
|
SYSTEM.CODE(08BH, 045H, 008H) (* mov eax, dword [ebp + 08h] *)
|
||||||
|
|
||||||
|
’ ª¦¥ ¢ ¬®¤ã«¥ SYSTEM ®¯à¥¤¥«¥ ⨯ CARD16 (2 ¡ ©â ). „«ï ⨯ CARD16 ¥
|
||||||
|
¤®¯ã᪠îâáï ¨ª ª¨¥ ï¢ë¥ ®¯¥à 樨, § ¨áª«î票¥¬ ¯à¨á¢ ¨¢ ¨ï.
|
||||||
|
<EFBFBD>८¡à §®¢ ¨ï 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 ¥«ì§ï ¨á¯®«ì§®¢ âì ¢ ª®áâ âëå ¢ëà ¦¥¨ïå.
|
||||||
|
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
‘¨áâ¥¬ë¥ ä« £¨
|
||||||
|
|
||||||
|
<20>ਠ®¡ê¥¨¨ ¯à®æ¥¤ãàëå ⨯®¢ ¨ £«®¡ «ìëå ¯à®æ¥¤ãà, ¯®á«¥ ª«î祢®£®
|
||||||
|
á«®¢ PROCEDURE ¬®¦¥â ¡ëâì 㪠§ ä« £ ᮣ« è¥¨ï ® ¢ë§®¢¥: [stdcall],
|
||||||
|
[ccall], [ccall16], [windows], [linux]. <20> ¯à¨¬¥à:
|
||||||
|
|
||||||
|
PROCEDURE [ccall] MyProc (x, y, z: INTEGER): INTEGER;
|
||||||
|
|
||||||
|
…᫨ 㪠§ ä« £ [ccall16], â® ¯à¨¨¬ ¥âáï ᮣ« 襨¥ ccall, ® ¯¥à¥¤
|
||||||
|
¢ë§®¢®¬ 㪠§ ⥫ì áâíª ¡ã¤¥â ¢ëà ¢¥ ¯® £à ¨æ¥ 16 ¡ ©â.
|
||||||
|
”« £ [windows] - ᨮ¨¬ ¤«ï [stdcall], [linux] - ᨮ¨¬ ¤«ï [ccall16].
|
||||||
|
‡ ª "-" ¯®á«¥ ¨¬¥¨ ä« £ ([stdcall-], [linux-], ...) ®§ ç ¥â, çâ®
|
||||||
|
१ã«ìâ â ¯à®æ¥¤ãàë ¬®¦® ¨£®à¨à®¢ âì (¥ ¤®¯ã᪠¥âáï ¤«ï ⨯ REAL).
|
||||||
|
|
||||||
|
<20>ਠ®¡ê¥¨¨ ⨯®¢-§ ¯¨á¥©, ¯®á«¥ ª«î祢®£® á«®¢ RECORD ¬®¦¥â ¡ëâì
|
||||||
|
㪠§ ä« £ [noalign]. ”« £ [noalign] ®§ ç ¥â ®âáãâá⢨¥ ¢ëà ¢¨¢ ¨ï ¯®«¥©
|
||||||
|
§ ¯¨á¨. ‡ ¯¨á¨ á á¨áâ¥¬ë¬ ä« £®¬ ¥ ¬®£ãâ ¨¬¥âì ¡ §®¢ë© ⨯ ¨ ¥ ¬®£ãâ ¡ëâì
|
||||||
|
¡ §®¢ë¬¨ ⨯ ¬¨ ¤«ï ¤àã£¨å § ¯¨á¥©.
|
||||||
|
„«ï ¨á¯®«ì§®¢ ¨ï á¨á⥬ëå ä« £®¢, âॡã¥âáï ¨¬¯®àâ¨à®¢ âì SYSTEM.
|
||||||
|
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
Ž¯¥à â®à CASE
|
||||||
|
|
||||||
|
‘¨â ªá¨á ®¯¥à â®à CASE:
|
||||||
|
|
||||||
|
CaseStatement =
|
||||||
|
CASE Expression OF ‘ase {"|" ‘ase}
|
||||||
|
[ELSE StatementSequence] END.
|
||||||
|
Case = [CaseLabelList ":" StatementSequence].
|
||||||
|
CaseLabelList = CaseLabels {"," CaseLabels}.
|
||||||
|
CaseLabels = ConstExpression [".." ConstExpression].
|
||||||
|
|
||||||
|
<20> ¯à¨¬¥à:
|
||||||
|
|
||||||
|
CASE x OF
|
||||||
|
|-1: DoSomething1
|
||||||
|
| 1: DoSomething2
|
||||||
|
| 0: DoSomething3
|
||||||
|
ELSE
|
||||||
|
DoSomething4
|
||||||
|
END
|
||||||
|
|
||||||
|
‚ ¬¥âª å ¢ ਠ⮢ ¬®¦® ¨á¯®«ì§®¢ âì ª®áâ âë¥ ¢ëà ¦¥¨ï, ¢¥âª ELSE
|
||||||
|
¥®¡ï§ ⥫ì . …᫨ § 票¥ x ¥ ᮮ⢥âáâ¢ã¥â ¨ ®¤®¬ã ¢ ਠâã ¨ ELSE
|
||||||
|
®âáãâáâ¢ã¥â, â® ¯à®£à ¬¬ ¯à¥àë¢ ¥âáï á ®è¨¡ª®© ¢à¥¬¥¨ ¢ë¯®«¥¨ï.
|
||||||
|
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
’¨¯ WCHAR
|
||||||
|
|
||||||
|
’¨¯ WCHAR ¤®¡ ¢«¥ ¢ ï§ëª ¤«ï 㤮¡®© ¯®¤¤¥¦ª¨ ®¤ . „«ï ⨯®¢ WCHAR ¨
|
||||||
|
ARRAY OF WCHAR ¤®¯ã᪠îâáï ¢á¥ â¥ ¦¥ ®¯¥à 樨, ª ª ¤«ï ⨯®¢ CHAR ¨
|
||||||
|
ARRAY OF CHAR, § ¨áª«î票¥¬ ¢áâ஥®© ¯à®æ¥¤ãàë CHR, ª®â®à ï ¢®§¢à é ¥â
|
||||||
|
⮫쪮 ⨯ CHAR. „«ï ¯®«ãç¥¨ï § 票ï ⨯ WCHAR, á«¥¤ã¥â ¨á¯®«ì§®¢ âì
|
||||||
|
¯à®æ¥¤ãàã WCHR ¢¬¥áâ® CHR. „«ï ¯à ¢¨«ì®© à ¡®âë á ⨯®¬, ¥®¡å®¤¨¬® á®åà ïâì
|
||||||
|
¨áå®¤ë© ª®¤ ¢ ª®¤¨à®¢ª¥ UTF-8 c BOM.
|
||||||
|
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
<20>஢¥àª ¨ ®åà ⨯ ã«¥¢®£® 㪠§ ⥫ï
|
||||||
|
|
||||||
|
Žà¨£¨ «ì®¥ á®®¡é¥¨¥ ® ï§ëª¥ ¥ ®¯à¥¤¥«ï¥â ¯®¢¥¤¥¨¥ ¯à®£à ¬¬ë ¯à¨
|
||||||
|
¢ë¯®«¥¨¨ ®åà ë p(T) ¨ ¯à®¢¥àª¨ ⨯ p IS T ¯à¨ p = NIL. ‚® ¬®£¨å
|
||||||
|
Oberon-ॠ«¨§ æ¨ïå ¢ë¯®«¥¨¥ â ª®© ®¯¥à 樨 ¯à¨¢®¤¨â ª ®è¨¡ª¥ ¢à¥¬¥¨
|
||||||
|
¢ë¯®«¥¨ï. ‚ ¤ ®© ॠ«¨§ 樨 ®åà ⨯ ã«¥¢®£® 㪠§ â¥«ï ¥ ¯à¨¢®¤¨â ª
|
||||||
|
®è¨¡ª¥, ¯à®¢¥àª ⨯ ¤ ¥â १ã«ìâ â FALSE. ‚ à拉 á«ãç ¥¢ íâ® ¯®§¢®«ï¥â
|
||||||
|
§ ç¨â¥«ì® ᮪à â¨âì ç áâ®â㠯ਬ¥¥¨ï ®åà ë ⨯ .
|
||||||
|
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
„®¯®«¨â¥«ìë¥ áâ ¤ àâë¥ ¯à®æ¥¤ãàë
|
||||||
|
|
||||||
|
DISPOSE (VAR v: «î¡®©_㪠§ ⥫ì)
|
||||||
|
Žá¢®¡®¦¤ ¥â ¯ ¬ïâì, ¢ë¤¥«¥ãî ¯à®æ¥¤ãன NEW ¤«ï
|
||||||
|
¤¨ ¬¨ç¥áª®© ¯¥à¥¬¥®© v^, ¨ ¯à¨á¢ ¨¢ ¥â ¯¥à¥¬¥®© v
|
||||||
|
§ 票¥ NIL.
|
||||||
|
|
||||||
|
COPY (x: ARRAY OF CHAR/WCHAR; VAR v: ARRAY OF CHAR/WCHAR);
|
||||||
|
v := x;
|
||||||
|
…᫨ LEN(v) < LEN(x), â® áâப x ¡ã¤¥â ᪮¯¨à®¢
|
||||||
|
¥ ¯®«®áâìî
|
||||||
|
|
||||||
|
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/WCHAR): INTEGER
|
||||||
|
„«¨ 0X-§ ¢¥à襮© áâப¨ s, ¡¥§ ãç¥â ᨬ¢®« 0X.
|
||||||
|
…᫨ ᨬ¢®« 0X ®âáãâáâ¢ã¥â, äãªæ¨ï ¢®§¢à é ¥â ¤«¨ã
|
||||||
|
¬ áᨢ s. s ¥ ¬®¦¥â ¡ëâì ª®áâ ⮩.
|
||||||
|
|
||||||
|
WCHR (n: INTEGER): WCHAR
|
||||||
|
<20>८¡à §®¢ ¨¥ ⨯ , «®£¨ç® CHR(n: INTEGER): CHAR
|
||||||
|
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
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
|
||||||
|
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
ˆ¬¯®àâ¨à®¢ ë¥ ¯à®æ¥¤ãàë
|
||||||
|
|
||||||
|
‘¨â ªá¨á ¨¬¯®àâ :
|
||||||
|
|
||||||
|
PROCEDURE [callconv, "library", "function"] proc_name (FormalParam): Type;
|
||||||
|
|
||||||
|
- callconv -- ᮣ« 襨¥ ® ¢ë§®¢¥
|
||||||
|
- "library" -- ¨¬ï ä ©« ¤¨ ¬¨ç¥áª®© ¡¨¡«¨®â¥ª¨
|
||||||
|
- "function" -- ¨¬ï ¨¬¯®àâ¨à㥬®© ¯à®æ¥¤ãàë
|
||||||
|
|
||||||
|
¯à¨¬¥à:
|
||||||
|
|
||||||
|
PROCEDURE [windows, "kernel32.dll", "ExitProcess"] exit (code: INTEGER);
|
||||||
|
|
||||||
|
PROCEDURE [stdcall, "Console.obj", "con_exit"] exit (bCloseWindow: BOOLEAN);
|
||||||
|
|
||||||
|
‚ ª®æ¥ ®¡ê¥¨ï ¬®¦¥â ¡ëâì ¤®¡ ¢«¥® (¥®¡ï§ ⥫ì®) "END proc_name;"
|
||||||
|
|
||||||
|
Ž¡ê¥¨ï ¨¬¯®àâ¨à®¢ ëå ¯à®æ¥¤ãà ¤®«¦ë à ᯮ« £ âìáï ¢ £«®¡ «ì®©
|
||||||
|
®¡« á⨠¢¨¤¨¬®á⨠¬®¤ã«ï ¯®á«¥ ®¡ê¥¨ï ¯¥à¥¬¥ëå, ¢¬¥áâ¥ á ®¡ê¥¨¥¬
|
||||||
|
"®¡ëçëå" ¯à®æ¥¤ãà, ®â ª®â®àëå ¨¬¯®àâ¨à®¢ ë¥ ®â«¨ç îâáï ⮫쪮 ®âáãâá⢨¥¬
|
||||||
|
⥫ ¯à®æ¥¤ãàë. ‚ ®á⠫쮬, ª â ª¨¬ ¯à®æ¥¤ãà ¬ ¯à¨¬¥¨¬ë ⥠¦¥ ¯à ¢¨« :
|
||||||
|
¨å ¬®¦® ¢ë§¢ âì, ¯à¨á¢®¨âì ¯à®æ¥¤ãன ¯¥à¥¬¥®© ¨«¨ ¯®«ãç¨âì ¤à¥á.
|
||||||
|
|
||||||
|
’ ª ª ª ¨¬¯®àâ¨à®¢ ï ¯à®æ¥¤ãà ¢á¥£¤ ¨¬¥¥â ¥ 㪠§ ¨¥ ᮣ« è¥¨ï ®
|
||||||
|
¢ë§®¢¥, ⮠ᮢ¬¥áâ¨¬ë© ¯à®æ¥¤ãàë© â¨¯ ⮦¥ ¤®«¦¥ ¡ëâì ®¡ê¥ á 㪠§ ¨¥¬
|
||||||
|
ᮣ« è¥¨ï ® ¢ë§®¢¥:
|
||||||
|
|
||||||
|
VAR
|
||||||
|
ExitProcess: PROCEDURE [windows] (code: INTEGER);
|
||||||
|
con_exit: PROCEDURE [stdcall] (bCloseWindow: BOOLEAN);
|
||||||
|
|
||||||
|
‚ KolibriOS ¨¬¯®àâ¨à®¢ âì ¯à®æ¥¤ãàë ¬®¦® ⮫쪮 ¨§ ¡¨¡«¨®â¥ª, à §¬¥é¥ëå
|
||||||
|
¢ /rd/1/lib. ˆ¬¯®àâ¨à®¢ âì ¨ ¢ë§ë¢ âì äãªæ¨¨ ¨¨æ¨ «¨§ 樨 ¡¨¡«¨®â¥ª
|
||||||
|
(lib_init, START) ¯à¨ í⮬ ¥ 㦮.
|
||||||
|
|
||||||
|
„«ï Linux, ¨¬¯®àâ¨à®¢ ë¥ ¯à®æ¥¤ãàë ¥ ॠ«¨§®¢ ë.
|
||||||
|
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
‘ªàëâë¥ ¯ à ¬¥âàë ¯à®æ¥¤ãà
|
||||||
|
|
||||||
|
<20>¥ª®â®àë¥ ¯à®æ¥¤ãàë ¬®£ãâ ¨¬¥âì áªàëâë¥ ¯ à ¬¥âàë, ®¨ ®âáãâáâ¢ãîâ ¢ ᯨ᪥
|
||||||
|
ä®à¬ «ìëå ¯ à ¬¥â஢, ® ãç¨âë¢ îâáï ª®¬¯¨«ïâ®à®¬ ¯à¨ âà á«ï樨 ¢ë§®¢®¢.
|
||||||
|
<EFBFBD>â® ¢®§¬®¦® ¢ á«¥¤ãîé¨å á«ãç ïå:
|
||||||
|
|
||||||
|
1. <20>à®æ¥¤ãà ¨¬¥¥â ä®à¬ «ìë© ¯ à ¬¥âà ®âªàëâë© ¬ áᨢ:
|
||||||
|
PROCEDURE Proc (x: ARRAY OF ARRAY OF REAL);
|
||||||
|
‚맮¢ âà ᫨àã¥âáï â ª:
|
||||||
|
Proc(LEN(x), LEN(x[0]), SYSTEM.ADR(x))
|
||||||
|
2. <20>à®æ¥¤ãà ¨¬¥¥â ä®à¬ «ìë© ¯ à ¬¥âà-¯¥à¥¬¥ãî ⨯ RECORD:
|
||||||
|
PROCEDURE Proc (VAR x: Rec);
|
||||||
|
‚맮¢ âà ᫨àã¥âáï â ª:
|
||||||
|
Proc(SYSTEM.TYPEID(Rec), SYSTEM.ADR(x))
|
||||||
|
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
Œ®¤ã«ì RTL
|
||||||
|
|
||||||
|
‚ᥠ¯à®£à ¬¬ë ¥ï¢® ¨á¯®«ì§ãîâ ¬®¤ã«ì RTL. Š®¬¯¨«ïâ®à âà ᫨àã¥â
|
||||||
|
¥ª®â®àë¥ ®¯¥à 樨 (¯à®¢¥àª ¨ ®åà ⨯ , áà ¢¥¨¥ áâப, á®®¡é¥¨ï ®¡
|
||||||
|
®è¨¡ª å ¢à¥¬¥¨ ¢ë¯®«¥¨ï ¨ ¤à.) ª ª ¢ë§®¢ë ¯à®æ¥¤ãà í⮣® ¬®¤ã«ï. <20>¥
|
||||||
|
á«¥¤ã¥â  ¢ë§ë¢ âì í⨠¯à®æ¥¤ãàë, § ¨áª«î票¥¬ ¯à®æ¥¤ãàë SetDll,
|
||||||
|
¥á«¨ ¯à¨«®¦¥¨¥ ª®¬¯¨«¨àã¥âáï ª ª Windows DLL:
|
||||||
|
|
||||||
|
PROCEDURE SetDll
|
||||||
|
(process_detach, thread_detach, thread_attach: DLL_ENTRY);
|
||||||
|
£¤¥ TYPE DLL_ENTRY =
|
||||||
|
PROCEDURE (hinstDLL, fdwReason, lpvReserved: INTEGER);
|
||||||
|
|
||||||
|
SetDll § ç ¥â ¯à®æ¥¤ãàë process_detach, thread_detach, thread_attach
|
||||||
|
¢ë§ë¢ ¥¬ë¬¨ ¯à¨
|
||||||
|
- ¢ë£à㧪¥ dll-¡¨¡«¨®â¥ª¨ (process_detach)
|
||||||
|
- ᮧ¤ ¨¨ ®¢®£® ¯®â®ª (thread_attach)
|
||||||
|
- ã¨ç⮦¥¨¨ ¯®â®ª (thread_detach)
|
||||||
|
|
||||||
|
„«ï ¯à®ç¨å ⨯®¢ ¯à¨«®¦¥¨©, ¢ë§®¢ ¯à®æ¥¤ãàë SetDll ¥ ¢«¨ï¥â
|
||||||
|
¯®¢¥¤¥¨¥ ¯à®£à ¬¬ë.
|
||||||
|
‘®®¡é¥¨ï ®¡ ®è¨¡ª å ¢à¥¬¥¨ ¢ë¯®«¥¨ï ¢ë¢®¤ïâáï ¢ ¤¨ «®£®¢ëå ®ª å
|
||||||
|
(Windows), ¢ â¥à¬¨ « (Linux), ¤®áªã ®â« ¤ª¨ (KolibriOS).
|
||||||
|
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
Œ®¤ã«ì API
|
||||||
|
|
||||||
|
‘ãé¥áâ¢ãî⠥᪮«ìª® ॠ«¨§ 権 ¬®¤ã«ï API (¤«ï à §«¨çëå Ž‘).
|
||||||
|
Š ª ¨ ¬®¤ã«ì RTL, ¬®¤ã«ì API ¥ ¯à¥¤ § ç¥ ¤«ï ¯àאַ£® ¨á¯®«ì§®¢ ¨ï.
|
||||||
|
Ž ®¡¥á¯¥ç¨¢ ¥â á¢ï§ì RTL á Ž‘.
|
||||||
|
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
ƒ¥¥à æ¨ï ¨á¯®«ï¥¬ëå ä ©«®¢ DLL
|
||||||
|
|
||||||
|
<20> §à¥è ¥âáï íªá¯®àâ¨à®¢ âì ⮫쪮 ¯à®æ¥¤ãàë. „«ï í⮣®, ¯à®æ¥¤ãà ¤®«¦
|
||||||
|
室¨âìáï ¢ £« ¢®¬ ¬®¤ã«¥ ¯à®£à ¬¬ë, ¨ ¥¥ ¨¬ï ¤®«¦® ¡ëâì ®â¬¥ç¥® ᨬ¢®«®¬
|
||||||
|
íªá¯®àâ ("*"). KolibriOS DLL ¢á¥£¤ íªá¯®àâ¨àãîâ ¨¤¥â¨ä¨ª â®àë "version"
|
||||||
|
(¢¥àá¨ï ¯à®£à ¬¬ë) ¨ "lib_init" - ¤à¥á ¯à®æ¥¤ãàë ¨¨æ¨ «¨§ 樨 DLL:
|
||||||
|
|
||||||
|
PROCEDURE [stdcall] lib_init (): INTEGER
|
||||||
|
|
||||||
|
<EFBFBD>â ¯à®æ¥¤ãà ¤®«¦ ¡ëâì ¢ë§¢ ¯¥à¥¤ ¨á¯®«ì§®¢ ¨¥¬ DLL.
|
||||||
|
<EFBFBD>à®æ¥¤ãà ¢á¥£¤ ¢®§¢à é ¥â 1.
|
||||||
|
|
||||||
|
„«ï Linux, £¥¥à æ¨ï ¤¨ ¬¨ç¥áª¨å ¡¨¡«¨®â¥ª ¥ ॠ«¨§®¢ .
|
563
programs/develop/oberon07/Docs/KOSLib866.txt
Normal file
563
programs/develop/oberon07/Docs/KOSLib866.txt
Normal file
@ -0,0 +1,563 @@
|
|||||||
|
==============================================================================
|
||||||
|
|
||||||
|
<20>¨¡«¨®â¥ª (KolibriOS)
|
||||||
|
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
MODULE Out - ª®á®«ìë© ¢ë¢®¤
|
||||||
|
|
||||||
|
PROCEDURE Open
|
||||||
|
ä®à¬ «ì® ®âªàë¢ ¥â ª®á®«ìë© ¢ë¢®¤
|
||||||
|
|
||||||
|
PROCEDURE Int(x, width: INTEGER)
|
||||||
|
¢ë¢®¤ 楫®£® ç¨á« x;
|
||||||
|
width - ª®«¨ç¥á⢮ § ª®¬¥áâ, ¨á¯®«ì§ã¥¬ëå ¤«ï ¢ë¢®¤
|
||||||
|
|
||||||
|
PROCEDURE Real(x: REAL; width: INTEGER)
|
||||||
|
¢ë¢®¤ ¢¥é¥á⢥®£® ç¨á« x ¢ ¯« ¢ î饬 ä®à¬ â¥;
|
||||||
|
width - ª®«¨ç¥á⢮ § ª®¬¥áâ, ¨á¯®«ì§ã¥¬ëå ¤«ï ¢ë¢®¤
|
||||||
|
|
||||||
|
PROCEDURE Char(x: CHAR)
|
||||||
|
¢ë¢®¤ ᨬ¢®« x
|
||||||
|
|
||||||
|
PROCEDURE FixReal(x: REAL; 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 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
|
||||||
|
|
||||||
|
|
||||||
|
PROCEDURE IsNan(x: REAL): BOOLEAN
|
||||||
|
¢®§¢à é ¥â TRUE, ¥á«¨ x - ¥ ç¨á«®
|
||||||
|
|
||||||
|
PROCEDURE IsInf(x: REAL): BOOLEAN
|
||||||
|
¢®§¢à é ¥â TRUE, ¥á«¨ x - ¡¥áª®¥ç®áâì
|
||||||
|
|
||||||
|
PROCEDURE sqrt(x: REAL): REAL
|
||||||
|
ª¢ ¤à âë© ª®à¥ì x
|
||||||
|
|
||||||
|
PROCEDURE exp(x: REAL): REAL
|
||||||
|
íªá¯®¥â x
|
||||||
|
|
||||||
|
PROCEDURE ln(x: REAL): REAL
|
||||||
|
âãà «ìë© «®£ à¨ä¬ x
|
||||||
|
|
||||||
|
PROCEDURE sin(x: REAL): REAL
|
||||||
|
á¨ãá x
|
||||||
|
|
||||||
|
PROCEDURE cos(x: REAL): REAL
|
||||||
|
ª®á¨ãá x
|
||||||
|
|
||||||
|
PROCEDURE tan(x: REAL): REAL
|
||||||
|
â £¥á x
|
||||||
|
|
||||||
|
PROCEDURE arcsin(x: REAL): REAL
|
||||||
|
àªá¨ãá x
|
||||||
|
|
||||||
|
PROCEDURE arccos(x: REAL): REAL
|
||||||
|
પ®á¨ãá x
|
||||||
|
|
||||||
|
PROCEDURE arctan(x: REAL): REAL
|
||||||
|
àªâ £¥á x
|
||||||
|
|
||||||
|
PROCEDURE arctan2(y, x: REAL): REAL
|
||||||
|
àªâ £¥á y/x
|
||||||
|
|
||||||
|
PROCEDURE power(base, exponent: REAL): REAL
|
||||||
|
¢®§¢¥¤¥¨¥ ç¨á« base ¢ á⥯¥ì exponent
|
||||||
|
|
||||||
|
PROCEDURE log(base, x: REAL): REAL
|
||||||
|
«®£ à¨ä¬ x ¯® ®á®¢ ¨î base
|
||||||
|
|
||||||
|
PROCEDURE sinh(x: REAL): REAL
|
||||||
|
£¨¯¥à¡®«¨ç¥áª¨© á¨ãá x
|
||||||
|
|
||||||
|
PROCEDURE cosh(x: REAL): REAL
|
||||||
|
£¨¯¥à¡®«¨ç¥áª¨© ª®á¨ãá x
|
||||||
|
|
||||||
|
PROCEDURE tanh(x: REAL): REAL
|
||||||
|
£¨¯¥à¡®«¨ç¥áª¨© â £¥á x
|
||||||
|
|
||||||
|
PROCEDURE arcsinh(x: REAL): REAL
|
||||||
|
®¡à âë© £¨¯¥à¡®«¨ç¥áª¨© á¨ãá x
|
||||||
|
|
||||||
|
PROCEDURE arccosh(x: REAL): REAL
|
||||||
|
®¡à âë© £¨¯¥à¡®«¨ç¥áª¨© ª®á¨ãá x
|
||||||
|
|
||||||
|
PROCEDURE arctanh(x: REAL): REAL
|
||||||
|
®¡à âë© £¨¯¥à¡®«¨ç¥áª¨© â £¥á x
|
||||||
|
|
||||||
|
PROCEDURE round(x: REAL): REAL
|
||||||
|
®ªà㣫¥¨¥ x ¤® ¡«¨¦ ©è¥£® 楫®£®
|
||||||
|
|
||||||
|
PROCEDURE frac(x: REAL): REAL;
|
||||||
|
¤à®¡ ï ç áâì ç¨á« x
|
||||||
|
|
||||||
|
PROCEDURE floor(x: REAL): REAL
|
||||||
|
¨¡®«ì襥 楫®¥ ç¨á«® (¯à¥¤áâ ¢«¥¨¥ ª ª REAL),
|
||||||
|
¥ ¡®«ìè¥ x: floor(1.2) = 1.0
|
||||||
|
|
||||||
|
PROCEDURE ceil(x: REAL): REAL
|
||||||
|
¨¬¥ì襥 楫®¥ ç¨á«® (¯à¥¤áâ ¢«¥¨¥ ª ª REAL),
|
||||||
|
¥ ¬¥ìè¥ x: ceil(1.2) = 2.0
|
||||||
|
|
||||||
|
PROCEDURE sgn(x: REAL): 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 (®è¨¡ª ). <20>ਠ¥®¡å®¤¨¬®áâ¨, à ᯠª®¢ë¢ ¥â
|
||||||
|
ä ©« (kunpack).
|
||||||
|
|
||||||
|
PROCEDURE GetFileInfo(FName: ARRAY OF CHAR; VAR Info: rFD): BOOLEAN
|
||||||
|
‡ ¯¨áë¢ ¥â áâàãªâãàã ¡«®ª ¤ ëå ¢å®¤ ª â «®£ ¤«ï ä ©«
|
||||||
|
¨«¨ ¯ ¯ª¨ á ¨¬¥¥¬ FName ¢ ¯ à ¬¥âà Info.
|
||||||
|
<20>ਠ®è¨¡ª¥ ¢®§¢à é ¥â 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
|
||||||
|
|
||||||
|
<20>à®æ¥¤ãàë ¢®§¢à é îâ 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 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
|
||||||
|
|
||||||
|
<20>à®æ¥¤ãàë ¢®§¢à é îâ 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 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.0E5
|
||||||
|
|
||||||
|
PROCEDURE Now(VAR Year, Month, Day, Hour, Min, Sec: INTEGER)
|
||||||
|
§ ¯¨áë¢ ¥â ¢ ¯ à ¬¥âàë ª®¬¯®¥âë ⥪ã饩 á¨á⥬®© ¤ âë ¨
|
||||||
|
¢à¥¬¥¨
|
||||||
|
|
||||||
|
PROCEDURE Encode(Year, Month, Day, Hour, Min, Sec: INTEGER): REAL
|
||||||
|
¢®§¢à é ¥â ¤ âã, ¯®«ãç¥ãî ¨§ ª®¬¯®¥â®¢
|
||||||
|
Year, Month, Day, Hour, Min, Sec;
|
||||||
|
¯à¨ ®è¨¡ª¥ ¢®§¢à é ¥â ª®áâ âã ERR = -7.0D5
|
||||||
|
|
||||||
|
PROCEDURE Decode(Date: REAL; 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
|
||||||
|
<20>¥à¥à á¯à¥¤¥«ï¥â ¡«®ª ¯ ¬ïâ¨,
|
||||||
|
ptr - ¤à¥á à ¥¥ ¢ë¤¥«¥®£® ¡«®ª ,
|
||||||
|
size - ®¢ë© à §¬¥à,
|
||||||
|
¢®§¢à é ¥â 㪠§ â¥«ì ¯¥à¥à á¯à¥¤¥«¥ë© ¡«®ª,
|
||||||
|
0 ¯à¨ ®è¨¡ª¥
|
||||||
|
|
||||||
|
PROCEDURE GetCommandLine(): INTEGER
|
||||||
|
‚®§¢à é ¥â ¤à¥á áâப¨ ¯ à ¬¥â஢
|
||||||
|
|
||||||
|
PROCEDURE GetName(): INTEGER
|
||||||
|
‚®§¢à é ¥â ¤à¥á áâப¨ á ¨¬¥¥¬ ¯à®£à ¬¬ë
|
||||||
|
|
||||||
|
PROCEDURE LoadLib(name: ARRAY OF CHAR): INTEGER
|
||||||
|
‡ £à㦠¥â DLL á ¯®«ë¬ ¨¬¥¥¬ name. ‚®§¢à é ¥â ¤à¥á â ¡«¨æë
|
||||||
|
íªá¯®àâ . <20>ਠ®è¨¡ª¥ ¢®§¢à é ¥â 0.
|
||||||
|
|
||||||
|
PROCEDURE GetProcAdr(name: ARRAY OF CHAR; lib: INTEGER): INTEGER
|
||||||
|
name - ¨¬ï ¯à®æ¥¤ãàë
|
||||||
|
lib - ¤à¥á â ¡«¨æë íªá¯®àâ DLL
|
||||||
|
‚®§¢à é ¥â ¤à¥á ¯à®æ¥¤ãàë. <20>ਠ®è¨¡ª¥ ¢®§¢à é ¥â 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 㪠§ ⥫ì èà¨äâ
|
||||||
|
<20>à¨á¢ ¨¢ ¥â ¯¥à¥¬¥®© 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
|
||||||
|
------------------------------------------------------------------------------
|
Loading…
Reference in New Issue
Block a user