Вопрос 6. Типизированные файлы. Использование типа Record.
Под файлом понимают именованная область внешней памяти компьютера (HDD, дискета и т.д.).
Любой файл имеет три характерные особенности. Во-первых, у него есть имя, что дает возможность программе работать одновременно с несколькими файлами. Во-вторых, он содержит компонент одного типа. В-третьих, длина вновь создаваемого файла никак не оговаривается при его объявлении и ограничивается только емкость устройств внешней памяти.
Файловый тип можно задать одним из трех способов:
<имя> = File of <тип>;
<имя> = TextFile;
<имя> = File;
Здесь <имя> - имя файлового типа, File of - зарезервированные слова (файл, из); TextFile – имя стандартного типа текстовых файлов; <тип> - любой тип Delphi, кроме файлов.
Например:
Type
Product = record
Name: Satring;
Code: Word;
Cost: Comp
End;
F: File of Product;
В зависимости от способа объявления можно выделить три вида файлов:
1. Типизированные (Задаются предложением File of…)
2. Текстовые файлы ( определяются типом TextFile);
3. Нетипизированные файлы (определяются типом File)
Доступ к файлам
Файлы становятся доступными программе только после выполнения особой процедуры открытия файла. Эта процедура заключается в связывание ранние объявленной файловой переменной с именем существующего или вновь создаваемого файла, а так же в указании направления обмена информацией: чтение из файла или запись в него.
Файловая переменная связывается с именем файла в результате обращения к стандартной процедуре AssignFile:
AssignFile (<ф.п.>, <имя файла>);
Здесь <ф.п.> - файловая переменная (правильный идентификатор, объявленный в программе как перемена файлового типа); <имя файла> - текстовое выражение, содержащие имя файла и, если необходимо, путь к ниму.
Инициализировать файл означает указать для этого файла направление передачи данных. Для чтения файла инициализируется с помощью стандартной процедуры Reset.
Reset (<ф.п.>); Здесь <ф.п.> - файловая переменная связанная раннее процедурой AssignFile с уже существующим файлом. При выполнение этой процедуры дисковый файл подготавливается к чтению информации. В результате специальная переменная-указатель, связанная с этим файлом, будет указывать на начало файла, то есть на компонент с порядковым номером 0.
Следующая процедура инициирует запись информации в файл, связанный с файловой переменной <ф.п.>: Rewrite (<ф.п.>);
Следующая процедура инициирует запись в ранние существующий текстовый файл для его расширения, при этом указатель файла устанавливается в его конец: Append (<o.i.>).
Процедура Append применима только к текстовым файлам.