Файловые переменные, описанные в программе, не могут участвовать в операторах присваивания.
При использовании файловых переменных любого типа в качестве формальных параметров заголовков процедур и функций они всегда должны быть описаны как 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 на диске А: }