Subversion Repositories Kolibri OS

Rev

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

  1. ==============================================================================
  2.  
  3.         Библиотека (Windows)
  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 (ASCII)
  32.  
  33.         PROCEDURE StringW(s: ARRAY OF WCHAR)
  34.                 вывод строки s (UTF-16)
  35.  
  36. ------------------------------------------------------------------------------
  37. MODULE In - консольный ввод
  38.  
  39.         VAR Done: BOOLEAN
  40.                 принимает значение TRUE в случае успешного выполнения
  41.                 операции ввода и FALSE в противном случае
  42.  
  43.         PROCEDURE Open
  44.                 открывает консольный ввод,
  45.                 также присваивает переменной Done значение TRUE
  46.  
  47.         PROCEDURE Int(VAR x: INTEGER)
  48.                 ввод числа типа INTEGER
  49.  
  50.         PROCEDURE Char(VAR x: CHAR)
  51.                 ввод символа
  52.  
  53.         PROCEDURE Real(VAR x: REAL)
  54.                 ввод числа типа REAL
  55.  
  56.         PROCEDURE String(VAR s: ARRAY OF CHAR)
  57.                 ввод строки
  58.  
  59.         PROCEDURE Ln
  60.                 ожидание нажатия ENTER
  61.  
  62. ------------------------------------------------------------------------------
  63. MODULE Console - дополнительные процедуры консольного вывода
  64.  
  65.         CONST
  66.  
  67.         Следующие константы определяют цвет консольного вывода
  68.  
  69.                 Black = 0      Blue = 1           Green = 2
  70.                 Cyan = 3       Red = 4            Magenta = 5
  71.                 Brown = 6      LightGray = 7      DarkGray = 8
  72.                 LightBlue = 9  LightGreen = 10    LightCyan = 11
  73.                 LightRed = 12  LightMagenta = 13  Yellow = 14
  74.                 White = 15
  75.  
  76.         PROCEDURE Cls
  77.                 очистка окна консоли
  78.  
  79.         PROCEDURE SetColor(FColor, BColor: INTEGER)
  80.                 установка цвета консольного вывода: FColor - цвет текста,
  81.                 BColor - цвет фона, возможные значения - вышеперечисленные
  82.                 константы
  83.  
  84.         PROCEDURE SetCursor(x, y: INTEGER)
  85.                 установка курсора консоли в позицию (x, y)
  86.  
  87.         PROCEDURE GetCursor(VAR x, y: INTEGER)
  88.                 записывает в параметры текущие координаты курсора консоли
  89.  
  90.         PROCEDURE GetCursorX(): INTEGER
  91.                 возвращает текущую x-координату курсора консоли
  92.  
  93.         PROCEDURE GetCursorY(): INTEGER
  94.                 возвращает текущую y-координату курсора консоли
  95.  
  96. ------------------------------------------------------------------------------
  97. MODULE Math - математические функции
  98.  
  99.         CONST
  100.  
  101.                 pi = 3.141592653589793E+00
  102.                 e  = 2.718281828459045E+00
  103.  
  104.         PROCEDURE IsNan(x: REAL): BOOLEAN
  105.                 возвращает TRUE, если x - не число
  106.  
  107.         PROCEDURE IsInf(x: REAL): BOOLEAN
  108.                 возвращает TRUE, если x - бесконечность
  109.  
  110.         PROCEDURE sqrt(x: REAL): REAL
  111.                 квадратный корень x
  112.  
  113.         PROCEDURE exp(x: REAL): REAL
  114.                 экспонента x
  115.  
  116.         PROCEDURE ln(x: REAL): REAL
  117.                 натуральный логарифм x
  118.  
  119.         PROCEDURE sin(x: REAL): REAL
  120.                 синус x
  121.  
  122.         PROCEDURE cos(x: REAL): REAL
  123.                 косинус x
  124.  
  125.         PROCEDURE tan(x: REAL): REAL
  126.                 тангенс x
  127.  
  128.         PROCEDURE arcsin(x: REAL): REAL
  129.                 арксинус x
  130.  
  131.         PROCEDURE arccos(x: REAL): REAL
  132.                 арккосинус x
  133.  
  134.         PROCEDURE arctan(x: REAL): REAL
  135.                 арктангенс x
  136.  
  137.         PROCEDURE arctan2(y, x: REAL): REAL
  138.                 арктангенс y/x
  139.  
  140.         PROCEDURE power(base, exponent: REAL): REAL
  141.                 возведение числа base в степень exponent
  142.  
  143.         PROCEDURE log(base, x: REAL): REAL
  144.                 логарифм x по основанию base
  145.  
  146.         PROCEDURE sinh(x: REAL): REAL
  147.                 гиперболический синус x
  148.  
  149.         PROCEDURE cosh(x: REAL): REAL
  150.                 гиперболический косинус x
  151.  
  152.         PROCEDURE tanh(x: REAL): REAL
  153.                 гиперболический тангенс x
  154.  
  155.         PROCEDURE arsinh(x: REAL): REAL
  156.                 обратный гиперболический синус x
  157.  
  158.         PROCEDURE arcosh(x: REAL): REAL
  159.                 обратный гиперболический косинус x
  160.  
  161.         PROCEDURE artanh(x: REAL): REAL
  162.                 обратный гиперболический тангенс x
  163.  
  164.         PROCEDURE round(x: REAL): REAL
  165.                 округление x до ближайшего целого
  166.  
  167.         PROCEDURE frac(x: REAL): REAL;
  168.                 дробная часть числа x
  169.  
  170.         PROCEDURE floor(x: REAL): REAL
  171.                 наибольшее целое число (представление как REAL),
  172.                 не больше x: floor(1.2) = 1.0
  173.  
  174.         PROCEDURE ceil(x: REAL): REAL
  175.                 наименьшее целое число (представление как REAL),
  176.                 не меньше x: ceil(1.2) = 2.0
  177.  
  178.         PROCEDURE sgn(x: REAL): INTEGER
  179.                 если x > 0 возвращает 1
  180.                 если x < 0 возвращает -1
  181.                 если x = 0 возвращает 0
  182.  
  183.         PROCEDURE fact(n: INTEGER): REAL
  184.                 факториал n
  185.  
  186. ------------------------------------------------------------------------------
  187. MODULE File - работа с файловой системой
  188.  
  189.         CONST
  190.  
  191.                 OPEN_R = 0
  192.                 OPEN_W = 1
  193.                 OPEN_RW = 2
  194.  
  195.                 SEEK_BEG = 0
  196.                 SEEK_CUR = 1
  197.                 SEEK_END = 2
  198.  
  199.         PROCEDURE Create(FName: ARRAY OF CHAR): INTEGER
  200.                 создает новый файл с именем FName (полное имя с путем),
  201.                 открывет файл для записи и возвращает идентификатор файла
  202.                 (целое число), в случае ошибки, возвращает -1
  203.  
  204.         PROCEDURE Open(FName: ARRAY OF CHAR; Mode: INTEGER): INTEGER
  205.                 открывает существующий файл с именем FName (полное имя с
  206.                 путем) в режиме Mode = (OPEN_R (только чтение), OPEN_W
  207.                 (только запись), OPEN_RW (чтение и запись)), возвращает
  208.                 идентификатор файла (целое число), в случае ошибки,
  209.                 возвращает -1
  210.  
  211.         PROCEDURE Read(F, Buffer, Count: INTEGER): INTEGER
  212.                 Читает данные из файла в память. F - числовой идентификатор
  213.                 файла, Buffer - адрес области памяти, Count - количество байт,
  214.                 которое требуется прочитать из файла; возвращает количество
  215.                 байт, которое было прочитано из файла
  216.  
  217.         PROCEDURE Write(F, Buffer, Count: INTEGER): INTEGER
  218.                 Записывает данные из памяти в файл. F - числовой идентификатор
  219.                 файла, Buffer - адрес области памяти, Count - количество байт,
  220.                 которое требуется записать в файл; возвращает количество байт,
  221.                 которое было записано в файл
  222.  
  223.         PROCEDURE Seek(F, Offset, Origin: INTEGER): INTEGER
  224.                 устанавливает позицию чтения-записи файла с идентификатором F
  225.                 на Offset, относительно Origin = (SEEK_BEG - начало файла,
  226.                 SEEK_CUR - текущая позиция, SEEK_END - конец файла),
  227.                 возвращает позицию относительно начала файла, например:
  228.                 Seek(F, 0, 2) - устанавливает позицию на конец файла и
  229.                 возвращает длину файла; при ошибке возвращает -1
  230.  
  231.         PROCEDURE Close(F: INTEGER)
  232.                 закрывает ранее открытый файл с идентификатором F
  233.  
  234.         PROCEDURE Delete(FName: ARRAY OF CHAR): BOOLEAN
  235.                 удаляет файл с именем FName (полное имя с путем),
  236.                 возвращает TRUE, если файл успешно удален
  237.  
  238.         PROCEDURE Exists(FName: ARRAY OF CHAR): BOOLEAN
  239.                 возвращает TRUE, если файл с именем FName (полное имя)
  240.                 существует
  241.  
  242.         PROCEDURE Load(FName: ARRAY OF CHAR; VAR Size: INTEGER): INTEGER
  243.                 загружает в память существующий файл с именем FName (полное имя с
  244.                 путем), возвращает адрес памяти, куда был загружен файл,
  245.                 записывает размер файла в параметр Size;
  246.                 при ошибке возвращает 0
  247.  
  248.         PROCEDURE CreateDir(DirName: ARRAY OF CHAR): BOOLEAN
  249.                 создает папку с именем DirName, все промежуточные папки
  250.                 должны существовать. В случае ошибки, возвращает FALSE
  251.  
  252.         PROCEDURE RemoveDir(DirName: ARRAY OF CHAR): BOOLEAN
  253.                 удаляет пустую папку с именем DirName. В случае ошибки,
  254.                 возвращает FALSE
  255.  
  256.         PROCEDURE ExistsDir(DirName: ARRAY OF CHAR): BOOLEAN
  257.                 возвращает TRUE, если папка с именем DirName существует
  258.  
  259. ------------------------------------------------------------------------------
  260. MODULE DateTime - дата, время
  261.  
  262.         CONST ERR = -7.0E5
  263.  
  264.         PROCEDURE Now(VAR Year, Month, Day, Hour, Min, Sec, MSec: INTEGER)
  265.                 возвращает в параметрах компоненты текущей системной даты и
  266.                 времени
  267.  
  268.         PROCEDURE NowEncode(): REAL;
  269.                 возвращает текущую системную дату и
  270.                 время (представление REAL)
  271.  
  272.         PROCEDURE Encode(Year, Month, Day,
  273.             Hour, Min, Sec, MSec: INTEGER): REAL
  274.                 возвращает дату, полученную из компонентов
  275.                 Year, Month, Day, Hour, Min, Sec, MSec;
  276.                 при ошибке возвращает константу ERR = -7.0E5
  277.  
  278.         PROCEDURE Decode(Date: REAL; VAR Year, Month, Day,
  279.                 Hour, Min, Sec, MSec: INTEGER): BOOLEAN
  280.                 извлекает компоненты
  281.                 Year, Month, Day, Hour, Min, Sec, MSec из даты Date;
  282.                 при ошибке возвращает FALSE
  283.  
  284. ------------------------------------------------------------------------------
  285. MODULE Args - параметры программы
  286.  
  287.         VAR argc: INTEGER
  288.                 количество параметров программы, включая имя
  289.                 исполняемого файла
  290.  
  291.         PROCEDURE GetArg(n: INTEGER; VAR s: ARRAY OF CHAR)
  292.                 записывает в строку s n-й параметр программы,
  293.                 нумерация параметров от 0 до argc - 1,
  294.                 нулевой параметр -- имя исполняемого файла
  295.  
  296. ------------------------------------------------------------------------------
  297. MODULE Utils - разное
  298.  
  299.         PROCEDURE Utf8To16(source: ARRAY OF CHAR;
  300.             VAR dest: ARRAY OF CHAR): INTEGER;
  301.                 преобразует символы строки source из кодировки UTF-8 в
  302.                 кодировку UTF-16, результат записывает в строку dest,
  303.                 возвращает количество 16-битных символов, записанных в dest
  304.  
  305.         PROCEDURE PutSeed(seed: INTEGER)
  306.                 Инициализация генератора случайных чисел целым числом seed
  307.  
  308.         PROCEDURE Rnd(range: INTEGER): INTEGER
  309.                 Целые случайные числа в диапазоне 0 <= x < range
  310.  
  311. ------------------------------------------------------------------------------
  312. MODULE WINAPI - привязки к некоторым API-функциям Windows