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

20.6.4. Процедуры и функции для работы с файлами.

Процедура CLOSE (<файловая переменная>);

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

Процедура RENAME (<имя файла>, <новое имя файла>);

Процедура переименовывает файл.

Процедура ERASE (<файловая переменная>);

Процедура уничтожает файл.

20.6.5. Типизированные файлы.

Длина любого компонента типизированного файла постоянна, что дает возможность организовать прямой доступ к каждому компоненту. Перед первым обращением к процедурам ввода/вывода указатель файла указывает на компоненту с номером 0. После каждого чтения или записи указатель перемещается на следующую компоненту. Переменные в списках ввода/вывода должны иметь тот же тип, что и компоненты файла. Если этих переменных в списке несколько, то указатель будет смещаться на соответствующее количество компонент после каждой операции обмена данными между переменными и дисковым файлом. Такой доступ называется последовательным к компонентам файла. В Turbo Pascal имеется возможность организовать прямой доступ к каждой компоненте c помощью процедуры SEEK.

Чтение очередных компонентов файла осуществляется с помощью процедуры READ (<файловая переменная>, <список ввода>);

Список ввода содержит одну или более переменных такого же типа, что и компоненты файла.

Файловая переменная должна быть объявлена предложением FILE OF… и связана с именем файла процедурой ASSIGN. Файл необходимо открыть процедурой RESET.

Для записи данных в типизированный файл используется процедура

WRITE (<файловая переменная>, <список вывода>);

Список вывода содержит одно или более выражение того же типа, что и компоненты файла.

Файловая переменная должна быть объявлена предложением FILE OF… и связана с именем файла процедурой ASSIGN. Файл необходимо открыть процедурой REWRITE или RESET.

Например: Составить программу для ввода 20 вещественных чисел и записи их в виде файла на диске.

Program Word;

Const n=20;

Var

f: file of real;

a: real;

i: byte;

BEGIN

Assign (f, ‘e:\pz961\lpc.txt’);

Rewrite (f);

for i:=1 to n do

Begin

Writeln (‘Введите’ ,i,’-ое число‘);

Readln (a);

Write (f,a);

End;

Close (f);

END.

20.6.6. Процедуры и функции для работы с файлами.

Для смещения указателя к нужной компоненте файла используется процедура SEEK (<файловая переменная>, <N компонента>); <N компонента> - это выражение типа LONGINT, указывающее номер компонента. Первый компонент имеет номер 0.

APPEND (<файловая переменная>); - открывает текстовый файл для расширения.

TRUNCATE (<файловая переменная>); - уничтожает все компоненты файла, начиная с той на которую указывает указатель.

IORESULT : Word - эта функция возвращает код, характеризующий результат последней операции ввода/вывода. Если операция завершилась успешно, то функция возвращает значение 0.

FILEPOS (<файловая переменная>) : Longint - эта функция возвращает текущую файловую позицию, то есть номер компоненты на которую установлен указатель.

FILESIZE (<файловая переменная>) : Logint - возвращает размер файла в байтах.

EOF (<файловая переменная>) : Boolean - эта функция возвращает значение True (истина), если указатель находится за последней компонентой файла. В противном случае функция возвращает значение False.