Программирование в среде Турбо Паскаль (Поляков, Круглов) - страница 144

Файловые переменные, описанные в программе, не могут участвовать в операторах присваивания.

При использовании файловых переменных любого типа в качестве формальных параметров заголовков процедур и функций они всегда должны быть описаны как VAR-параметры.

- 225 -

12.5. Общие процедуры для работы с файлами


Турбо Паскаль вводит ряд стандартных процедур, применимых к файлам любых типов (табл. 12.2). Кроме этого, существует ряд их расширений и специальных процедур для работы с различными типами файлов. Такие процедуры будут рассматриваться в разделах, посвященных различным типам файлов. Описания процедур ввода и вывода данных Write, WriteLn, Read и ReadLn не включены в этот раздел, так как они достаточно сильно различаются при работе с разными типами файлов, а иногда (при работе с бестиповыми файлами) и вовсе теряют смысл.

В Турбо Паскале не определены процедуры ввода и вывода в файлы Get(f) и Put(f), и их функции выполняют другие процедуры ввода-вывода. Не определено также обращение к буферной переменной f^.

Таблица 12.2

Процедура или функция

Действие

Assign(VAR f; FileName : String)

Связывает файловую переменную f с именем физического файла, заданным в строке FileName

Reset(VAR f)

Открывает файл с логическим именем f для чтения

Rewrite(VAR f)

Открывает файл с логическим именем f для записи

Close(VAR f)

Закрывает канал ввода-вывода файла с логическим именем f

Rename(VAR f; NewName : String))

Переименовывает физический файл, ранее связанный с файловой переменной f, в имя NewName. Должна вызываться до открытия файла (применима лишь к закрытым файлам)

Erase(VAR f)

Стирает (если это возможно) физический файл, связанный с файловой переменной f с носителя информации. Стираемый файл должен быть закрытым

- 226 -

EOF(VAR f) : Boolean

Возвращает значение True, если достигнут конец файла f, т.е. из него ничего уже нельзя прочитать или файл пуст. Иначе возвращает False

Файловая переменная f может иметь любой файловый тип.

12.5.1. Связывание файлов


Процедура Assign (VAR f; FileName: String) устанавливает связь между логическим файлом, описываемым файловой переменной f любого файлового типа, и конкретным файлом MS-DOS, название которого содержится в строковом параметре FileName. Иными словами, логический файл f связывается с физическим файлом FileName. Строка FileName может содержать имя файла на диске (в том числе полное имя файла), имя стандартного устройства MS-DOS ('CON', PRN' и т.п.) или пустую строку '':

Assign( f, 'file.dat' ); {связь с файлом текущего каталога }

Assign( f, 'a:\x.pas' ); {связь с файлом x.pas на диске А: }