
Подпрограммы обработки директорий
Приведем здесь также несколько стандартных процедур, осуществляющих работу с директориями, а также с файлами, но внешним относительно самих файлов образом (без их открытия).
Процедура erase(f: file) удалит файл, связанный с файловой переменной f. Если такого файла нет, произойдет ошибка, реакцию на которую можно отрегулировать при помощи директивы компилятора {$I} (см. лекцию 6).
Процедура rename(f: file; s: string) даст файлу, связанному с файловой переменной f, новое имя, указанное в строке s. Если такого файла нет, произойдет ошибка.
Процедура chdir(s: string) сделает текущей директорию, указанную в строке s. Если такой директории нет, произойдет ошибка.
Процедура getdir(disk: byte; s:string) запишет в строку s имя текущей директории на указанном диске (0 - текущий диск, 1 - диск А , 2 - диск В и т.д.).
Процедура mkdir(s: string) создаст в текущей директории новую поддиректорию с указанным в строке s именем. Если в текущей директории уже существуют файл или директория с указанным именем, произойдет ошибка.
Процедура rmdir(s: string) удалит пустую директорию с заданным в строке s именем. Если такой директории нет, произойдет ошибка.
Применимость подпрограмм обработки файлов
Сведем информацию о применимости процедур и функций работы с файлами в единую таблицу.
|
Текстовые |
Типизированные |
Нетипизированные |
append |
+ |
|
|
assign |
+ |
+ |
+ |
blockread |
|
|
+ |
blockwrite |
|
|
+ |
close |
+ |
+ |
+ |
eof |
+ |
+ |
+ |
eoln |
+ |
|
|
filepos |
|
+ |
+ |
filesize |
|
+ |
+ |
read |
+ |
+ |
|
readln |
+ |
|
|
reset |
+ |
+ |
+ |
rewrite |
+ |
+ |
+ |
seek |
|
+ |
+ |
seekeof |
+ |
|
|
seekeoln |
+ |
|
|
truncate |
|
+ |
+ |
write |
+ |
+ |
|
writeln |
+ |
|
|
Замечание: Реакция на ошибку, возникающую при выполнении любой из перечисленных здесь подпрограмм, зависит от состояния директивы компилятора {$I}.