Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Практикум_11.doc
Скачиваний:
26
Добавлен:
14.02.2016
Размер:
282.11 Кб
Скачать

Ф у н к ц и и

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

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

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

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

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

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

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

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

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

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

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

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

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

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

program pr;

uses printer;

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

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

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

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

begin

{создание файла}

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

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

Writeln(‘Введите длину файла’);

Readln(n);

for i:=1 to n do

begin

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

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

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

end;

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

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

Writeln(lst,’созданный файл’);

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

for i:=1 to n do

begin

Read(f,a);

Writeln(lst,i:3,’-й элемент =’,a)

end

end.

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