0,0 → 1,312 |
============================================================================== |
|
Библиотека (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 |