Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Паскаль / tp3 / tp3 / 24.doc
Скачиваний:
26
Добавлен:
10.12.2013
Размер:
175.62 Кб
Скачать

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

Соседние файлы в папке tp3