IntVar : integer;
LongIntVar : longint;
begin
Dec(IntVar); { IntVar := IntVar - 1 }
Dec(LongIntVar(Var, 5); { LongIntVar := LongIntVar - 5 }
end.
Процедура Delete
─────────────────────────────────────────────────────────────────
Назначение: Удаляет из строки подстроку.
Описание: Delete(var S : string; Indx : integer; Count : integer)
Примечания: Параметр S представляет собой переменную строкового типа. Параметры Indx и Count являются выражениями целого типа. Функция Delete удаляет символы, количество которых соответствует параметру Count, начиная с символа строки S, номер которого задан параметром Indx. Если значение параметра Indx превышает длину строки, то символы не удаляются. Если параметр Count задает больше символов, чем остается в строке, начиная с символа Indx, то удаляется остаток строки.
Прочее: См. также процедуры Insert, Copy, Concat, Length, Pos.
Процедура DiskFree Модуль WinDos
─────────────────────────────────────────────────────────────────
Назначение: Возвращает число свободных байт на заданном диске.
Описание: DiskFree(Disk : word)
Тип результата: Длинный целый (longint).
Примечания: Значение параметра Disk, равное 0, задает определенный по умолчанию диск, значение 1 указывает на диск A, 2 - на диск В и т.д. Если номер диска недействителен, то данная процедура возвращает значение -1.
Прочее: См. также процедуры DiskSize.
Пример:
uses WinDos;
begin
Writeln('Свободно ',DiskFree(0), div 1024,' килобайт');
end.
Процедура DiskSize Модуль WinDos
─────────────────────────────────────────────────────────────────
Назначение: Возвращает число свободных байт на заданном диске.
Описание: DiskSizе(Disk : word)
Тип результата: Длинный целый (longint).
Примечания: Значение параметра Disk, равное 0, задает определенный по умолчанию диск, значение 1 указывает на диск A, 2 - на диск В и т.д. Если номер диска недействителен, то данная процедура возвращает значение -1.
Прочее: См. также процедуры DiskFree, GetDir.
Пример:
uses WinDos;
begin
Writeln(DiskSize(0) div 1024,' килобайт');
end.
Процедура Dispose
─────────────────────────────────────────────────────────────────
Назначение: Уничтожает динамическую переменную.
Описание: Dispose(var P : pointer [, Destructor] )
Примечания: Параметр P является переменной-указателем и может иметь тип, соответствующий любому типу указателя. Для этого параметра должно быть предварительно выполнено присваивание с помошью процедуры New, или ему должно быть присвоено значащее значение с помощью оператора присваивания. Данная процедура уничтожает переменную, на которую указывает P и возвращает занимаемую ей память в динамически распределяемую область памяти. Значение P становится неопределенным и последующие ссылки вида P^ являются ошибкой.
Процедура Dispose расширена таким образом, что допускает теперь для уничтожения динамической переменной объектного типа в качестве второго параметра вызов деструктора. В этом случае параметр P - это переменная-указатель, указывающая на данный объект, а Destruct - вызов дуструктора данного объекта.
Ограничения: Если P не указывает на область динамически распределяемой памяти, то возникает ошибка этапа выполнения.
Полностью этот вопрос обсуждается в Главе 16 в разделе "Подсистема управления динамически распределяемой памятью".
Прочее: См. также процедуры New, GetMem, FreeMem.
Пример:
type
Str18 = sting[18];
var
p : ^Str18;
begin
New(p);
p^ := 'теперь вы можете это видеть...';
Dispose(p); { а теперь нет... }
end.
Процедура DoneWinCrt Модуль WinCrt
─────────────────────────────────────────────────────────────────
Назначение: Уничтожает окно CRT, если оно еще не отменено.
Описание: DoneWithCrt
Примечание: Вызов процедуры DoneWinCrt перед завершением программы предотвращает переход окна CRT в неактивное состояние. Таким образом, пользователю не нужно закрывать окно.
Функция DosVersion Модуль WinDos
─────────────────────────────────────────────────────────────────
Назначение: Возвращает номер версии DOS.
Описание: DosVersion
Тип результата: Результат имеет длину в слово (word).
Примечания: Данная функция возвращает номер версии DOS. Младший байт результата содержит основной номер версии, а старший байт - вспомогательный. Например, для DOS 3.20 в младшем байте возвращается значение 3, а в старшем байте - 20.
Пример:
uses WinDos;
var
Ver: Word;
begin
Ver := DosVersion;
Writeln('Номер версии DOS ', Lo(Ver), '.', Hi(Ver));
end;
Функция Dseg
─────────────────────────────────────────────────────────────────
Назначение: Возвращает текущее значение регистра DS.
Описание: DSeg
Тип результата: Результат имеет длину в слово (word).
Примечания: Результат длиной в слово представляет собой адрес сегмента данных.
Прочее: См. также функции CSeg, SSeg.
Функция Eof (текстовые файлы)
─────────────────────────────────────────────────────────────────
Назначение: Возвращает состояние "конец файла" (end-of-file) для текстовых файлов.
Описание: Eof(f)
Тип результата: Булевский (boolean).
Примечания: Параметр f представляет собой файловую переменную, определяющую текстовый файл. Если этот параметр опущен, то используется стандартная файловая переменная Input. Если текущая позиция в файле находится за последним элементом файла или если файл не содержит никаких элементов, то функция Eоf(f) возвращает значение Truе. В противном случае она возвращает значение False.
При указании директивы компилятора {$I+} функция IОRеsult будет возвращать значение 0 в том случае, если операция завершилась успешно, и ненулевой код ошибки в противном случае.
Прочее: См. также функции Eoln, SeekEof.
Пример:
var
f : text; ch : char;
begin { получить имя файла из командной строки }
Assign(f, ParamStr(1));
Reset(f);
while not Eof(f) do
begin
Read(f,ch); { вывести текстовый файл }
Write(ch);
end;
end.
Функция Eof (типизованные и нетипизованные файлы)
─────────────────────────────────────────────────────────────────
Назначение: Для типизованных или нетипизованных файлов возвращает состояние "конец файла" (end-of-file).
Описание: Eof(f)
Тип результата: Булевский (boolean).
Примечания: Параметр f представляет собой файловую переменную. Если текущая позиция в файле находится за последним элементом файла или если файл не содержит никаких элементов, то функция Еоf(f) возвращает значение Truе. В противном случае она возвращает значение False.
При указании директивы компилятора {$I+} функция IОRеsult будет возвращать значение 0 в том случае, если операция завершилась успешно, и ненулевой код ошибки в противном случае.
Функция Eoln
─────────────────────────────────────────────────────────────────
Назначение: Для файлов возвращает состояние "конец строки" (end-of-line).
Описание: Eoln [ (var f : text) ]
Тип результата: Булевский (boolean).
Примечания: Параметр f, если он задан, представляет собой файловую переменную, определяющую текстовый файл. Если этот параметр опущен, то подразумевается использование стандартной файловой переменной Input. Если текущая позиция в файле находится на метке конца строки, то функция Eоln(f) возвращает значение Truе. В противном случае она возвращает значение False.
При проверке состояния "конец строки" для стандартного ввода, направление которого изменено не было, следующая программа ожидает, пока не будет введен символ возврата каретки, а затем передает управление функции Eoln.
begin
WriteLn(Eoln); { Это приведет к тому, что }
{ программа будет ожидать ввода }
{ с клавиатуры }
end.
При указании директивы компилятора {$I+} функция IORеsult будет возвращать значение 0 в том случае, если операция завершилась успешно, и ненулевой код ошибки в противном случае.
Прочее: См. также функцию Eof.
Процедура Erase
─────────────────────────────────────────────────────────────────
Назначение: Стирает внешний файл.
Описание: Erase
Примечания: Параметр f представляет собой файловую переменную любого файлового типа. Внешний файл, связанный с переменной f, стирается.
При указании директивы компилятора {$I-} функция IORеsult будет возвращать значение 0 в том случае, если операция завершилась успешно, и ненулевой код ошибки в противном случае.
Ограничения: Процедура Еrase не должна использоваться для открытого файла.
Прочее: См. также процедуру Rename.
Пример:
var
f : file;
ch : char;
begin
{ получить из командной строки имя предназначенного для
удаления файла }
Assign(f, ParamStr(1));
{$I-}
Reset(f);
{$I+}
if IOResult <> 0 then
Write('Файл не найден ' ParamStr(1))
else
begin
Close();
Write('Стереть ', ParamStr(1)),'?');
Readln(ch);
if UpCase(ch) = 'Y' then
Erase(f);
end;
end.
Процедура Exit
─────────────────────────────────────────────────────────────────
Назначение: Выполняет немедленный выход из текущего блока.
Описание: Exit
Примечания: Когда процедура Ехit выполняется в подпрограмме (процедуре или функции), то происходит возврат управления из подпрограммы. Когда эта процедура выполняется в операторной части программы, она вызывает прекращение работы программы. Обращение к Ехit аналогично оператору перехода на оператор с меткой, адрес которого находится непосредственно после оператора end.
Прочее: См. также функцию Нalt.
Пример:
uses WinCrt;
procedure WasteTime;
begin
repeat
