Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Blame | Last modification | View Log | Download | RSS feed

  1. ==============================================================================
  2.  
  3.         ¨¡«¨®â¥ª  (KolibriOS)
  4.  
  5. ------------------------------------------------------------------------------
  6. MODULE Out - ª®­á®«ì­ë© ¢ë¢®¤
  7.  
  8.         PROCEDURE Open
  9.                 ä®à¬ «ì­® ®âªà뢠¥â ª®­á®«ì­ë© ¢ë¢®¤
  10.  
  11.         PROCEDURE Int(x, width: INTEGER)
  12.                 ¢ë¢®¤ 楫®£® ç¨á«  x;
  13.                 width - ª®«¨ç¥á⢮ §­ ª®¬¥áâ, ¨á¯®«ì§ã¥¬ëå ¤«ï ¢ë¢®¤ 
  14.  
  15.         PROCEDURE Real(x: REAL; width: INTEGER)
  16.                 ¢ë¢®¤ ¢¥é¥á⢥­­®£® ç¨á«  x ¢ ¯« ¢ î饬 ä®à¬ â¥;
  17.                 width - ª®«¨ç¥á⢮ §­ ª®¬¥áâ, ¨á¯®«ì§ã¥¬ëå ¤«ï ¢ë¢®¤ 
  18.  
  19.         PROCEDURE Char(x: CHAR)
  20.                 ¢ë¢®¤ ᨬ¢®«  x
  21.  
  22.         PROCEDURE FixReal(x: REAL; width, p: INTEGER)
  23.                 ¢ë¢®¤ ¢¥é¥á⢥­­®£® ç¨á«  x ¢ 䨪á¨à®¢ ­­®¬ ä®à¬ â¥;
  24.                 width - ª®«¨ç¥á⢮ §­ ª®¬¥áâ, ¨á¯®«ì§ã¥¬ëå ¤«ï ¢ë¢®¤ ;
  25.                 p - ª®«¨ç¥á⢮ §­ ª®¢ ¯®á«¥ ¤¥áïâ¨ç­®© â®çª¨
  26.  
  27.         PROCEDURE Ln
  28.                 ¯¥à¥å®¤ ­  á«¥¤ãîéãî áâபã
  29.  
  30.         PROCEDURE String(s: ARRAY OF CHAR)
  31.                 ¢ë¢®¤ áâப¨ s
  32.  
  33. ------------------------------------------------------------------------------
  34. MODULE In - ª®­á®«ì­ë© ¢¢®¤
  35.  
  36.         VAR Done: BOOLEAN
  37.                 ¯à¨­¨¬ ¥â §­ ç¥­¨¥ TRUE ¢ á«ãç ¥ ãᯥ譮£® ¢ë¯®«­¥­¨ï
  38.                 ®¯¥à æ¨¨ ¢¢®¤ , ¨­ ç¥ FALSE
  39.  
  40.         PROCEDURE Open
  41.                 ä®à¬ «ì­® ®âªà뢠¥â ª®­á®«ì­ë© ¢¢®¤,
  42.                 â ª¦¥ ¯à¨á¢ ¨¢ ¥â ¯¥à¥¬¥­­®© Done §­ ç¥­¨¥ TRUE
  43.  
  44.         PROCEDURE Int(VAR x: INTEGER)
  45.                 ¢¢®¤ ç¨á«  ⨯  INTEGER
  46.  
  47.         PROCEDURE Char(VAR x: CHAR)
  48.                 ¢¢®¤ ᨬ¢®« 
  49.  
  50.         PROCEDURE Real(VAR x: REAL)
  51.                 ¢¢®¤ ç¨á«  ⨯  REAL
  52.  
  53.         PROCEDURE String(VAR s: ARRAY OF CHAR)
  54.                 ¢¢®¤ áâப¨
  55.  
  56.         PROCEDURE Ln
  57.                 ®¦¨¤ ­¨¥ ­ ¦ â¨ï ENTER
  58.  
  59. ------------------------------------------------------------------------------
  60. MODULE Console - ¤®¯®«­¨â¥«ì­ë¥ ¯à®æ¥¤ãàë ª®­á®«ì­®£® ¢ë¢®¤ 
  61.  
  62.         CONST
  63.  
  64.         ‘«¥¤ãî騥 ª®­áâ ­âë ®¯à¥¤¥«ïîâ 梥⠪®­á®«ì­®£® ¢ë¢®¤ 
  65.  
  66.                 Black = 0      Blue = 1           Green = 2
  67.                 Cyan = 3       Red = 4            Magenta = 5
  68.                 Brown = 6      LightGray = 7      DarkGray = 8
  69.                 LightBlue = 9  LightGreen = 10    LightCyan = 11
  70.                 LightRed = 12  LightMagenta = 13  Yellow = 14
  71.                 White = 15
  72.  
  73.         PROCEDURE Cls
  74.                 ®ç¨á⪠ ®ª­  ª®­á®«¨
  75.  
  76.         PROCEDURE SetColor(FColor, BColor: INTEGER)
  77.                 ãáâ ­®¢ª  æ¢¥â  ª®­á®«ì­®£® ¢ë¢®¤ : FColor - 梥â ⥪áâ ,
  78.                 BColor - 梥â ä®­ , ¢®§¬®¦­ë¥ §­ ç¥­¨ï - ¢ë襯¥à¥ç¨á«¥­­ë¥
  79.                 ª®­áâ ­âë
  80.  
  81.         PROCEDURE SetCursor(x, y: INTEGER)
  82.                 ãáâ ­®¢ª  ªãàá®à  ª®­á®«¨ ¢ ¯®§¨æ¨î (x, y)
  83.  
  84.         PROCEDURE GetCursor(VAR x, y: INTEGER)
  85.                 § ¯¨á뢠¥â ¢ ¯ à ¬¥âàë ⥪ã騥 ª®®à¤¨­ âë ªãàá®à  ª®­á®«¨
  86.  
  87.         PROCEDURE GetCursorX(): INTEGER
  88.                 ¢®§¢à é ¥â ⥪ãéãî x-ª®®à¤¨­ âã ªãàá®à  ª®­á®«¨
  89.  
  90.         PROCEDURE GetCursorY(): INTEGER
  91.                 ¢®§¢à é ¥â ⥪ãéãî y-ª®®à¤¨­ âã ªãàá®à  ª®­á®«¨
  92.  
  93. ------------------------------------------------------------------------------
  94. MODULE ConsoleLib - ®¡¥à⪠ ¡¨¡«¨®â¥ª¨ console.obj
  95.  
  96. ------------------------------------------------------------------------------
  97. MODULE Math - ¬ â¥¬ â¨ç¥áª¨¥ ä㭪樨
  98.  
  99.         CONST
  100.  
  101.                 pi = 3.141592653589793D+00
  102.                 e  = 2.718281828459045D+00
  103.  
  104.  
  105.         PROCEDURE IsNan(x: REAL): BOOLEAN
  106.                 ¢®§¢à é ¥â TRUE, ¥á«¨ x - ­¥ ç¨á«®
  107.  
  108.         PROCEDURE IsInf(x: REAL): BOOLEAN
  109.                 ¢®§¢à é ¥â TRUE, ¥á«¨ x - ¡¥áª®­¥ç­®áâì
  110.  
  111.         PROCEDURE sqrt(x: REAL): REAL
  112.                 ª¢ ¤à â­ë© ª®à¥­ì x
  113.  
  114.         PROCEDURE exp(x: REAL): REAL
  115.                 íªá¯®­¥­â  x
  116.  
  117.         PROCEDURE ln(x: REAL): REAL
  118.                 ­ âãà «ì­ë© «®£ à¨ä¬ x
  119.  
  120.         PROCEDURE sin(x: REAL): REAL
  121.                 ᨭãá x
  122.  
  123.         PROCEDURE cos(x: REAL): REAL
  124.                 ª®á¨­ãá x
  125.  
  126.         PROCEDURE tan(x: REAL): REAL
  127.                 â ­£¥­á x
  128.  
  129.         PROCEDURE arcsin(x: REAL): REAL
  130.                  àªá¨­ãá x
  131.  
  132.         PROCEDURE arccos(x: REAL): REAL
  133.                  àªª®á¨­ãá x
  134.  
  135.         PROCEDURE arctan(x: REAL): REAL
  136.                  àªâ ­£¥­á x
  137.  
  138.         PROCEDURE arctan2(y, x: REAL): REAL
  139.                  àªâ ­£¥­á y/x
  140.  
  141.         PROCEDURE power(base, exponent: REAL): REAL
  142.                 ¢®§¢¥¤¥­¨¥ ç¨á«  base ¢ á⥯¥­ì exponent
  143.  
  144.         PROCEDURE log(base, x: REAL): REAL
  145.                 «®£ à¨ä¬ x ¯® ®á­®¢ ­¨î base
  146.  
  147.         PROCEDURE sinh(x: REAL): REAL
  148.                 £¨¯¥à¡®«¨ç¥áª¨© ᨭãá x
  149.  
  150.         PROCEDURE cosh(x: REAL): REAL
  151.                 £¨¯¥à¡®«¨ç¥áª¨© ª®á¨­ãá x
  152.  
  153.         PROCEDURE tanh(x: REAL): REAL
  154.                 £¨¯¥à¡®«¨ç¥áª¨© â ­£¥­á x
  155.  
  156.         PROCEDURE arcsinh(x: REAL): REAL
  157.                 ®¡à â­ë© £¨¯¥à¡®«¨ç¥áª¨© ᨭãá x
  158.  
  159.         PROCEDURE arccosh(x: REAL): REAL
  160.                 ®¡à â­ë© £¨¯¥à¡®«¨ç¥áª¨© ª®á¨­ãá x
  161.  
  162.         PROCEDURE arctanh(x: REAL): REAL
  163.                 ®¡à â­ë© £¨¯¥à¡®«¨ç¥áª¨© â ­£¥­á x
  164.  
  165.         PROCEDURE round(x: REAL): REAL
  166.                 ®ªà㣫¥­¨¥ x ¤® ¡«¨¦ ©è¥£® 楫®£®
  167.  
  168.         PROCEDURE frac(x: REAL): REAL;
  169.                 ¤à®¡­ ï ç áâì ç¨á«  x
  170.  
  171.         PROCEDURE floor(x: REAL): REAL
  172.                 ­ ¨¡®«ì襥 楫®¥ ç¨á«® (¯à¥¤áâ ¢«¥­¨¥ ª ª REAL),
  173.                 ­¥ ¡®«ìè¥ x: floor(1.2) = 1.0
  174.  
  175.         PROCEDURE ceil(x: REAL): REAL
  176.                 ­ ¨¬¥­ì襥 楫®¥ ç¨á«® (¯à¥¤áâ ¢«¥­¨¥ ª ª REAL),
  177.                 ­¥ ¬¥­ìè¥ x: ceil(1.2) = 2.0
  178.  
  179.         PROCEDURE sgn(x: REAL): INTEGER
  180.                 ¥á«¨ x > 0 ¢®§¢à é ¥â 1
  181.                 ¥á«¨ x < 0 ¢®§¢à é ¥â -1
  182.                 ¥á«¨ x = 0 ¢®§¢à é ¥â 0
  183.  
  184. ------------------------------------------------------------------------------
  185. MODULE Debug - ¢ë¢®¤ ­  ¤®áªã ®â« ¤ª¨
  186.         ˆ­â¥àä¥©á ª ª ¬®¤ã«ì Out
  187.  
  188.         PROCEDURE Open
  189.                 ®âªà뢠¥â ¤®áªã ®â« ¤ª¨
  190.  
  191. ------------------------------------------------------------------------------
  192. MODULE File - à ¡®â  á ä ©«®¢®© á¨á⥬®©
  193.  
  194.         TYPE
  195.  
  196.                 FNAME = ARRAY 520 OF CHAR
  197.  
  198.                 FS = POINTER TO rFS
  199.  
  200.                 rFS = RECORD (* ¨­ä®à¬ æ¨®­­ ï áâàãªâãà  ä ©«  *)
  201.                         subfunc, pos, hpos, bytes, buffer: INTEGER;
  202.                         name: FNAME
  203.                 END
  204.  
  205.                 FD = POINTER TO rFD
  206.  
  207.                 rFD = RECORD (* áâàãªâãà  ¡«®ª  ¤ ­­ëå ¢å®¤  ª â «®£  *)
  208.                         attr: INTEGER;
  209.                         ntyp: CHAR;
  210.                         reserved: ARRAY 3 OF CHAR;
  211.                         time_create, date_create,
  212.                         time_access, date_access,
  213.                         time_modif,  date_modif,
  214.                         size, hsize: INTEGER;
  215.                         name: FNAME
  216.                 END
  217.  
  218.         CONST
  219.  
  220.                 SEEK_BEG = 0
  221.                 SEEK_CUR = 1
  222.                 SEEK_END = 2
  223.  
  224.         PROCEDURE Load(FName: ARRAY OF CHAR; VAR size: INTEGER): INTEGER;
  225.                 ‡ £à㦠¥â ¢ ¯ ¬ïâì ä ©« á ¨¬¥­¥¬ FName, § ¯¨á뢠¥â ¢ ¯ à ¬¥âà
  226.                 size à §¬¥à ä ©« , ¢®§¢à é ¥â  ¤à¥á § £à㦥­­®£® ä ©« 
  227.                 ¨«¨ 0 (®è¨¡ª ). à¨ ­¥®¡å®¤¨¬®áâ¨, à á¯ ª®¢ë¢ ¥â
  228.                 ä ©« (kunpack).
  229.  
  230.         PROCEDURE GetFileInfo(FName: ARRAY OF CHAR; VAR Info: rFD): BOOLEAN
  231.                 ‡ ¯¨á뢠¥â áâàãªâãàã ¡«®ª  ¤ ­­ëå ¢å®¤  ª â «®£  ¤«ï ä ©« 
  232.                 ¨«¨ ¯ ¯ª¨ á ¨¬¥­¥¬ FName ¢ ¯ à ¬¥âà Info.
  233.                 à¨ ®è¨¡ª¥ ¢®§¢à é ¥â FALSE.
  234.  
  235.         PROCEDURE Exists(FName: ARRAY OF CHAR): BOOLEAN
  236.                 ¢®§¢à é ¥â TRUE, ¥á«¨ ä ©« á ¨¬¥­¥¬ FName áãé¥áâ¢ã¥â
  237.  
  238.         PROCEDURE Close(VAR F: FS)
  239.                 ®á¢®¡®¦¤ ¥â ¯ ¬ïâì, ¢ë¤¥«¥­­ãî ¤«ï ¨­ä®à¬ æ¨®­­®© áâàãªâãàë
  240.                 ä ©«  F ¨ ¯à¨á¢ ¨¢ ¥â F §­ ç¥­¨¥ NIL
  241.  
  242.         PROCEDURE Open(FName: ARRAY OF CHAR): FS
  243.                 ¢®§¢à é ¥â 㪠§ â¥«ì ­  ¨­ä®à¬ æ¨®­­ãî áâàãªâãàã ä ©«  á
  244.                 ¨¬¥­¥¬ FName, ¯à¨ ®è¨¡ª¥ ¢®§¢à é ¥â NIL
  245.  
  246.         PROCEDURE Delete(FName: ARRAY OF CHAR): BOOLEAN
  247.                 㤠«ï¥â ä ©« á ¨¬¥­¥¬ FName, ¯à¨ ®è¨¡ª¥ ¢®§¢à é ¥â FALSE
  248.  
  249.         PROCEDURE Seek(F: FS; Offset, Origin: INTEGER): INTEGER
  250.                 ãáâ ­ ¢«¨¢ ¥â ¯®§¨æ¨î ç⥭¨ï-§ ¯¨á¨ ä ©«  F ­  Offset,
  251.                 ®â­®á¨â¥«ì­® Origin = (SEEK_BEG - ­ ç «® ä ©« ,
  252.                 SEEK_CUR - ⥪ãé ï ¯®§¨æ¨ï, SEEK_END - ª®­¥æ ä ©« ),
  253.                 ¢®§¢à é ¥â ¯®§¨æ¨î ®â­®á¨â¥«ì­® ­ ç «  ä ©« , ­ ¯à¨¬¥à:
  254.                         Seek(F, 0, SEEK_END)
  255.                 ãáâ ­ ¢«¨¢ ¥â ¯®§¨æ¨î ­  ª®­¥æ ä ©«  ¨ ¢®§¢à é ¥â ¤«¨­ã
  256.                 ä ©« ; ¯à¨ ®è¨¡ª¥ ¢®§¢à é ¥â -1
  257.  
  258.         PROCEDURE Read(F: FS; Buffer, Count: INTEGER): INTEGER
  259.                 —¨â ¥â ¤ ­­ë¥ ¨§ ä ©«  ¢ ¯ ¬ïâì. F - 㪠§ â¥«ì ­ 
  260.                 ¨­ä®à¬ æ¨®­­ãî áâàãªâãàã ä ©« , Buffer -  ¤à¥á ®¡« áâ¨
  261.                 ¯ ¬ïâ¨, Count - ª®«¨ç¥á⢮ ¡ ©â, ª®â®à®¥ âॡã¥âáï ¯à®ç¨â âì
  262.                 ¨§ ä ©« ; ¢®§¢à é ¥â ª®«¨ç¥á⢮ ¡ ©â, ª®â®à®¥ ¡ë«® ¯à®ç¨â ­®
  263.                 ¨ ᮮ⢥âáâ¢ãî騬 ®¡à §®¬ ¨§¬¥­ï¥â ¯®§¨æ¨î ç⥭¨ï/§ ¯¨á¨ ¢
  264.                 ¨­ä®à¬ æ¨®­­®© áâàãªâãॠF.
  265.  
  266.         PROCEDURE Write(F: FS; Buffer, Count: INTEGER): INTEGER
  267.                 ‡ ¯¨á뢠¥â ¤ ­­ë¥ ¨§ ¯ ¬ï⨠¢ ä ©«. F - 㪠§ â¥«ì ­ 
  268.                 ¨­ä®à¬ æ¨®­­ãî áâàãªâãàã ä ©« , Buffer -  ¤à¥á ®¡« áâ¨
  269.                 ¯ ¬ïâ¨, Count - ª®«¨ç¥á⢮ ¡ ©â, ª®â®à®¥ âॡã¥âáï § ¯¨á âì
  270.                 ¢ ä ©«; ¢®§¢à é ¥â ª®«¨ç¥á⢮ ¡ ©â, ª®â®à®¥ ¡ë«® § ¯¨á ­® ¨
  271.                 ᮮ⢥âáâ¢ãî騬 ®¡à §®¬ ¨§¬¥­ï¥â ¯®§¨æ¨î ç⥭¨ï/§ ¯¨á¨ ¢
  272.                 ¨­ä®à¬ æ¨®­­®© áâàãªâãॠF.
  273.  
  274.         PROCEDURE Create(FName: ARRAY OF CHAR): FS
  275.                 ᮧ¤ ¥â ­®¢ë© ä ©« á ¨¬¥­¥¬ FName (¯®«­®¥ ¨¬ï), ¢®§¢à é ¥â
  276.                 㪠§ â¥«ì ­  ¨­ä®à¬ æ¨®­­ãî áâàãªâãàã ä ©« ,
  277.                 ¯à¨ ®è¨¡ª¥ ¢®§¢à é ¥â NIL
  278.  
  279.         PROCEDURE CreateDir(DirName: ARRAY OF CHAR): BOOLEAN
  280.                 ᮧ¤ ¥â ¯ ¯ªã á ¨¬¥­¥¬ DirName, ¢á¥ ¯à®¬¥¦ãâ®ç­ë¥ ¯ ¯ª¨
  281.                 ¤®«¦­ë áãé¥á⢮¢ âì, ¯à¨ ®è¨¡ª¥ ¢®§¢à é ¥â FALSE
  282.  
  283.         PROCEDURE DeleteDir(DirName: ARRAY OF CHAR): BOOLEAN
  284.                 㤠«ï¥â ¯ãáâãî ¯ ¯ªã á ¨¬¥­¥¬ DirName,
  285.                 ¯à¨ ®è¨¡ª¥ ¢®§¢à é ¥â FALSE
  286.  
  287.         PROCEDURE DirExists(DirName: ARRAY OF CHAR): BOOLEAN
  288.                 ¢®§¢à é ¥â TRUE, ¥á«¨ ¯ ¯ª  á ¨¬¥­¥¬ DirName áãé¥áâ¢ã¥â
  289.  
  290. ------------------------------------------------------------------------------
  291. MODULE Read - ç⥭¨¥ ®á­®¢­ëå ⨯®¢ ¤ ­­ëå ¨§ ä ©«  F
  292.  
  293.         à®æ¥¤ãàë ¢®§¢à é îâ TRUE ¢ á«ãç ¥ ãᯥ譮© ®¯¥à æ¨¨ ç⥭¨ï ¨
  294.         ᮮ⢥âáâ¢ãî騬 ®¡à §®¬ ¨§¬¥­ïîâ ¯®§¨æ¨î ç⥭¨ï/§ ¯¨á¨ ¢
  295.         ¨­ä®à¬ æ¨®­­®© áâàãªâãॠF
  296.  
  297.         PROCEDURE Char(F: File.FS; VAR x: CHAR): BOOLEAN
  298.  
  299.         PROCEDURE Int(F: File.FS; VAR x: INTEGER): BOOLEAN
  300.  
  301.         PROCEDURE Real(F: File.FS; VAR x: REAL): BOOLEAN
  302.  
  303.         PROCEDURE Boolean(F: File.FS; VAR x: BOOLEAN): BOOLEAN
  304.  
  305.         PROCEDURE Set(F: File.FS; VAR x: SET): BOOLEAN
  306.  
  307.         PROCEDURE Card16(F: File.FS; VAR x: SYSTEM.CARD16): BOOLEAN
  308.  
  309. ------------------------------------------------------------------------------
  310. MODULE Write - § ¯¨áì ®á­®¢­ëå ⨯®¢ ¤ ­­ëå ¢ ä ©« F
  311.  
  312.         à®æ¥¤ãàë ¢®§¢à é îâ TRUE ¢ á«ãç ¥ ãᯥ譮© ®¯¥à æ¨¨ § ¯¨á¨ ¨
  313.         ᮮ⢥âáâ¢ãî騬 ®¡à §®¬ ¨§¬¥­ïîâ ¯®§¨æ¨î ç⥭¨ï/§ ¯¨á¨ ¢
  314.         ¨­ä®à¬ æ¨®­­®© áâàãªâãॠF
  315.  
  316.         PROCEDURE Char(F: File.FS; x: CHAR): BOOLEAN
  317.  
  318.         PROCEDURE Int(F: File.FS; x: INTEGER): BOOLEAN
  319.  
  320.         PROCEDURE Real(F: File.FS; x: REAL): BOOLEAN
  321.  
  322.         PROCEDURE Boolean(F: File.FS; x: BOOLEAN): BOOLEAN
  323.  
  324.         PROCEDURE Set(F: File.FS; x: SET): BOOLEAN
  325.  
  326.         PROCEDURE Card16(F: File.FS; x: SYSTEM.CARD16): BOOLEAN
  327.  
  328. ------------------------------------------------------------------------------
  329. MODULE DateTime - ¤ â , ¢à¥¬ï
  330.  
  331.         CONST ERR = -7.0E5
  332.  
  333.         PROCEDURE Now(VAR Year, Month, Day, Hour, Min, Sec: INTEGER)
  334.                 § ¯¨á뢠¥â ¢ ¯ à ¬¥âàë ª®¬¯®­¥­âë ⥪ã饩 á¨á⥬­®© ¤ âë ¨
  335.                 ¢à¥¬¥­¨
  336.  
  337.         PROCEDURE Encode(Year, Month, Day, Hour, Min, Sec: INTEGER): REAL
  338.                 ¢®§¢à é ¥â ¤ âã, ¯®«ã祭­ãî ¨§ ª®¬¯®­¥­â®¢
  339.                 Year, Month, Day, Hour, Min, Sec;
  340.                 ¯à¨ ®è¨¡ª¥ ¢®§¢à é ¥â ª®­áâ ­âã ERR = -7.0D5
  341.  
  342.         PROCEDURE Decode(Date: REAL; VAR Year, Month, Day,
  343.                                 Hour, Min, Sec: INTEGER): BOOLEAN
  344.                 ¨§¢«¥ª ¥â ª®¬¯®­¥­âë
  345.                 Year, Month, Day, Hour, Min, Sec ¨§ ¤ âë Date;
  346.                 ¯à¨ ®è¨¡ª¥ ¢®§¢à é ¥â FALSE
  347.  
  348. ------------------------------------------------------------------------------
  349. MODULE Args - ¯ à ¬¥âàë ¯à®£à ¬¬ë
  350.  
  351.         VAR argc: INTEGER
  352.                 ª®«¨ç¥á⢮ ¯ à ¬¥â஢ ¯à®£à ¬¬ë, ¢ª«îç ï ¨¬ï
  353.                 ¨á¯®«­ï¥¬®£® ä ©« 
  354.  
  355.         PROCEDURE GetArg(n: INTEGER; VAR s: ARRAY OF CHAR)
  356.                 § ¯¨á뢠¥â ¢ áâபã s n-© ¯ à ¬¥âà ¯à®£à ¬¬ë,
  357.                 ­ã¬¥à æ¨ï ¯ à ¬¥â஢ ®â 0 ¤® argc - 1,
  358.                 ­ã«¥¢®© ¯ à ¬¥âà -- ¨¬ï ¨á¯®«­ï¥¬®£® ä ©« 
  359.  
  360. ------------------------------------------------------------------------------
  361. MODULE KOSAPI
  362.  
  363.         PROCEDURE sysfunc1(arg1: INTEGER): INTEGER
  364.         PROCEDURE sysfunc2(arg1, arg2: INTEGER): INTEGER
  365.         ...
  366.         PROCEDURE sysfunc7(arg1, arg2, ..., arg7: INTEGER): INTEGER
  367.                 Ž¡¥à⪨ ¤«ï ä㭪権 API ï¤à  KolibriOS.
  368.                 arg1 .. arg7 ᮮ⢥âáâ¢ãîâ ॣ¨áâà ¬
  369.                         eax, ebx, ecx, edx, esi, edi, ebp;
  370.                 ¢®§¢à é îâ §­ ç¥­¨¥ ॣ¨áâà  eax ¯®á«¥ á¨á⥬­®£® ¢ë§®¢ .
  371.  
  372.         PROCEDURE sysfunc22(arg1, arg2: INTEGER; VAR res2: INTEGER): INTEGER
  373.                 Ž¡¥à⪠ ¤«ï ä㭪権 API ï¤à  KolibriOS.
  374.                 arg1 - ॣ¨áâà eax, arg2 - ॣ¨áâà ebx,
  375.                 res2 - §­ ç¥­¨¥ ॣ¨áâà  ebx ¯®á«¥ á¨á⥬­®£® ¢ë§®¢ ;
  376.                 ¢®§¢à é ¥â §­ ç¥­¨¥ ॣ¨áâà  eax ¯®á«¥ á¨á⥬­®£® ¢ë§®¢ .
  377.  
  378.         PROCEDURE malloc(size: INTEGER): INTEGER
  379.                 ‚뤥«ï¥â ¡«®ª ¯ ¬ïâ¨.
  380.                 size - à §¬¥à ¡«®ª  ¢ ¡ ©â å,
  381.                 ¢®§¢à é ¥â  ¤à¥á ¢ë¤¥«¥­­®£® ¡«®ª 
  382.  
  383.         PROCEDURE free(ptr: INTEGER): INTEGER
  384.                 Žá¢®¡®¦¤ ¥â à ­¥¥ ¢ë¤¥«¥­­ë© ¡«®ª ¯ ¬ïâ¨ á  ¤à¥á®¬ ptr,
  385.                 ¢®§¢à é ¥â 0
  386.  
  387.         PROCEDURE realloc(ptr, size: INTEGER): INTEGER
  388.                 ¥à¥à á¯à¥¤¥«ï¥â ¡«®ª ¯ ¬ïâ¨,
  389.                 ptr -  ¤à¥á à ­¥¥ ¢ë¤¥«¥­­®£® ¡«®ª ,
  390.                 size - ­®¢ë© à §¬¥à,
  391.                 ¢®§¢à é ¥â 㪠§ â¥«ì ­  ¯¥à¥à á¯à¥¤¥«¥­­ë© ¡«®ª,
  392.                 0 ¯à¨ ®è¨¡ª¥
  393.  
  394.         PROCEDURE GetCommandLine(): INTEGER
  395.                 ‚®§¢à é ¥â  ¤à¥á áâப¨ ¯ à ¬¥â஢
  396.  
  397.         PROCEDURE GetName(): INTEGER
  398.                 ‚®§¢à é ¥â  ¤à¥á áâப¨ á ¨¬¥­¥¬ ¯à®£à ¬¬ë
  399.  
  400.         PROCEDURE LoadLib(name: ARRAY OF CHAR): INTEGER
  401.                 ‡ £à㦠¥â DLL á ¯®«­ë¬ ¨¬¥­¥¬ name. ‚®§¢à é ¥â  ¤à¥á â ¡«¨æë
  402.                 íªá¯®àâ . à¨ ®è¨¡ª¥ ¢®§¢à é ¥â 0.
  403.  
  404.         PROCEDURE GetProcAdr(name: ARRAY OF CHAR; lib: INTEGER): INTEGER
  405.                 name - ¨¬ï ¯à®æ¥¤ãàë
  406.                 lib -  ¤à¥á â ¡«¨æë íªá¯®àâ  DLL
  407.                 ‚®§¢à é ¥â  ¤à¥á ¯à®æ¥¤ãàë. à¨ ®è¨¡ª¥ ¢®§¢à é ¥â 0.
  408.  
  409. ------------------------------------------------------------------------------
  410. MODULE ColorDlg - à ¡®â  á ¤¨ «®£®¬ "Color Dialog"
  411.  
  412.         TYPE
  413.  
  414.                 Dialog = POINTER TO RECORD (* áâàãªâãà  ¤¨ «®£  *)
  415.                     status: INTEGER   (* á®áâ®ï­¨¥ ¤¨ «®£ :
  416.                                          0 - ¯®«ì§®¢ â¥«ì ­ ¦ « Cancel
  417.                                          1 - ¯®«ì§®¢ â¥«ì ­ ¦ « OK
  418.                                          2 - ¤¨ «®£ ®âªàëâ           *)
  419.  
  420.                     color:  INTEGER   (* ¢ë¡à ­­ë© 梥â *)
  421.                 END
  422.  
  423.         PROCEDURE Create(draw_window: DRAW_WINDOW): Dialog
  424.                 ᮧ¤ âì ¤¨ «®£
  425.                 draw_window - ¯à®æ¥¤ãà  ¯¥à¥à¨á®¢ª¨ ®á­®¢­®£® ®ª­ 
  426.                 (TYPE DRAW_WINDOW = PROCEDURE);
  427.                 ¯à®æ¥¤ãà  ¢®§¢à é ¥â 㪠§ â¥«ì ­  áâàãªâãàã ¤¨ «®£ 
  428.  
  429.         PROCEDURE Show(cd: Dialog)
  430.                 ¯®ª § âì ¤¨ «®£
  431.                 cd - 㪠§ â¥«ì ­  áâàãªâãàã ¤¨ «®£ , ª®â®àë© ¡ë« ᮧ¤ ­ à ­¥¥
  432.                 ¯à®æ¥¤ãன Create
  433.  
  434.         PROCEDURE Destroy(VAR cd: Dialog)
  435.                 ã­¨ç⮦¨âì ¤¨ «®£
  436.                 cd - 㪠§ â¥«ì ­  áâàãªâãàã ¤¨ «®£ 
  437.  
  438. ------------------------------------------------------------------------------
  439. MODULE OpenDlg - à ¡®â  á ¤¨ «®£®¬ "Open Dialog"
  440.  
  441.         TYPE
  442.  
  443.                 Dialog = POINTER TO RECORD (* áâàãªâãà  ¤¨ «®£  *)
  444.                     status:   INTEGER  (* á®áâ®ï­¨¥ ¤¨ «®£ :
  445.                                           0 - ¯®«ì§®¢ â¥«ì ­ ¦ « Cancel
  446.                                           1 - ¯®«ì§®¢ â¥«ì ­ ¦ « OK
  447.                                           2 - ¤¨ «®£ ®âªàëâ           *)
  448.  
  449.                     FileName: ARRAY 4096 OF CHAR (* ¨¬ï ¢ë¡à ­­®£® ä ©«  *)
  450.                     FilePath: ARRAY 4096 OF CHAR (* ¯®«­®¥ ¨¬ï ¢ë¡à ­­®£®
  451.                                                     ä ©«                 *)
  452.                 END
  453.  
  454.         PROCEDURE Create(draw_window: DRAW_WINDOW; type: INTEGER; def_path,
  455.                         filter: ARRAY OF CHAR): Dialog
  456.                 ᮧ¤ âì ¤¨ «®£
  457.                 draw_window - ¯à®æ¥¤ãà  ¯¥à¥à¨á®¢ª¨ ®á­®¢­®£® ®ª­ 
  458.                         (TYPE DRAW_WINDOW = PROCEDURE)
  459.                 type -  â¨¯ ¤¨ «®£ 
  460.                         0 - ®âªàëâì
  461.                         1 - á®åà ­¨âì
  462.                         2 - ¢ë¡à âì ¯ ¯ªã
  463.                 def_path - ¯ãâì ¯® 㬮«ç ­¨î, ¯ ¯ª  def_path ¡ã¤¥â ®âªàëâ 
  464.                         ¯à¨ ¯¥à¢®¬ § ¯ã᪥ ¤¨ «®£ 
  465.                 filter - ¢ áâப¥ § ¯¨á ­® ¯¥à¥ç¨á«¥­¨¥ à áè¨à¥­¨© ä ©«®¢,
  466.                         ª®â®àë¥ ¡ã¤ãâ ¯®ª § ­ë ¢ ¤¨ «®£®¢®¬ ®ª­¥, à áè¨à¥­¨ï
  467.                         à §¤¥«ïîâáï ᨬ¢®«®¬ "|", ­ ¯à¨¬¥à: "ASM|TXT|INI"
  468.                 ¯à®æ¥¤ãà  ¢®§¢à é ¥â 㪠§ â¥«ì ­  áâàãªâãàã ¤¨ «®£ 
  469.  
  470.         PROCEDURE Show(od: Dialog; Width, Height: INTEGER)
  471.                 ¯®ª § âì ¤¨ «®£
  472.                 od - 㪠§ â¥«ì ­  áâàãªâãàã ¤¨ «®£ , ª®â®àë© ¡ë« ᮧ¤ ­ à ­¥¥
  473.                      ¯à®æ¥¤ãன Create
  474.                 Width ¨ Height - è¨à¨­  ¨ ¢ëá®â  ¤¨ «®£®¢®£® ®ª­ 
  475.  
  476.         PROCEDURE Destroy(VAR od: Dialog)
  477.                 ã­¨ç⮦¨âì ¤¨ «®£
  478.                 od - 㪠§ â¥«ì ­  áâàãªâãàã ¤¨ «®£ 
  479.  
  480. ------------------------------------------------------------------------------
  481. MODULE kfonts - à ¡®â  á kf-èà¨äâ ¬¨
  482.  
  483.         CONST
  484.  
  485.                 bold            =   1
  486.                 italic          =   2
  487.                 underline       =   4
  488.                 strike_through  =   8
  489.                 smoothing       =  16
  490.                 bpp32           =  32
  491.  
  492.         TYPE
  493.  
  494.                 TFont = POINTER TO TFont_desc (* 㪠§ â¥«ì ­  èà¨äâ *)
  495.  
  496.         PROCEDURE LoadFont(file_name: ARRAY OF CHAR): TFont
  497.                 § £à㧨âì èà¨äâ ¨§ ä ©« 
  498.                 file_name   ¨¬ï kf-ä ©« 
  499.                 १-â:      ãª § â¥«ì ­  èà¨äâ/NIL (®è¨¡ª )
  500.  
  501.         PROCEDURE SetSize(Font: TFont; font_size: INTEGER): BOOLEAN
  502.                 ãáâ ­®¢¨âì à §¬¥à èà¨äâ 
  503.                 Font        ãª § â¥«ì ­  èà¨äâ
  504.                 font_size   à §¬¥à èà¨äâ 
  505.                 १-â:      TRUE/FALSE (®è¨¡ª )
  506.  
  507.         PROCEDURE Enabled(Font: TFont; font_size: INTEGER): BOOLEAN
  508.                 ¯à®¢¥à¨âì, ¥áâì «¨ èà¨äâ, § ¤ ­­®£® à §¬¥à 
  509.                 Font        ãª § â¥«ì ­  èà¨äâ
  510.                 font_size   à §¬¥à èà¨äâ 
  511.                 १-â:      TRUE/FALSE (èà¨äâ  ­¥â)
  512.  
  513.         PROCEDURE Destroy(VAR Font: TFont)
  514.                 ¢ë£à㧨âì èà¨äâ, ®á¢®¡®¤¨âì ¤¨­ ¬¨ç¥áªãî ¯ ¬ïâì
  515.                 Font        ãª § â¥«ì ­  èà¨äâ
  516.                 à¨á¢ ¨¢ ¥â ¯¥à¥¬¥­­®© Font §­ ç¥­¨¥ NIL
  517.  
  518.         PROCEDURE TextHeight(Font: TFont): INTEGER
  519.                 ¯®«ãç¨âì ¢ëá®âã áâப¨ ⥪áâ 
  520.                 Font        ãª § â¥«ì ­  èà¨äâ
  521.                 १-â:      ¢ëá®â  áâப¨ ⥪áâ  ¢ ¯¨ªá¥«ïå
  522.  
  523.         PROCEDURE TextWidth(Font: TFont;
  524.                     str, length, params: INTEGER): INTEGER
  525.                 ¯®«ãç¨âì è¨à¨­ã áâப¨ ⥪áâ 
  526.                 Font        ãª § â¥«ì ­  èà¨äâ
  527.                 str          ¤à¥á áâப¨ ⥪áâ  ¢ ª®¤¨à®¢ª¥ Win-1251
  528.                 length      ª®«¨ç¥á⢮ ᨬ¢®«®¢ ¢ áâப¥ ¨«¨ -1, ¥á«¨ áâப 
  529.                             § ¢¥àè ¥âáï ­ã«¥¬
  530.                 params      ¯ à ¬¥âàë-ä« £¨ á¬. ­¨¦¥
  531.                 १-â:      è¨à¨­  áâப¨ ⥪áâ  ¢ ¯¨ªá¥«ïå
  532.  
  533.         PROCEDURE TextOut(Font: TFont;
  534.                     canvas, x, y, str, length, color, params: INTEGER)
  535.                 ¢ë¢¥á⨠⥪áâ ¢ ¡ãä¥à
  536.                 ¤«ï ¢ë¢®¤  ¡ãä¥à  ¢ ®ª­®, ¨á¯®«ì§®¢ âì ä.65 ¨«¨
  537.                 ä.7 (¥á«¨ ¡ãä¥à 24-¡¨â­ë©)
  538.                 Font        ãª § â¥«ì ­  èà¨äâ
  539.                 canvas       ¤à¥á £à ä¨ç¥áª®£® ¡ãä¥à 
  540.                             áâàãªâãà  ¡ãä¥à :
  541.                               Xsize       dd
  542.                               Ysize       dd
  543.                               picture     rb  Xsize * Ysize * 4 (32 ¡¨â )
  544.                                               ¨«¨ Xsize * Ysize * 3 (24 ¡¨â )
  545.                 x, y        ª®®à¤¨­ âë ⥪áâ  ®â­®á¨â¥«ì­® «¥¢®£® ¢¥àå­¥£®
  546.                             㣫  ¡ãä¥à 
  547.                 str          ¤à¥á áâப¨ ⥪áâ  ¢ ª®¤¨à®¢ª¥ Win-1251
  548.                 length      ª®«¨ç¥á⢮ ᨬ¢®«®¢ ¢ áâப¥ ¨«¨ -1, ¥á«¨ áâப 
  549.                             § ¢¥àè ¥âáï ­ã«¥¬
  550.                 color       梥â ⥪áâ  0x00RRGGBB
  551.                 params      ¯ à ¬¥âàë-ä« £¨:
  552.                                1   ¦¨à­ë©
  553.                                2   ªãàᨢ
  554.                                4   ¯®¤ç¥àª­ãâë©
  555.                                8   ¯¥à¥ç¥àª­ãâë©
  556.                               16   ¯à¨¬¥­¨âì ᣫ ¦¨¢ ­¨¥
  557.                               32   ¢ë¢®¤ ¢ 32-¡¨â­ë© ¡ãä¥à
  558.                             ¢®§¬®¦­® ¨á¯®«ì§®¢ ­¨¥ ä« £®¢ ¢ «î¡ëå á®ç¥â ­¨ïå
  559. ------------------------------------------------------------------------------
  560. MODULE RasterWorks - ®¡¥à⪠ ¡¨¡«¨®â¥ª¨ Rasterworks.obj
  561. ------------------------------------------------------------------------------
  562. MODULE libimg - ®¡¥à⪠ ¡¨¡«¨®â¥ª¨ libimg.obj
  563. ------------------------------------------------------------------------------