7de0c0e61c
git-svn-id: svn://kolibrios.org@8099 a494cfbc-eb01-0410-851d-a64ba20cac60
312 lines
15 KiB
Plaintext
312 lines
15 KiB
Plaintext
==============================================================================
|
||
|
||
Библиотека (Windows)
|
||
|
||
------------------------------------------------------------------------------
|
||
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 (ASCII)
|
||
|
||
PROCEDURE StringW(s: ARRAY OF WCHAR)
|
||
вывод строки s (UTF-16)
|
||
|
||
------------------------------------------------------------------------------
|
||
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 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 File - работа с файловой системой
|
||
|
||
CONST
|
||
|
||
OPEN_R = 0
|
||
OPEN_W = 1
|
||
OPEN_RW = 2
|
||
|
||
SEEK_BEG = 0
|
||
SEEK_CUR = 1
|
||
SEEK_END = 2
|
||
|
||
PROCEDURE Create(FName: ARRAY OF CHAR): INTEGER
|
||
создает новый файл с именем FName (полное имя с путем),
|
||
открывет файл для записи и возвращает идентификатор файла
|
||
(целое число), в случае ошибки, возвращает -1
|
||
|
||
PROCEDURE Open(FName: ARRAY OF CHAR; Mode: INTEGER): INTEGER
|
||
открывает существующий файл с именем FName (полное имя с
|
||
путем) в режиме Mode = (OPEN_R (только чтение), OPEN_W
|
||
(только запись), OPEN_RW (чтение и запись)), возвращает
|
||
идентификатор файла (целое число), в случае ошибки,
|
||
возвращает -1
|
||
|
||
PROCEDURE Read(F, Buffer, Count: INTEGER): INTEGER
|
||
Читает данные из файла в память. F - числовой идентификатор
|
||
файла, Buffer - адрес области памяти, Count - количество байт,
|
||
которое требуется прочитать из файла; возвращает количество
|
||
байт, которое было прочитано из файла
|
||
|
||
PROCEDURE Write(F, Buffer, Count: INTEGER): INTEGER
|
||
Записывает данные из памяти в файл. F - числовой идентификатор
|
||
файла, Buffer - адрес области памяти, Count - количество байт,
|
||
которое требуется записать в файл; возвращает количество байт,
|
||
которое было записано в файл
|
||
|
||
PROCEDURE Seek(F, Offset, Origin: INTEGER): INTEGER
|
||
устанавливает позицию чтения-записи файла с идентификатором F
|
||
на Offset, относительно Origin = (SEEK_BEG - начало файла,
|
||
SEEK_CUR - текущая позиция, SEEK_END - конец файла),
|
||
возвращает позицию относительно начала файла, например:
|
||
Seek(F, 0, 2) - устанавливает позицию на конец файла и
|
||
возвращает длину файла; при ошибке возвращает -1
|
||
|
||
PROCEDURE Close(F: INTEGER)
|
||
закрывает ранее открытый файл с идентификатором F
|
||
|
||
PROCEDURE Delete(FName: ARRAY OF CHAR): BOOLEAN
|
||
удаляет файл с именем FName (полное имя с путем),
|
||
возвращает TRUE, если файл успешно удален
|
||
|
||
PROCEDURE Exists(FName: ARRAY OF CHAR): BOOLEAN
|
||
возвращает TRUE, если файл с именем FName (полное имя)
|
||
существует
|
||
|
||
PROCEDURE Load(FName: ARRAY OF CHAR; VAR Size: INTEGER): INTEGER
|
||
загружает в память существующий файл с именем FName (полное имя с
|
||
путем), возвращает адрес памяти, куда был загружен файл,
|
||
записывает размер файла в параметр Size;
|
||
при ошибке возвращает 0
|
||
|
||
PROCEDURE CreateDir(DirName: ARRAY OF CHAR): BOOLEAN
|
||
создает папку с именем DirName, все промежуточные папки
|
||
должны существовать. В случае ошибки, возвращает FALSE
|
||
|
||
PROCEDURE RemoveDir(DirName: ARRAY OF CHAR): BOOLEAN
|
||
удаляет пустую папку с именем DirName. В случае ошибки,
|
||
возвращает FALSE
|
||
|
||
PROCEDURE ExistsDir(DirName: ARRAY OF CHAR): BOOLEAN
|
||
возвращает TRUE, если папка с именем DirName существует
|
||
|
||
------------------------------------------------------------------------------
|
||
MODULE DateTime - дата, время
|
||
|
||
CONST ERR = -7.0E5
|
||
|
||
PROCEDURE Now(VAR Year, Month, Day, Hour, Min, Sec, MSec: INTEGER)
|
||
возвращает в параметрах компоненты текущей системной даты и
|
||
времени
|
||
|
||
PROCEDURE NowEncode(): REAL;
|
||
возвращает текущую системную дату и
|
||
время (представление REAL)
|
||
|
||
PROCEDURE Encode(Year, Month, Day,
|
||
Hour, Min, Sec, MSec: INTEGER): REAL
|
||
возвращает дату, полученную из компонентов
|
||
Year, Month, Day, Hour, Min, Sec, MSec;
|
||
при ошибке возвращает константу ERR = -7.0E5
|
||
|
||
PROCEDURE Decode(Date: REAL; VAR Year, Month, Day,
|
||
Hour, Min, Sec, MSec: INTEGER): BOOLEAN
|
||
извлекает компоненты
|
||
Year, Month, Day, Hour, Min, Sec, MSec из даты Date;
|
||
при ошибке возвращает FALSE
|
||
|
||
------------------------------------------------------------------------------
|
||
MODULE Args - параметры программы
|
||
|
||
VAR argc: INTEGER
|
||
количество параметров программы, включая имя
|
||
исполняемого файла
|
||
|
||
PROCEDURE GetArg(n: INTEGER; VAR s: ARRAY OF CHAR)
|
||
записывает в строку s n-й параметр программы,
|
||
нумерация параметров от 0 до argc - 1,
|
||
нулевой параметр -- имя исполняемого файла
|
||
|
||
------------------------------------------------------------------------------
|
||
MODULE Utils - разное
|
||
|
||
PROCEDURE Utf8To16(source: ARRAY OF CHAR;
|
||
VAR dest: ARRAY OF CHAR): INTEGER;
|
||
преобразует символы строки source из кодировки UTF-8 в
|
||
кодировку UTF-16, результат записывает в строку dest,
|
||
возвращает количество 16-битных символов, записанных в dest
|
||
|
||
PROCEDURE PutSeed(seed: INTEGER)
|
||
Инициализация генератора случайных чисел целым числом seed
|
||
|
||
PROCEDURE Rnd(range: INTEGER): INTEGER
|
||
Целые случайные числа в диапазоне 0 <= x < range
|
||
|
||
------------------------------------------------------------------------------
|
||
MODULE WINAPI - привязки к некоторым API-функциям Windows |