Приложение 2

ПЕРЕМЕННЫЕ, ПРОЦЕДУРЫ И ФУНКЦИИ МОДУЛЯ SYSTEM

Модуль SYSTEM автоматически связывается с любой программой, поэтому объявленные в его интерфейсной части типы, константы, переменные и подпрограммы доступны программисту в любой момент. В этом приложении приводится (в алфавитном порядке) список всех объявлений модуля в его интерфейсной секции. Следует заметить, что большинство объявлений осталось неизменным еще со времен давнего предшественника Delphi - системы программирования Turbo Pascal. Кроме того, многие подпрограммы описаны в других разделах книги (работа с файлами, с вариантами, преобразование строк и т. п.).

function Abs(X) ; | Возвращает абсолютную величину выражения x (целого или вещественного типа)

function Addr(X): Pointer; | Возвращает адрес переменной или подпрограммы х
var AllocMemCount: Integer; | Возвращает полное количество блоков памяти, выделенных программе
var A11 о cMemS ize: Integer; | Возвращает полное количество памяти (в байтах), выделенное программе
procedure Append (var F: Text); | Открывает текстовый файл f для добавления новых строк
function ArcTan(X: Extended): Extended; | Возвращает Арктангенс (в радианах) x
procedure Assert (expr : Boolean [;const msg: Strings; | Проверяет условное выражение ехрг. Выдает сообщение msg и останавливает программу, если выражение имеет значение False, в противном случае ничего не делает
procedure AssignFile (var F; File Name: String) ; | Связывает файловую переменную F с файлом, указанным в FileName
function Assigned (var P) : Boolean; | False, если указатель р связан с nil (т. е. не указывает на область памяти)

procedure BlockRead(var F: File; var Buf; Count: Integer [; var AmtTransferred: Integer]); | Читает из файла, связанного с f, в буфер Buf не более count блоков и возвращает в AmtTransfered истинное количество прочитанных блоков

procedure BlockWrite (var f: File; var Buf; Count: Integer [; var pa Buf не более Count блоков и возвращает AmtTransferred: Integer]);procedure Break; | Записывает в файл, связанный с F, в AmtTransfered истинное количество записанных блоковНемедленно прекращает выполнение циклов for, while или repeat

procedure ChDir(S: Strings; | Изменяет умалчиваемый каталог на каталог, заданный выражением s
function Chr(X: Byte): Char; | Преобразует байт х в символ
procedure Close(var F) ; | Закрывает файл F
procedure CloseFile(var F); | Закрывает файл f
var CmdLine: PChar; | Содержит параметры запуска программы
var CmdShow: Integer; | Содержит статус окна, открытого API- функцией showwindow
function CompToCurrency(acomp: Comp): Currency; cdecl; | Преобразует тип Comp к типу currency
function CompToDouble(acomp: Comp): Double; cdecl; | Преобразует тип Comp к типу Double
function Concat(sl [, s2,..., sn]: String): String; | Объединяет строки Si в единую строку
procedure Continue; | Прекращает очередную итерацию цикла for, while или repeat
function Copy(S; Index, Count: Integer): Stringy; function Copy(S; Index, Count: Integer): array; | Возвращает подстроку или сегмент динамического массива
function Cos(X: Extended): Ex tended/ | Возвращает косинус аргумента X, заданного в радианах
procedure CurrencyToComp (acurrency: Currency; var result: Comp); cdecl; | Преобразует тип currency к типу Comp
var DLLProc: Pointer; | Указывает точку входа в DLL-процедуру, которая выполняется в данный момент
procedure Dec(var X [ ; N: Long- Int]); | Уменьшает х на n, а если n опущено - на 1. х, n - любые порядковые типы, в том числе Int64
var Default8087CW: Word; | Содержит 0, если в ПК нет арифметического сопроцессора, в противном случае разряды слова указывают некоторые технические параметры сопроцессора
procedure Delete(var S: String; Index, Count: Integer); | Удаляет из строки s count символов начи ная с символа с номером index
procedure Dispose(var P: Pointer) ; | Освобождает память, связанную с указателем p
function DoubleToComp(adouble: Double; var result: Comp); cdecl; | Преобразует тип Double к типу Comp
var EmptyParam: OleVariant; | Указывает, что умалчиваемый параметр дуального интерфейса не используется
procedure EnumModules(Func: TEnumModuleFunc; Data: Pointers- overload; procedure EnumModules(Func: TEnumModuleFuncLW; Data: Pointer); overload; | Реализует обратный вызов (callback) для всех модулей и всех пакетов программы
procedure EnumResourceModules(Func: TEnumModuleFunc; Data: Pointer); | Реализует обратный вызов (callback) для всех ресурсных модулей программы
procedure EnumResourceMod- ules(Func: TEnumModuleFuncLW; Data: Pointer) ; |
function Eof(var F): Boolean; | Возвращает True, если достигнут конец файла f (любого типа)
function Eoln [(var F: Text) ]: Boolean- | Возвращает True, если достигнут конец строки или конец текстового файла
procedure Erase(var F) ; | Уничтожает файл, связанный с переменной F
var ErrorAddr: Pointer; | Содержит адрес исполняемого оператора, вызвавшего ошибку при прогоне программы
var ErrorProc: Pointer; | Содержит адрес входа в умалчиваемый обработчик ошибок
var ExceptProc: Pointed; | Содержит адрес входа в низкоуровневый обработчик исключений
procedure Exclude(var S: set of T;I:T) ; | Исключает элемент i из множества s
procedure Exit; | Завершает работу подпрограммы
var ExitCode: Integer; | Возвращает код завершения программы. В современных разработках используйте для этих целей секцию finalization
var ExitProc: Pointer; | Содержит адрес входа в процедуру завер шения программы
function Exp(X: Real): Real; | Возвращает х°, где е - основание натурального логарифма
var FileMode: Byte; | Указывает режим файла, открытого процедурой Reset: 0 - только чтение; 1 - только запись; 2 - чтение и запись
function FilePos(var F): Longint; | Возвращает текущую позицию в файле F
function FileSize(var F): Integer; | Возвращает размер нетекстового файла
procedure FillChar(var X; Count: Integer; Value: Byte); | Заполняет переменную х не более Count байтами со значением value
procedure Finalize( var V [; Count: Integer] ) ; | Освобождает динамически распределенную память, связанную с F
function FindClassHIn- stance(ClassType: TClass): Long Word; | Возвращает дескриптор модуля, в котором определен экземпляр класса ClassType
function FindHInstance( Address: Pointer): LongWord; | Возвращает дескриптор модуля, в котором определен адрес Address
function FindResourceHInstance (Instance: LongHord): LongWord; | Возвращает дескриптор ресурсного файла для экземпляра instance
procedure Flush(var F: Text); | Записывает буфер файла на диск
function Frac(X: Extended): Ex tended; | Возвращает дробную часть х
procedure FreeMem(var P: Pointer[; Size: Integer]); | Освобождает динамически распределенную память, связанную с P
procedure GetDir(D: Byte; var S: String) ; | Возвращает имя диска по его номеру
procedure GetMem(var P: Pointer;Size: Integer); | Связывает с указателем p size байт динамической памяти
procedure GetMemoryManager(var MemMgr: TMemoryManager); | Возвращает точку входа в менеджер динамической памяти
procedure Halt [ ( Exitcode: Integer) ] ; | Прекращает выполнение программы с кодом завершения ExitCode
var HeapAllocFlags: Word = 2; | Указывает, какую память получает менеджер динамической памяти от операционной системы (по умолчанию - gmemmoveable)
function Hi(X): Byte; | Возвращает старший байт 16-разрядного числа
function High(X); | Возвращает наивысшее значение диапазона порядкового типа, строки или открытого массива, к которому принадлежит х
function lOResult: Integer; | Возвращает статус последней операции ввода-вывода
procedure Inc(var X [ ; N: LongInt ] ); | Наращивает х на n, а если n отсутствует - на единицу
procedure Include(var S: set ofT; I:T); | Включает элемент i в множество S
procedure Initialize(var V [ ; Count: Integer ] ); | Инициализирует динамически распределенную переменную v, если она была создана не процедурой New
var Input: Text; | Системный файл ввода
procedure Insert(Source: String; var S: String; Index: Integers; | Вставляет подстроку source в строку s начиная с символа index
function Int(X: Extended): Ex tended; | Возвращает целую часть вещественной переменной
var IsConsole: Boolean; | Содержит True, если выполняется приложение консольного типа
var IsLibrary: Boolean; | Содержит True, если выполняется подпрограмма из DLL
function IsMemoryManagerSet: Boolean; | Возвращает True, если менеджер динамической памяти был изменен процедурой Set-MemoryManager
var IsMultiThread: Boolean; | Содержит True, если в программе инициировано несколько потоков
var JITEnable: Byte; | Указывает тип обработки исключения, возникающего в процессе отладки
function Length (S): Integer; | Возвращает длину строки
function Ln(X: Real): Real; | Возвращает натуральный логарифм х
function Lo(X): Byte; | Возвращает младший байт аргумента
function Low(X); | Возвращает наименьшее значение диапазона порядкового типа, строки или открытого массива, к которому принадлежит х
var Mainlnstance: LongWord; | Содержит дескриптор экземпляра главного модуля программы
var MainThreadID: LongWord; | Содержит дескриптор главного потока для текущего модуля
const Maxint = High(Integer); | Содержит максимальное значение типа integer (2 147 483 647)
const MaxLongint = High(Longint); | Содержит максимальное значение типа Longint(2 147 483 647)
procedure MkDir(S: String); | Создает новый каталог
procedure Move(const Source; var Dest; Count: Integers; | Переносит не более count байт из источника Source в приемник Dest
procedure New(var P: Pointer); | Создает новую динамическую переменную и связывает ее с p
var NoErrMsg: Boolean=False; | Указывает, будут ли ошибки периода исполнения программы сопровождаться сообщениями (False - будут)
var Null: Variant; | Используется для указания значения Null переменной вариантного типа
function Odd(X: Longint): Boolean; | Возвращает True, если аргумент - нечетное число
procedure OleStrToStrVar (Source: PWideChar; var Dest: String); | Копирует “широкую” (двухбайтную) строку в обычную строку Object Pascal
function Ord(X): Longint; | Возвращает порядковое значение перемен ной порядкового типа (в том числе и Int64)
var Output: Text; | Файл системного вывода для консольных приложений
function ParamCount: Integer; | Возвращает количество параметров запуска программы
function ParamStr(Index: Integer) : String; | Возвращает параметр запуска под номером index (для index=0 - имя исполняемого файла)
function Pi: Extended; | Возвращает число it=3,141592653589793
function Po3(Substr: String; S:String): Integer; | Возвращает номер символа, начиная с которого в строке s располагается подстрока Substr
function Pred(X) ; | Возвращает предыдущее значение для выражения х порядкового типа
function Ptr(Address: Integer): Pointer; | Преобразует Address в указатель
var RandSeed: Longint; | Определяет стартовое значение для генератора псевдослучайных последовательностей
function Random [ ( Range: Integer) ] ; | Возвращает очередное псевдослучайное число.
procedure Randomize; | Инициирует генератор псевдослучайных последовательностей.
procedure Read(var F / VI [/ V2,...,Vn ] ); | Читает из файла f заданное количество значений и помещает их в переменные vi
procedure Readin([ var F: Text; ] VI [, V2, . . ., Vn ] ) ; | Читает из файла f заданное количество строк и помещает их в переменные vi
procedure ReallocMem(var P: Pointer; Size: Integers; | Изменяет размер динамической переменной
procedure Rename(var F; Newname:String) ; procedure Rename(var F; Newname:PChar) ; | Переименовывает файл, связанный с файловой переменной f
procedure Reset(var F [: File; RecSize: Word ] ) ; | Открывает существующий файл для чтения и/или записи
procedure Rewrite(var F: File [; Recsize: Word ] ) ; | Создает новый файл и открывает его для записи
procedure RmDir(S: Strings; | Удаляет пустой каталог s
function Round(X: Extended): Int64; | Округляет вещественное число до ближайшего целого
procedure RunError [ ( Errorcode: Byte ) ]; | Останавливает работу программы и сообщает код ошибки
procedure Seek(var F; N: Long- Int) ; | Пропускает n байт от начала файла
function SeekEof [ (var F: Text) ]: Boolean; | Пропускает все байты до конца файла
function SeekEoln [ (var F: Text) ]: Boolean; | Пропускает все символы текстового файла до конца текущей строки
procedure Set8087CW(NewCW: Word); | Временно устанавливает новый режим работы арифметического сопроцессора
procedure SetLength(var S; NewLength: Integer); | Устанавливает новую длину строки или динамического массива
procedure SetMemoryManager (const MemMgr: TMemoryManager); | Устанавливает новый менеджер динамической памяти
procedure SetString(var s: String; buffer: PChar; len: Integer) ; | Копирует Len символов буфера Buffer в строку s
procedure SetTextBuf(var F: Text; var Buf [ ; Size: Integer] ); | Устанавливает внешний буфер Buf длиной size символов для файловой переменной f
function Sin(X: Extended): Ex tended; | Возвращает синус аргумента (в радианах)
function SizeOf(X): Integer; | Возвращает длину переменной х в байтах
function Slice(var A: array; Count: Integer): array; | Возвращает открытый массив, содержащий первые count элементов массива а
function Sqr(X: Extended): Extended; | Возвращает квадрат аргумента
function Sqrt(X: Extended): Extended; | Возвращает корень квадратный из аргумента
procedure Str(X [: Width [: Decimals ] ]; var S) ; | Преобразует х целого или вещественного типа в строку s с учетом длины width и количества знаков после запятой Decimals
function StringOfChar(Ch: CharCount: Integer): String; | Создает строку, состоящую из Count раз повторенного символа Ch
function StringToOleStr(const Source: String): PWideChar; | Копирует обычную строку в двухбайтную
function StringToWideChar(const Source: String; Dest: PWideChar; DestSize: Integer): PWideChar; | Преобразует обычную строку в строку с символами UNICODE
function Succ(X) ; | Возвращает следующее значение для порядкового аргумента х
function Swap(X) ; | Меняет местами байты в 16-разрядном слове
function Trunc(X: Extended): Int64; | Преобразует вещественное число к целому путем отбрасывания дробной части
procedure Truncate(var F) ; | Отсекает оставшуюся часть файла до его конца
const Unassigned: Variant; | Используется для указания варианта с не связанным (пустым) значением
function UpCase(Ch: Char): Char; | Преобразует строчный символ Ch в заглавный
procedure Val(S: String; var V;var Code: Integer); | Преобразует строковое значение в целую или вещественную величину
function VarArrayCreate(const Bounds: array of Integer; VarType: Integer): Variant; | Создает вариантный массив
function VarArrayDimCount(consfc A: Variant): Integer; | Возвращает количество измерении вариантного массива
function VarArrayHighBound (const A: Variant; Dim: Integer): Integers; | Возвращает верхнюю границу измерения вариантного массива
function VarArrayLock(var A: Variant): Pointers; | Блокирует вариантный массив и возвращает указатель на его данные
function VarArrayLowBound(const A: Variant; Dim: Integer): Integer; | Возвращает нижнюю границу измерения вариантного массива
procedure VarArrayRedim(var A: Variant; HighBound: Integer) ; | Перестраивает вариантный массив
function VarArrayRef(const A: Variant): Variants- | Преобразует вариантный массив к форме, необходимой при обращении к API- функциям
procedure VarArrayUnlock(var A: Variant) ; | Отменяет действие функции VarArrayLock
function VarAsType(const V: Variant; VarType: Integer): Variants; | Преобразует вариант к заданному типу
procedure VarCast(var Dest: Variant; const Source: Variant; VarType: Integer); | Преобразует вариант к заданному типу и сохраняет результат в Dest
procedure VarClear(var V : Variant) ; | Помещает в вариант пустое значение
procedure VarCopy(var Dest: Vari ant; const Source: Variants; | Копирует вариант-источник Source в вариант-приемник Dest
function VarFromDateTime (DateTime: TDateTime): Variants; | Преобразует дату-время в значение варианта
function VarIsArray(const V: Variant): Boolean; | Возвращает True, если v - вариантный массив
function VarIsEmpty(const V: Variant): Boolean; | Возвращает True, если вариант имеет пустое значение
function VarIsNull(const V: Variant) : Boolean; | Возвращает True, если вариант имеет значение Null
function VarToDateTime(const V: Variant): TDateTime) ; | Преобразует вариант в значение дата-время
function VarToStr(const V: Variant) : String; | Преобразует вариант в строку.
function VarType(const V: Vari ant) : Integers; | Возвращает тип хранящегося в варианте результата
procedure WideCharLenToStrVar (Source: PWideChar; SourceLen: Integer; var Dest: String); | Преобразует не более SourceLen символов строки UNICODE к обычной строке
function WideCharLenToString (Source: PWideChar; SourceLen: Integer): Strings; | Преобразует не более SourceLen символов строки UNICODE к обычной строке
procedure WideCharToStrVar (Source: PWideChar; var Dest: String); | Преобразует строку UNICODE к обычной строке