Иллюстрированный самоучитель по Turbo Pascal

Процедуры и функции для работы с файлами

Процедура GETFATTR

Позволяет получить атрибуты файла. Формат обращения:

GETFATTR (<ф.п.>, <атрибуты>)

Здесь <атрибуты> – переменная типа WORD, в младшем байте которой возвращаются устанавливаемые атрибуты файла.

Процедура SETFATTR

Позволяет установить атрибуты файла. Формат обращения:

SETFATTR (<ф.п.>, <атрибуты>)

Функция FSEARCH: PATHSTR

Ищет файл в списке каталогов. Формат вызова:

FSEARCH (<имя>, <сп.каталогов>)

Здесь:

  • <имя> – имя отыскиваемого файла (строковое выражение или переменная типа PATHSTR; имени может предшествовать путь);
  • <сп.каталогов> – список каталогов, в которых отыскивается файл (строковое выражение или переменная типа STRING); имена каталогов разделяются точкой с запятой.

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

Тип PATHSTR в модуле DOS.TPU объявлен следующим образом:

type
PathStr = String[79];

Следует учесть, что поиск файла всегда начинается в текущем каталоге и только после этого продолжается в тех, что перечислены в <сп.каталогов>. Если файл обнаружен, дальнейший поиск прекращается, даже если часть каталогов осталась непросмотренной. В частности, если файл зарегистрирован в текущем каталоге, он "заслонит" собой одноименные файлы в других каталогах.

Пусть, например, на диске имеется файл \SUBDIR\MYFILE.PAS. Тогда в случае, если текущий каталог – корневой, обращение:

FSEARCH ('MYFILE,PAS','\SUB; \SUBDIR').

Вернет строку \SUBDIR\MYFILE.PAS, а обращение:

FSEARCH ('MYFILE.PAS1,'\SUB')

Вернет пустую строку. Однако, если текущим установлен каталог SUBDIR, то в обоих случаях вернется строка MYFILE.PAS (если файл находится в текущем каталоге,в выходной строке путь к нему не указывается).

Процедура FSPLIT

"Расщепляет" имя файла, т.е. возвращает в качестве отдельных параметров путь к файлу, его имя и расширение. Формат обращения:

FSPLIT (<файл>, <путь>, <имя>, <расширение>)

Здесь:

  • <файл> – строковое выражение, содержащее спецификацию файла (имя с расширением и, возможно, с предшествующим путем);
  • <путь> – переменная типа DIRSTR=STRING [67], в которой возвращается путь к файлу;
  • <имя> – переменная типа NAMESTR=STRING [8], в которой возвращается имя файла;
  • <расширение> – переменная типа EXTSTR=STRING [4], в которой возвращается расширение с предшествующей ему точкой.

Процедура не проверяет наличие на диске указанного файла. В качестве входного параметра может использоваться переменная типа PATHSTR.

Функция FEXPAND: PATHSTR

Дополняет файловое имя до полной спецификации, т.е. с указанием устройства и пути. Формат вызова:

FEXPAND (<файл>)

Здесь <файл> – строковое выражение или переменная типа PATHSTR.

Функция не проверяет наличие указанного файла на диске, а просто дополняет имя файла недостающими параметрами – текущим устройством и путем к текущему каталогу. Результат возвращается в строке типа PATHSTR.

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.