Способы объявления файловых типов.
Общий вид объявления файлового типа
TYPE = FILE [ OF ];
1) для текстовых файлов:
TYPE = TEXT;
2) для файлов записей:
TYPE = FILE OF ;
3) для нетипизированных файлов:
TYPE = FILE;
Для того, чтобы использовать в программе файловые типы данных, необходимо объявить переменные файлового типа одним из следующих способов:
Способы объявления переменной файлового типа
1 способ:
TYPE = FILE [ OF ];
VAR : ;
2 способ:
VAR : FILE [ OF ];
Переменные файлового типа называют программными файлами. Файлы имеют начальную метку и конечную метку.
С каждым программным файлом связан указатель файла или текущий указатель.
Указатель файла это специальная переменная, которая хранит адрес доступной в настоящий момент компоненты файла. После выполнения операции открытия файла указатель всегда указывает на начало первой компоненты файла. Значение указателя файла изменяется в результате выполнения операций чтения файла или записи информации в файл. Если выполнена одна операция чтения или записи, то указатель файла перемещается к началу следующей компоненты.
Рис. Файл и текущий указатель файла
Операции для работы с файлами
1. Каждый программный файл должен быть связан с соответствующим дисковым файлом. Такая связь организуется специальной операцией связывания:
ASSIGN(, ‘полное имя файла на диске’);
2. Операции открытия программного файла необходима для начала работы с файлом и определения начального значения указателя файла. создаваемый и существующий файл открываются разными операциями:
— для создаваемого файла:
REWRITE ();
— для существующего файла:
RESET ();
3. Операции обмена информацией между операционной памятью и программными файлами:
— ввод информации из файла в ОП:
READ(, );
WRITE(,);
Операции обмена информацией с файлом организуют так называемый последовательный доступ к компонентам файла. Этот принцип аналогичен поиску информации на магнитной ленте магнитофона.
4. Прямой доступ к компоненте файла, позволяет установить указатель файла непосредственно на начало нужной компоненты. В Паскале прямой доступ возможен только по номеру компоненты. В этом случае нужно помнить о том что номер компоненты не всегда известен программисту и пользователю.
SEEK(, № компоненты);
5. Закрытие файла :
CLOSE();
Если файл не закрыт и по какой-то причине программа завершилась аварийно, то все изменения внесенные в файл будут утеряны. Поэтому рекомендуется закрывать файл по завершении работы с ним.
6. Некоторые дополнительные операции над файлами могут очень полезны:
-определяет закончился ли файл:
EOF()
— определяет размер файла в компонентах:
FILESIZE()
— определяет номер текущей компоненты:
FILE POS()
Последовательность работы с файлами записей:
При использовании файлов записей – файлов компонентами, которых являются записи (данные комбинированного типа) нужно придерживаться следующей последовательности написания программы: