Лекция: Процедура Erase (var F);

Удаляет неоткрытый внешний файл любого типа.

Пример 2. Удаление или переименование файла.

Var F:file; ch:char; St:string;

begin

Write (‘Введите имя файла: ’); ReadLn (St); Assign (F,St); {назначаем имя файловой переменной} Write (‘Удалить файл (У), Переименовать (П), выход (В)’); ReadLn(ch);

Case ch of

‘У’, ‘у’: Erase (F); { удаляем файл }

‘П’, ‘п’: begin Write(‘Введите новое имя файла: ’);

Readln(St);

Rename (F,St); { переименовываем файл } end;

‘В’, ‘в’: Halt (1);

end;

end.

 

В предыдущем примере выбор действий целиком зависел от того, что будет введено с клавиатуры. Этот вариант программы не позволяет обрабатывать ошибочные ситуации в случае, если файл с именем st не существует на диске.

Для того чтобы файловые операции выполнялись чётко и без ошибок используют специальную функцию.

Функция IOResult: integer;

Используется эта функция в программах в том случае, если на время выполнения файловых операций отключена стандартная проверка операций ввода – вывода.

Для этих целей используется либо специальная опция в интегрированной системе, либо директива компилятора {$I}, которая может задаваться внутри текста программы.

 

Пример 3.Программа для проверки существования файла на диске.

Var F:file; St: string;

begin

Write (‘Введите имя файла: ’);

ReadLn (St);

Assign (F, St); {назначаем имя файловой переменной }

{$I-} {отключаем стандартную обработку ошибок}

Reset (F); {открываем файл }

{$I+} {включаем стандартную обработку ошибок}

if IOResult=0 then

begin WriteLn (‘Файл существует и нормально открыт’); Close (F);

end

else WriteLn (‘Файла с именем ’ + St + ’ на диске нет.’);

end.

После корректного выполнения операции ввода-вывода функция Ioresult возвращает значение, равное нулю, в остальных функция возвращает соответствующий код ошибки.

еще рефераты
Еще работы по информатике