============================================================================== Библиотека (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