- •Лабораторная работа № 9 структурированные типы данных. Файлы. Работа с типизированными файлами
- •1.1Структурированный тип данных - файловый
- •2.1Этапы работы с типизированными файлами
- •2.1.1Описание файловой переменной
- •2.1.2Связь переменной с физическим файлом
- •2.1.3 Открытие файла
- •2.1.4 Ввод/вывод в типизированный файл
- •2.1.5 Закрытие файла
- •3.1 Процедуры и функции для работы с файлами и каталогами
- •Ioresult
- •4. Задания
Лабораторная работа № 9 структурированные типы данных. Файлы. Работа с типизированными файлами
1.1Структурированный тип данных - файловый
ФАЙЛ
- именованная область внешней памяти или логическое устройство – потенциальный источник или приемник информации (с точки зрения программы).
- набор однотипных элементов, длина которого ограничивается только объемом внешней памяти (с точки зрения структурированного типа данных).
ВИДЫ ФАЙЛОВЫХ ПЕРЕМЕННЫХ И ИХ ОПИСАНИЕ:
ТИПИЗИРОВАННЫЕ ФАЙЛЫ
- компоненты фиксированной длины указанного при описании типа, что позволяет осуществить прямой доступ к компонентам. Описание:
-
VAR <ИМЯ1>: FILE OF <ТИП>;
Где <ТИП> - любой тип – тип элементов файла.
ТЕКСТОВЫЕ ФАЙЛЫ
- компоненты – строки переменной длины, доступ только последовательный. Описание:
-
VAR <ИМЯ2>: TEXT;
НЕТИПИЗИРОВАННЫЕ ФАЙЛЫ
- компоненты – двоичные блоки фиксированной емкости, информация из которых не интерпретируется, возможен прямой доступ. Описание:
-
VAR <ИМЯ3>: FILE;
ПРИМЕРЫ ОПИСАНИЙ ФАЙЛОВЫХ ТИПОВ И ПЕРЕМЕННЫХ
-
TYPE
F1=TEXT;
F2=FILE OF INTEGER;
{файловый тип данных, состоящий из целочисленных элементов типа INTEGER}
F3=FILE;
VAR
A0:F1; A1: TEXT; {два текстовых файла}
A2:F2; {файл из целых чисел типа INTEGER}
A3:F3; {двоичный файл}
2.1Этапы работы с типизированными файлами
Описание файловой переменной
Связь переменной с физическим файлом
Инициализация (открытие) файла
Ввод/вывод в файл
Закрытие файла
2.1.1Описание файловой переменной
При описании переменной для типизированного файла обязательно указывается тип элементов.
-
TYPE
FINT=FILE OF INTEGER;
{файловый тип данных, состоящий из целочисленных элементов типа INTEGER }
VAR
F1: FILE OF REAL; {файл из вещественных чисел типа REAL}
F2:FINT; {файл из целых чисел типа INTEGER}
2.1.2Связь переменной с физическим файлом
ASSIGN (<ПЕРЕМЕННАЯ>,<ФАЙЛ>)
- связывает файловую переменную <ПЕРЕМЕННАЯ> с файлом, имя которого находится в строковой переменной или константе <ФАЙЛ>. Связь сохраняется до следующего оператора assign для данной переменной или до конца программной единицы, в которой определена указанная переменная.
ПРИМЕРЫ
-
ASSIGN(F1,’FFF.DAT’);
ASSIGN(F2,’INT.DAT’);
2.1.3 Открытие файла
REWRITE(<ФП>)
- открытие файла на запись, причем указатель помещается в начало файла (на нулевой элемент). Если файл существует, то его содержимое уничтожается. Если файл не существует, то он создается.
RESET(<ФП>)
-открытие файла на чтение/запись, причем указатель помещается в начало файла (на нулевой элемент). Если файл не существует, генерируется ошибка ввода/вывода.
КОРРЕКТНОЕ ОТКРЫТИЕ ФАЙЛА
-
{$I-} {отключить контроль ошибок ввода/вывода – директива компилятора}
RESET(A2); {открыть файл на чтение}
{$I+} {включить контроль ошибок ввода/вывода – директива компилятора}
IF IORESULT<>0 THEN {проверить функцию ошибки}
… {действия в случае ошибки – отсутствия файла на диске}
ELSE
… {действия в случае успешного открытия файла}