Приложение 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 к обычной строке
|