forked from KolibriOS/kolibrios
4f802a86ba
git-svn-id: svn://kolibrios.org@7696 a494cfbc-eb01-0410-851d-a64ba20cac60
566 lines
22 KiB
Plaintext
566 lines
22 KiB
Plaintext
==============================================================================
|
||
|
||
<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.141592653589793E+00
|
||
e = 2.718281828459045E+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 arsinh(x: REAL): REAL
|
||
®¡à âë© £¨¯¥à¡®«¨ç¥áª¨© á¨ãá x
|
||
|
||
PROCEDURE arcosh(x: REAL): REAL
|
||
®¡à âë© £¨¯¥à¡®«¨ç¥áª¨© ª®á¨ãá x
|
||
|
||
PROCEDURE artanh(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
|
||
|
||
PROCEDURE fact(n: INTEGER): REAL
|
||
ä ªâ®à¨ « n
|
||
|
||
------------------------------------------------------------------------------
|
||
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 WChar(F: File.FS; VAR x: WCHAR): 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 WChar(F: File.FS; x: WCHAR): 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.0E5
|
||
|
||
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
|
||
------------------------------------------------------------------------------ |