Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование.docx
Скачиваний:
5
Добавлен:
25.09.2019
Размер:
245.64 Кб
Скачать

8. Описание файлов

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

Описание типа:

type <имя типа> = file of <тип компонентов (ЗАПИСЕЙ);> Этот тип можно назвать базовым типом для файла. Например:

type dbfil = file of double; ar1 = array [1..20] of Integer;

fiar = file of ar1;

Описание файловых переменных:

var <имя переменной> = <имя типа (файлового)>; Например: db1: dbfil; db2: file of double;

Нетипизированные файлы.

Описание типа:

type <имя типа> = file; Например:

type nf = file;

Описание файловых переменных:

var <имя переменной> = <имя типа (файлового)>; Например: fff: nf; fara: file;

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

Описание типа:

type <имя типа> = Text; (В Делфи: <имя типа> = TextFile) Например:

type tx1 = Text;

Описание файловых переменных:

var <имя переменной> = <имя типа (файлового)>; Например: tfu: tx1; ftx: text;

Связывание имени файла с файловой переменной

То есть мы должны объявить, что такому-то идентификатору (файловой переменной) соответствует имя файла на диске (включая устройство и путь). Для этого используется процедура Assign (в Делфи - AssignFile).

Синтаксис:

Assign(<файловая переменная, т е идентификатор>,<выражение строкового типа>); Примеры:

Assign(tfu,'MyFile.txt'); Assign(fff,'.\dano.dat'); Assign(fara,'..\ff\ras2.dat'); Assign(fara,'D:\copy6\ras2.dat');Процедура Assign применяется одинаково ко всем файловым типам. Если при вызове Assign для текстового файла не указана файловая переменная, то подразумеваются стандартные переменные: Input - клавиатура и Output - экран. Если вызывать read, readln или write, writeln без указания файловой переменной, также ввод будет с клавиатуры, а вывод - на экран.

Начало работы с файлом.

Чтобы начать работу с файлом, нужно вызвать процедуру reset или rewrite.

Синтаксис:

Типизированные и текстовые файлы:

Reset(<файловая переменная>); Пример: reset(db2);

Открывается СУЩЕСТВУЮЩИЙ файл, который соединен с этой переменной процедурой Assign. Файловый указатель ставится на начало файла (позиция = 0). ( После чего файл готов к чтению/записи первой записи).

ReWrite(<файловая переменная>) Пример: rewrite(db2);

Открывается новый пустой файл и ему присваивается имя, заданное в процедуре Assign. Если файл с таким именем уже существует, он очищается. Файловый указатель ставится на начало файла (позиция = 0). ( После чего файл готов к записи первой записи, а после появления записей - к их чтению. При этом переставить файловый указатель можно либо процедурой reset, либо процедурой seek, описанной далее).Дополнительно - текстовые файлы можно открыть для добавления данных в конец файла:

Append(<файловая переменная>); Например: Append(ftx);

Удобно при налаживании программы выводить данные, используя пары: close; append; <записать порцию данных> close; append; <записать порцию данных>... и т д

Если убрать close, то нет гарантии, что все данные, которые "записаны" останутся в файле на диске.

Нетипизированные файлы.

Reset(<файловая переменная>,[<размер записи>]); Пример: reset(fara,512);

Примечания:

1. Если размер записи не указан, подразумевается 128 байт (по умолчанию).