Переменные
var
Input : Text;{Стандартный файл ввода}
Output : Text;{Стандартный файл вывода}
SaveInt00: Pointer;{Сохранение вектора $00}
.....
SaveInt75: Pointer;{Сохранение вектора $75}
Input и Output - стандартные файлы, необходимые в каждой реализации языка Паскаль. По умолчанию они ссылаются на стандартные входные и выходные файлы ДОС: Input - на клавиатуру, Output - на экран.
В момент загрузки среда Турбо Паскаля изменяет значения 18 векторов прерывания (векторы $00, $02, $1N, $21, $23, $24, $35, $36, $37, $38, $39, $ЗА, $ЗВ, $ЗС, $3D, $3E, $3F и $75). В переменных SaveIntXX сохраняются старые значения этих векторов (XX - номер вектора: SavelntOO - для вектора $00, SaveIntlB - для вектора $1В и т.д.).
Стандартные процедуры и функции
Процедуры управления
Procedure Break Обеспечивает немедленный выход из операторов повторения.
Procedure Continue Завершает очередной итерационный цикл операторов повторения.
Procedure Exit Позволяет немедленно выйти из текущей подпрограммы. При вызове из тела основной программы завершает ее работу.
Procedure Halt [ (ExitCode: Word)] Останавливает выполнение программы и возвращает управление в операционную систему. Необязательный параметр ExitCode определяет код завершения программы.
Procedure RunError [ (ErrorCode: Byte)] Останавливает выполнение программы и генерирует ошибку периода выполнения программы. Необязательный параметр ErrorCode определяет код ошибки.
Процедуры динамического распределения памяти
Procedure Dispose(var P: Pointer [,Destructor]) Уничтожает динамическую переменную, связанную с указателем Р. Необязательный параметр Destructor определяет метод-деструктор для динамического объекта.
Procedure FreeMem(var P: Pointer; Size: Word) Уничтожает динамическую переменную P размером Size байт.
Procedure GetMemtvar Р: Pointer; Size: Word) Создает новую динамическую переменную Р заданного размера Size.
Procedure Mark(var P: Pointer) Записывает в указателе Р текущее состояние кучи.
Procedure New(var P; Pointer [,Constructor]) Создает новую динамическую переменную, связанную с указателем Р. Необязательный параметр Constructor определяет метод-конструктор для динамического объекта.
Procedure Release (var P: Pointer) Возвращает кучу в состояние, которое было сохранено в указателе Р процедурой Mark.
Функции динамического распределения памяти
Function MaxAvail: LongInt Возвращает размер наибольшего непрерывного свободного блока кучи, соответствующий размеру наибольшей динамической переменной, которая может быть помещена в кучу.
Function MemAvail; LongInt Возвращает количество имеющихся в куче свободных байт памяти.
Функции преобразования
Процедуры Pack и UnPack, определенные в стандартном Паскале, в Турбо Паскале не реализованы. Function Chr(X: Byte): Char Возвращает символ с заданным порядковым номером X.
Function Ord(X) : LongInt Возвращает порядковый номер, соответствующий значению X порядкового типа.
Function Round (R: Real) : LongInt Округляет значение R вещественного типа до ближайшего целого.
Function Trunc(R: Real): LpngInt Усекает значение вещественного типа до значения типа LongInt путем отбрасывания дробной части.
Арифметические функции
При компиляции в режиме использования сопроцессора или его эмуляции арифметические функции возвращают значение типа EXTENDED, в противном случае - типа REAL.
Function Abs(R; Real): Real Возвращает абсолютное значение аргумента.
Function ArcTan(R: Real): Real Возвращает арктангенс аргумента.
Function Cos(R: Real): Real Возвращает косинус аргумента.
Function Exp(R; Real): Real Возвращает экспоненту аргумента.
Function Frac(R; Real): Real Возвращает дробную часть аргумента.
Function Int(R; Real): Real Возвращает целую часть аргумента.
Function Ln(R: Real) : Real Возвращает натуральный логарифм аргумента.
Function Pi: Real Возвращает значение числа pi=3.1415926535897932385.
Function Sin(R: Real): Real Возвращает синус аргумента.
Function Sqr(R: Real): Real Возвращает аргумент в квадрате.
Function Sqrt(R; Real): Real Возвращает квадратный корень аргумента.
Процедуры порядкового типа
Procedure Dec (var X [; DX: LongInt] ) Уменьшает значение переменной X на величину DX, а если параметр DX не задан - на 1.
Procedure Inc (var X [; DX: LongInt]) Увеличивает значение переменной X на величину DX, а если параметр DX не задан - на 1.
Функции порядкового типа
Function Odd(X) : Boolean Проверяет, является ли аргумент нечетным числом.
Function Pred(X) Возвращает предшествующее значение аргумента. Тип результата совпадает с типом аргумента.
Function Succ(X) Возвращает последующее значение аргумента. Тип результата совпадает с типом аргумента.
Строковые процедуры
Procedure Delete (var S: String; Index, Count: Integer) Удаляет Count символов из строки S, начиная с позиции Index.
Procedure Insert (SubS: String; var S: String; Index: Integer) Вставляет подстроку SubS в строку 5, начиная с позиции Index.
Procedure Str(X [: width [: Decimals]]; var S: String) Преобразует численное значение X в его строковое представление S.
Procedure Val(S; String; var X; var Code: Integer) Преобразует строковое значение S в его численное представление X. Параметр Code -содержит признак ошибки преобразования (0 - нет ошибки).
Строковые функции
Function Concat(S1 [, S2,...,SN]): String Выполняет конкатенацию последовательности строк.
Function Copy(S: String; Index, Count: Integer): String Возвращает подстроку из строки S, начиная с позиции Index и длиной Count символов.
Function Length(S: String): Byte Возвращает текущую длину строки S.
Function Pos(SubS, S: String): Byte Возвращает позицию, начиная с которой в строке S располагается подстрока SubS (О - S не содержит SubS).
Функции для работы с указателями и адресами
Function Addr (X) : Pointer Возвращает адрес заданного объекта X.
Function Assigned: (var P) : Boolean Проверяет, хранит ли ли указатель Р значение, отличное от NIL, и возвращает TRUE в этом случае.
Function CSeg: Word Возвращает текущее значение регистра CS. Function DSeg: Word Возвращает текущее значение регистра DS. Function Of s (X) ; Word Возвращает смещение заданного объекта.
Function Ptr(Seg, 0£s: Word): Pointer Преобразует сегмент Seg и смещение Ofs в значение типа указатель.
Function Seg (X) : Word Возвращает сегмент для заданного объекта X.
Function SPtr: Word Возвращает текущее значение регистра SP.
Function SSeg: Word Возвращает текущее значение регистра SS.
Процедуры разного назначения
Procedure Exclude (var S: set of Т; I: T) Исключает элемент T из множества S.
Procedure FillChar(var X; Count: Word; Value) Заполняет заданное количество Count последовательных байт переменной X указанным значением Value (выражение любого порядкового типа).
Procedure Include (var S: set of Т; I; T) Включает элемент T во множество 5.
Procedure Move (var X, Y,- Count: Word) Копирует заданное количество последовательных байт из источника X в переменную Г.
Procedure Randomize Инициализирует случайным значением (текущим системным временем) встроенный генератор псевдослучайных чисел.
Функции разного назначения
Function Hi(X; Word) : Byte Возвращает старший байт аргумента X. Function High (X) Возвращает максимальное значение порядкового типа. Function Lo(X: Word): Byte Возвращает младший байт аргумента X. Function Low(X) Возвращает минимальное значение порядкового типа.
Function ParamCount: Word Возвращает число параметров, переданных программе в командной строке (строке вызова).
Function ParamStr(N; Byte): String Возвращает N-ый параметр командной строки.
Function Random [ (Range: Word)] Возвращает псевдослучайное число. Если параметр Range опущен, функция возвращает вещественное число в диапазоне от 0 до 1, если указан - целое число в диапазоне от 0 до Range-1.
Function SizeOf(X): Word Возвращает число байт, занимаемых аргументом.
Function Swap(X) Производит перестановку старших и младших байт двухбайтного аргумента X. Тип функции соответствует типу аргумента.
Function UpCase(C: char): Char Преобразует латинскую букву в заглавную.
Процедуры ввода/вывода
Procedure Assign (var F; Name: String) Связывает внешний файл Name с файловой переменной F.
Procedure ChDir(S: String) Устанавливает текущий каталог.
Procedure Close (var F) Закрывает открытый файл.
Procedure Erase (var F) Удаляет внешний файл.
Procedure GetDir(D: Byte; var S: String) Возвращает каталог по умолчанию S на заданном диске D.
Procedure MkDirtS: String) Создает подкаталог S.
Procedure Rename (var F) Переименовывает внешний файл.
Procedure Reset (var F) Открывает существующий файл для чтения или изменения.
Procedure Rewrite (var F) Создает и открывает новый файл.
Procedure RmDir(S: String) Удаляет пустой подкаталог.
Procedure Seek (var F; N: LongInt) Устанавливает текущую позицию файла на указанный элемент (не используется с текстовыми файлами).
Procedure Truncate (var F) Усекает размер файла до текущей позиции в файле (не используется с текстовыми файлами)
Функции ввода/вывода
Function EOF (var F) ; Boolean Возвращает для файла F признак конца файла.
Function FilePos (var F) : LongInt Возвращает текущую позицию в файле (не используется с текстовыми файлами)
Function FileSize(var F) : LongInt Возвращает текущий размер файла (не используется с текстовыми файлами).
Function IQResult; Integer Возвращает целое значение, являющееся состоянием последней выполненной операции ввода/вывода.
Процедуры для текстовых файлов
Procedure Append (var F: Text) Открывает существующий файл для расширения.
Procedure Flush (var F: Text) Выталкивает буфер файла вывода.
Procedure Read ([var F: Text;] V1 [, V2,...,VN]) Считывает одно или более значений из текстового файла в одну или более переменных.
Procedure Readln Выполняет те же действия, что и Read, а потом делает пропуск до начала следующей строки файла.
Procedure SetTextBuf (var F: Text; var Buf [; Size: Word]) Назначает буфер ввода/вывода для текстового файла. Параметр Size определяет длину буфера в байтах (если Size опущен, длина буфера равна 128 байтам).
Procedure Write([var F: Text;] V1 [, V2,...,VN]) Записывает в текстовый файл одно или более значений.
Procedure WriteLn Выполняет те же действия, что и Write, а затем добавляет к файлу маркер конца строки.
Функции для текстовых файлов
Function Eolntvar F: Text): Boolean Возвращает признак конца строки.
Function SeekEof [ (var F: Text)]: Boolean Возвращает признак конца файла. Предварительно пропускает все пробелы, символы табуляции и признаки конца строк.
Function SeekEoln [ (var F: Text)]: Boolean Возвращает признак конца строки. В отличие от Eoln предварительно пропускает все пробелы и символы табуляции.
Процедуры для нетипизированных файлов
Procedure BlockRead(var F: File; var Buf; Count; Word [;var Result; Word]) Считывает в переменную Buf Count записей из файла F. Необязательный параметр Result содержит истинное количество считанных записей.
Procedure BlockWrite(var F; File; var Buf; Count: Word [;var Result: Word]) Передает Count записей из переменной Bufe файл F. Необязательный параметр Result содержит истинное количество переданных записей.