Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Практическое занятие№10«Работа с файлами послед...docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
61.02 Кб
Скачать

3.2. Функции

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

Eof (fv) - проверить маркер «конец файла». Значение функции равно True, если указатель файла находится сразу за последнем элементом файла, и False - в любом другом случае.

FilePos (fv) - определить текущий номер элемента файла. Функция возвращает целое значение, равное номеру элемента, на котором в данный момент установлен указатель файла. Отсчет номера элемента осуществляется с нуля.

FileSize (fv) - определить длину файла. Функция возвращает целое значение, которое равно количеству элементов файла, соответствующего переменной fv.

IOResult - проверить результат выполнения последней операции ввода-вывода на наличие ошибок. Если обнаружена ошибка, то возвращается ее номер. Если ошибок нет, то возвращается значение 0. Эта функция используется при пассивном состоянии директивы компилятора I {$I -}.

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

4. Файлы последовательного доступа

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

Работа с последовательным файлом предполагает создание файла, его обработку и корректировку.

Для создания последовательного файла необходимо выполнить следующие шаги:

  • присвоить имя файловой переменной (процедура Assign);

  • открыть (создать) новый файл (процедура Rewrite);

  • подготовить информацию для ввода;

  • записать в файл компоненты (процедура Write);

  • закрыть созданный файл (процедура Close).

При обработке файла выполняются те же шаги, но нужно открыть уже существующий файл (процедура Reset) и последовательно считывать компоненты (процедура Read).

При расширении файла новые компоненты записываются сразу за последним компонентом корректируемого файла.

В качестве примера приведем программу создания и печати файла, которая может иметь следующий вид:

Uses printer;

Var

а : real; {промежуточная переменная}

f: file of real; {создаваемый файл}

l: integer; {счетчик элементов}

n : integer; {число элементов базы}

Begin

Assign(f, 'li.lab'); {присвоить имя li.lab}

Rewrite(f); {создать файл на диске}

writeln('Введите длину файла n');

ReadLn(n);

for i := 1 to n do

begin

writeln ('Введите', i:3, '-и элемент файла');

ReadLn(a); {ввести элемент}

Write(f, а); {записать элемент в файл}

end;

Close(f); {закрыть файл}

{чтение и печать созданного файла}

WriteLn(lst, 'созданный файл');

Reset(f); {установить указатель в начало}

for i := 1 to n do

begin

Read(f, a);

WriteLn(lst, i:3, '-и элемент =', a);

End

End.

5. Текстовые файлы

Текстовый файл - это файл, состоящий из элементов, являющихся строками. Каждая строка в текстовом файле завершается маркером конца строки. Текстовый файл завершается маркером конца файла. Для описания файловых переменных текстового типа используется стандартный и идентификатор Text.