============================================================================== ¨¡«¨®â¥ª (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 (®è¨¡ª ). ਠ¥®¡å®¤¨¬®áâ¨, à ᯠª®¢ë¢ ¥â ä ©« (kunpack). PROCEDURE GetFileInfo(FName: ARRAY OF CHAR; VAR Info: rFD): BOOLEAN ‡ ¯¨áë¢ ¥â áâàãªâãàã ¡«®ª ¤ ëå ¢å®¤ ª â «®£ ¤«ï ä ©« ¨«¨ ¯ ¯ª¨ á ¨¬¥¥¬ FName ¢ ¯ à ¬¥âà Info. ਠ®è¨¡ª¥ ¢®§¢à é ¥â FALSE. PROCEDURE Exists(FName: ARRAY OF CHAR): BOOLEAN ¢®§¢à é ¥â TRUE, ¥á«¨ ä ©« á ¨¬¥¥¬ FName áãé¥áâ¢ã¥â PROCEDURE Close(VAR F: FS) ®á¢®¡®¦¤ ¥â ¯ ¬ïâì, ¢ë¤¥«¥ãî ¤«ï ¨ä®à¬ 樮®© áâàãªâãàë ä ©« F ¨ ¯à¨á¢ ¨¢ ¥â F § 票¥ NIL PROCEDURE Open(FName: ARRAY OF CHAR): FS ¢®§¢à é ¥â 㪠§ â¥«ì ¨ä®à¬ 樮ãî áâàãªâãàã ä ©« á ¨¬¥¥¬ FName, ¯à¨ ®è¨¡ª¥ ¢®§¢à é ¥â NIL PROCEDURE Delete(FName: ARRAY OF CHAR): BOOLEAN 㤠«ï¥â ä ©« á ¨¬¥¥¬ FName, ¯à¨ ®è¨¡ª¥ ¢®§¢à é ¥â FALSE PROCEDURE Seek(F: FS; Offset, Origin: INTEGER): INTEGER ãáâ ¢«¨¢ ¥â ¯®§¨æ¨î ç⥨ï-§ ¯¨á¨ ä ©« F Offset, ®â®á¨â¥«ì® Origin = (SEEK_BEG - ç «® ä ©« , SEEK_CUR - ⥪ãé ï ¯®§¨æ¨ï, SEEK_END - ª®¥æ ä ©« ), ¢®§¢à é ¥â ¯®§¨æ¨î ®â®á¨â¥«ì® ç « ä ©« , ¯à¨¬¥à: Seek(F, 0, SEEK_END) ãáâ ¢«¨¢ ¥â ¯®§¨æ¨î ª®¥æ ä ©« ¨ ¢®§¢à é ¥â ¤«¨ã ä ©« ; ¯à¨ ®è¨¡ª¥ ¢®§¢à é ¥â -1 PROCEDURE Read(F: FS; Buffer, Count: INTEGER): INTEGER —¨â ¥â ¤ ë¥ ¨§ ä ©« ¢ ¯ ¬ïâì. F - 㪠§ â¥«ì ¨ä®à¬ 樮ãî áâàãªâãàã ä ©« , Buffer - ¤à¥á ®¡« á⨠¯ ¬ïâ¨, Count - ª®«¨ç¥á⢮ ¡ ©â, ª®â®à®¥ âॡã¥âáï ¯à®ç¨â âì ¨§ ä ©« ; ¢®§¢à é ¥â ª®«¨ç¥á⢮ ¡ ©â, ª®â®à®¥ ¡ë«® ¯à®ç¨â ® ¨ ᮮ⢥âáâ¢ãî騬 ®¡à §®¬ ¨§¬¥ï¥â ¯®§¨æ¨î ç⥨ï/§ ¯¨á¨ ¢ ¨ä®à¬ 樮®© áâàãªâãॠF. PROCEDURE Write(F: FS; Buffer, Count: INTEGER): INTEGER ‡ ¯¨áë¢ ¥â ¤ ë¥ ¨§ ¯ ¬ï⨠¢ ä ©«. F - 㪠§ â¥«ì ¨ä®à¬ 樮ãî áâàãªâãàã ä ©« , Buffer - ¤à¥á ®¡« á⨠¯ ¬ïâ¨, Count - ª®«¨ç¥á⢮ ¡ ©â, ª®â®à®¥ âॡã¥âáï § ¯¨á âì ¢ ä ©«; ¢®§¢à é ¥â ª®«¨ç¥á⢮ ¡ ©â, ª®â®à®¥ ¡ë«® § ¯¨á ® ¨ ᮮ⢥âáâ¢ãî騬 ®¡à §®¬ ¨§¬¥ï¥â ¯®§¨æ¨î ç⥨ï/§ ¯¨á¨ ¢ ¨ä®à¬ 樮®© áâàãªâãॠF. PROCEDURE Create(FName: ARRAY OF CHAR): FS ᮧ¤ ¥â ®¢ë© ä ©« á ¨¬¥¥¬ FName (¯®«®¥ ¨¬ï), ¢®§¢à é ¥â 㪠§ â¥«ì ¨ä®à¬ 樮ãî áâàãªâãàã ä ©« , ¯à¨ ®è¨¡ª¥ ¢®§¢à é ¥â NIL PROCEDURE CreateDir(DirName: ARRAY OF CHAR): BOOLEAN ᮧ¤ ¥â ¯ ¯ªã á ¨¬¥¥¬ DirName, ¢á¥ ¯à®¬¥¦ãâ®çë¥ ¯ ¯ª¨ ¤®«¦ë áãé¥á⢮¢ âì, ¯à¨ ®è¨¡ª¥ ¢®§¢à é ¥â FALSE PROCEDURE DeleteDir(DirName: ARRAY OF CHAR): BOOLEAN 㤠«ï¥â ¯ãáâãî ¯ ¯ªã á ¨¬¥¥¬ DirName, ¯à¨ ®è¨¡ª¥ ¢®§¢à é ¥â FALSE PROCEDURE DirExists(DirName: ARRAY OF CHAR): BOOLEAN ¢®§¢à é ¥â TRUE, ¥á«¨ ¯ ¯ª á ¨¬¥¥¬ DirName áãé¥áâ¢ã¥â ------------------------------------------------------------------------------ MODULE Read - ç⥨¥ ®á®¢ëå ⨯®¢ ¤ ëå ¨§ ä ©« F à®æ¥¤ãàë ¢®§¢à é îâ TRUE ¢ á«ãç ¥ ãᯥ让 ®¯¥à 樨 çâ¥¨ï ¨ ᮮ⢥âáâ¢ãî騬 ®¡à §®¬ ¨§¬¥ïîâ ¯®§¨æ¨î ç⥨ï/§ ¯¨á¨ ¢ ¨ä®à¬ 樮®© áâàãªâãॠF PROCEDURE Char(F: File.FS; VAR x: CHAR): BOOLEAN PROCEDURE Int(F: File.FS; VAR x: INTEGER): BOOLEAN PROCEDURE Real(F: File.FS; VAR x: REAL): BOOLEAN PROCEDURE Boolean(F: File.FS; VAR x: BOOLEAN): BOOLEAN PROCEDURE Set(F: File.FS; VAR x: SET): BOOLEAN PROCEDURE Card16(F: File.FS; VAR x: SYSTEM.CARD16): BOOLEAN ------------------------------------------------------------------------------ MODULE Write - § ¯¨áì ®á®¢ëå ⨯®¢ ¤ ëå ¢ ä ©« F à®æ¥¤ãàë ¢®§¢à é îâ TRUE ¢ á«ãç ¥ ãᯥ让 ®¯¥à 樨 § ¯¨á¨ ¨ ᮮ⢥âáâ¢ãî騬 ®¡à §®¬ ¨§¬¥ïîâ ¯®§¨æ¨î ç⥨ï/§ ¯¨á¨ ¢ ¨ä®à¬ 樮®© áâàãªâãॠF PROCEDURE Char(F: File.FS; x: CHAR): BOOLEAN PROCEDURE Int(F: File.FS; x: INTEGER): BOOLEAN PROCEDURE Real(F: File.FS; x: REAL): BOOLEAN PROCEDURE 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 ¥à¥à á¯à¥¤¥«ï¥â ¡«®ª ¯ ¬ïâ¨, ptr - ¤à¥á à ¥¥ ¢ë¤¥«¥®£® ¡«®ª , size - ®¢ë© à §¬¥à, ¢®§¢à é ¥â 㪠§ â¥«ì ¯¥à¥à á¯à¥¤¥«¥ë© ¡«®ª, 0 ¯à¨ ®è¨¡ª¥ PROCEDURE GetCommandLine(): INTEGER ‚®§¢à é ¥â ¤à¥á áâப¨ ¯ à ¬¥â஢ PROCEDURE GetName(): INTEGER ‚®§¢à é ¥â ¤à¥á áâப¨ á ¨¬¥¥¬ ¯à®£à ¬¬ë PROCEDURE LoadLib(name: ARRAY OF CHAR): INTEGER ‡ £à㦠¥â DLL á ¯®«ë¬ ¨¬¥¥¬ name. ‚®§¢à é ¥â ¤à¥á â ¡«¨æë íªá¯®àâ . ਠ®è¨¡ª¥ ¢®§¢à é ¥â 0. PROCEDURE GetProcAdr(name: ARRAY OF CHAR; lib: INTEGER): INTEGER name - ¨¬ï ¯à®æ¥¤ãàë lib - ¤à¥á â ¡«¨æë íªá¯®àâ DLL ‚®§¢à é ¥â ¤à¥á ¯à®æ¥¤ãàë. ਠ®è¨¡ª¥ ¢®§¢à é ¥â 0. ------------------------------------------------------------------------------ MODULE ColorDlg - à ¡®â á ¤¨ «®£®¬ "Color Dialog" TYPE Dialog = POINTER TO RECORD (* áâàãªâãà ¤¨ «®£ *) status: INTEGER (* á®áâ®ï¨¥ ¤¨ «®£ : 0 - ¯®«ì§®¢ â¥«ì ¦ « Cancel 1 - ¯®«ì§®¢ â¥«ì ¦ « OK 2 - ¤¨ «®£ ®âªàëâ *) color: INTEGER (* ¢ë¡à ë© æ¢¥â *) END PROCEDURE Create(draw_window: DRAW_WINDOW): Dialog ᮧ¤ âì ¤¨ «®£ draw_window - ¯à®æ¥¤ãà ¯¥à¥à¨á®¢ª¨ ®á®¢®£® ®ª (TYPE DRAW_WINDOW = PROCEDURE); ¯à®æ¥¤ãà ¢®§¢à é ¥â 㪠§ ⥫ì áâàãªâãàã ¤¨ «®£ PROCEDURE Show(cd: Dialog) ¯®ª § âì ¤¨ «®£ cd - 㪠§ ⥫ì áâàãªâãàã ¤¨ «®£ , ª®â®àë© ¡ë« ᮧ¤ à ¥¥ ¯à®æ¥¤ãன Create PROCEDURE Destroy(VAR cd: Dialog) ã¨ç⮦¨âì ¤¨ «®£ cd - 㪠§ ⥫ì áâàãªâãàã ¤¨ «®£ ------------------------------------------------------------------------------ MODULE OpenDlg - à ¡®â á ¤¨ «®£®¬ "Open Dialog" TYPE Dialog = POINTER TO RECORD (* áâàãªâãà ¤¨ «®£ *) status: INTEGER (* á®áâ®ï¨¥ ¤¨ «®£ : 0 - ¯®«ì§®¢ â¥«ì ¦ « Cancel 1 - ¯®«ì§®¢ â¥«ì ¦ « OK 2 - ¤¨ «®£ ®âªàëâ *) FileName: ARRAY 4096 OF CHAR (* ¨¬ï ¢ë¡à ®£® ä ©« *) FilePath: ARRAY 4096 OF CHAR (* ¯®«®¥ ¨¬ï ¢ë¡à ®£® ä ©« *) END PROCEDURE Create(draw_window: DRAW_WINDOW; type: INTEGER; def_path, filter: ARRAY OF CHAR): Dialog ᮧ¤ âì ¤¨ «®£ draw_window - ¯à®æ¥¤ãà ¯¥à¥à¨á®¢ª¨ ®á®¢®£® ®ª (TYPE DRAW_WINDOW = PROCEDURE) type - ⨯ ¤¨ «®£ 0 - ®âªàëâì 1 - á®åà ¨âì 2 - ¢ë¡à âì ¯ ¯ªã def_path - ¯ãâì ¯® 㬮«ç ¨î, ¯ ¯ª def_path ¡ã¤¥â ®âªàë⠯ਠ¯¥à¢®¬ § ¯ã᪥ ¤¨ «®£ filter - ¢ áâப¥ § ¯¨á ® ¯¥à¥ç¨á«¥¨¥ à áè¨à¥¨© ä ©«®¢, ª®â®àë¥ ¡ã¤ãâ ¯®ª § ë ¢ ¤¨ «®£®¢®¬ ®ª¥, à áè¨à¥¨ï à §¤¥«ïîâáï ᨬ¢®«®¬ "|", ¯à¨¬¥à: "ASM|TXT|INI" ¯à®æ¥¤ãà ¢®§¢à é ¥â 㪠§ ⥫ì áâàãªâãàã ¤¨ «®£ PROCEDURE Show(od: Dialog; Width, Height: INTEGER) ¯®ª § âì ¤¨ «®£ od - 㪠§ ⥫ì áâàãªâãàã ¤¨ «®£ , ª®â®àë© ¡ë« ᮧ¤ à ¥¥ ¯à®æ¥¤ãன Create Width ¨ Height - è¨à¨ ¨ ¢ëá®â ¤¨ «®£®¢®£® ®ª PROCEDURE Destroy(VAR od: Dialog) ã¨ç⮦¨âì ¤¨ «®£ od - 㪠§ ⥫ì áâàãªâãàã ¤¨ «®£ ------------------------------------------------------------------------------ MODULE kfonts - à ¡®â á kf-èà¨äâ ¬¨ CONST bold = 1 italic = 2 underline = 4 strike_through = 8 smoothing = 16 bpp32 = 32 TYPE TFont = POINTER TO TFont_desc (* 㪠§ ⥫ì èà¨äâ *) PROCEDURE LoadFont(file_name: ARRAY OF CHAR): TFont § £à㧨âì èà¨äâ ¨§ ä ©« file_name ¨¬ï kf-ä ©« १-â: 㪠§ ⥫ì èà¨äâ/NIL (®è¨¡ª ) PROCEDURE SetSize(Font: TFont; font_size: INTEGER): BOOLEAN ãáâ ®¢¨âì à §¬¥à èà¨äâ Font 㪠§ ⥫ì èà¨äâ font_size à §¬¥à èà¨äâ १-â: TRUE/FALSE (®è¨¡ª ) PROCEDURE Enabled(Font: TFont; font_size: INTEGER): BOOLEAN ¯à®¢¥à¨âì, ¥áâì «¨ èà¨äâ, § ¤ ®£® à §¬¥à Font 㪠§ ⥫ì èà¨äâ font_size à §¬¥à èà¨äâ १-â: TRUE/FALSE (èà¨äâ ¥â) PROCEDURE Destroy(VAR Font: TFont) ¢ë£à㧨âì èà¨äâ, ®á¢®¡®¤¨âì ¤¨ ¬¨ç¥áªãî ¯ ¬ïâì Font 㪠§ ⥫ì èà¨äâ à¨á¢ ¨¢ ¥â ¯¥à¥¬¥®© Font § 票¥ NIL PROCEDURE TextHeight(Font: TFont): INTEGER ¯®«ãç¨âì ¢ëá®âã áâப¨ ⥪áâ Font 㪠§ ⥫ì èà¨äâ १-â: ¢ëá®â áâப¨ ⥪áâ ¢ ¯¨ªá¥«ïå PROCEDURE TextWidth(Font: TFont; str, length, params: INTEGER): INTEGER ¯®«ãç¨âì è¨à¨ã áâப¨ ⥪áâ Font 㪠§ ⥫ì èà¨äâ str ¤à¥á áâப¨ ⥪áâ ¢ ª®¤¨à®¢ª¥ Win-1251 length ª®«¨ç¥á⢮ ᨬ¢®«®¢ ¢ áâப¥ ¨«¨ -1, ¥á«¨ áâப § ¢¥àè ¥âáï ã«¥¬ params ¯ à ¬¥âàë-ä« £¨ á¬. ¨¦¥ १-â: è¨à¨ áâப¨ ⥪áâ ¢ ¯¨ªá¥«ïå PROCEDURE TextOut(Font: TFont; canvas, x, y, str, length, color, params: INTEGER) ¢ë¢¥á⨠⥪áâ ¢ ¡ãä¥à ¤«ï ¢ë¢®¤ ¡ãä¥à ¢ ®ª®, ¨á¯®«ì§®¢ âì ä.65 ¨«¨ ä.7 (¥á«¨ ¡ãä¥à 24-¡¨âë©) Font 㪠§ ⥫ì èà¨äâ canvas ¤à¥á £à ä¨ç¥áª®£® ¡ãä¥à áâàãªâãà ¡ãä¥à : Xsize dd Ysize dd picture rb Xsize * Ysize * 4 (32 ¡¨â ) ¨«¨ Xsize * Ysize * 3 (24 ¡¨â ) x, y ª®®à¤¨ âë ⥪áâ ®â®á¨â¥«ì® «¥¢®£® ¢¥à奣® 㣫 ¡ãä¥à str ¤à¥á áâப¨ ⥪áâ ¢ ª®¤¨à®¢ª¥ Win-1251 length ª®«¨ç¥á⢮ ᨬ¢®«®¢ ¢ áâப¥ ¨«¨ -1, ¥á«¨ áâப § ¢¥àè ¥âáï ã«¥¬ color 梥â ⥪áâ 0x00RRGGBB params ¯ à ¬¥âàë-ä« £¨: 1 ¦¨àë© 2 ªãàᨢ 4 ¯®¤ç¥àªãâë© 8 ¯¥à¥ç¥àªãâë© 16 ¯à¨¬¥¨âì ᣫ ¦¨¢ ¨¥ 32 ¢ë¢®¤ ¢ 32-¡¨âë© ¡ãä¥à ¢®§¬®¦® ¨á¯®«ì§®¢ ¨¥ ä« £®¢ ¢ «î¡ëå á®ç¥â ¨ïå ------------------------------------------------------------------------------ MODULE RasterWorks - ®¡¥à⪠¡¨¡«¨®â¥ª¨ Rasterworks.obj ------------------------------------------------------------------------------ MODULE libimg - ®¡¥à⪠¡¨¡«¨®â¥ª¨ libimg.obj ------------------------------------------------------------------------------