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