Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
MET1.doc
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
1.14 Mб
Скачать

9. Файлы

Файл – последовательность компонент одного типа, причем длина последовательности заранее не определяется, а конкретизируется в процессе выполнения программы. Это единственный из типов данных Паскаля, с помощью которого имеют доступ к внешней памяти, что позволит записать данные на диск или считать данные с диска.

Файлы делятся на:

  1. типизированные файлы, у которых указывается тип компонент; все их компоненты одного размера (описываются File of <тип компонент>);

  2. нетипизированные файлы, у которых не указывается тип компонент (описываются File);

  3. текстовые файлы, компонентами которых являются символы, объединенные в строки неопределенной длины (описываются Text).

Работа с любым из файлов начинается с связывания файловой переменной с конкретным файлом (процедура Assign). В дальнейшем все действия с файлом будут вестись через эту файловую переменную. Затем файл должен быть открыт для чтения и/или записи (процедуры Rewrite, Reset или Append в зависимости от вида файла). После открытия файла можно организовать ввод/вывод данных (процедуры Read, Readln, Write или Writeln в зависимости от вида файла). Считывание или запись информации в файле осуществляется, начиная с позиции указателя текущей компоненты. Сразу после открытия указатель находится на первой компоненте. За последней компонентой находится признак конца файла (его можно отследить с помощью функции Eof). Помимо этого, в текстовых файлах каждая строка заканчивается признаком конца строки (его можно отследить с помощью функции Eoln).

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

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

Стандартные процедуры и функции для работы с файлами всех типов

  1. Assign (F, Name); - связь файловой переменной F с внешним файлом. Здесь Name – строковая переменная или константа, обозначающая полное имя файла (путь и имя). Если путь не указан, то подразумевается файл, находящийся в текущем каталоге.

  2. Rewrite (F); - открытие нового файла для записи. Если файл с таким именем уже существует, то его содержимое стирается.

  3. Reset (F); - открытие существующего файла для считывания или для записи.

  4. Close (F); - закрытие файла.

  5. Rename (F, NewName); - переименование внешнего файла (файл при этом не должен быть открыт).

  6. Erase (F); - уничтожение внешнего файла (файл при этом не должен быть открыт).

  7. Eof (F) : Boolean – функция определения конца файла. (Eof(F)=true, если достигнут конец файла)

  8. IOResult : Integer – функция определения ошибок, возникающих при работе с файлами. Эта функция возвращает результат последней операции ввода/вывода, если автоматический контроль за ошибками, возникающими при выполнении операций ввода/вывода, отключен с помощью директивы компилятора {$I-}. (IOResult=0, если операция ввода/вывода завершилась успешно, в противном случае >0)

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]