Реферат: Модули, записи и файлы

RecordFile = file of record

А, В : real;

end;

var

Fl, F2 : RecordFile;

Очень важно различать собственно файл (область памяти на магнит­ном носителе с некоторой информацией) и переменную файлового типа в некоторой Turbo Pascal- программе. Считается, что файловая переменная является представителем некоторого дискового файла в программе. Для того, чтобы реализовать доступ к файлу па магнитном диске, программа должна связать его с файловой переменной. Для этого необходимо сопос­тавить переменную с именем файла. Это имя представляется в виде стро­ки, содержащей полное имя файла и, быть может, цепочку объемлющих каталогов и обозначение дисковода. Такая строка носит название маршру­та (или пути) к файлу и формируется по общим правилам MS-DOS.

Связывание маршрута и файловой переменной производится стан­дартной процедурой Assign, которой передаются два параметра: имя пе­ременной файлового типа и строка с именем (маршрутом) дискового файла, например:

Assign (F, 'с: \books\book4\test3 .раз ' ) ;

Помимо маршрута, во втором параметре может быть указано условное (символическое) обозначение некоторого «псевдофайла» MS-DOS, то есть файла, связанного с конкретным физическим устройством. Допускаются имена, в основном совпадающие с принятыми в MS-DOS обозначениями (‘con’ – консоль, то есть экран дисплея и/или клавиатура, ‘lpti’ или ‘prn’ – печатающее устройство и т. д.).

До тех пор, пока файловая переменная не связана с каким-либо дис­ковым файлом, никакие операции с ней в программе невозможны, Заме­тим, что можно связать файловую переменную с еще не существующим дисковым файлом. Это может быть оправдано для случая последующего создания Turbo Pascal-программой файла с данным именем с помощью некоторой системной процедуры.

После того, как файловая переменная с помощью процедуры Assign связана с конкретным дисковым файлом, можно выполнить любую до­пустимую операцию с ним. Здесь рассмотрим две операции общего ха­рактера, позволяющие переименовывать и уничтожать существующие дисковые файлы. Такие операции выполняются системными подпрограм­мами Rename и Erase со следующими спецификациями:

Rename ( var f; nevname : string );

Erase ( var f );

Основным параметром этих процедур является файловая переменная (она может идентифицировать файл любого типа, и к ней должна была быть ранее применена процедура Assign), а процедуре Rename дополни­тельно передается новое имя файла. Действие указанных процедур осно­вывается на соответствующих DOS-функциях и функционально эквива­лентно командам ren и del командного процессора.

7.2. Структура файлов

7.2.1Открытие и закрытие файлов

В этом и следующем разделах рассматриваются файлы традиционной для языка Pascal структуры, которые описываются в программе в терми­нах составляющих компонент. Кроме таких файловых переменных (они также называются "типизированными" файлами), в языке Turbo Pascal имеются также файлы специального типа - текстовые файлы, которые введены для поддержки одного практически важного частного случая файловых структур, и нетипизированные файлы, которые используются для более эффективной организации обменов на низком уровне.

Важнейшим моментом при использовании переменных файловых ти­пов является интерпретация файла как потенциально бесконечного спи­ска значений одного и того же (базового) типа. Например, описание пе­ременной F вида

var

F : file of integer;

понимается как определение в программе под именем F списка неопреде­ленного количества целых чисел, расположенного на некотором внешнем запоминающем устройстве (например, на магнитном диске).

С каждой переменной файлового типа также связано понятие теку­щего указателя файла. Текущий указатель можно понимать как скрытую переменную (то есть переменную, неявно описанную вместе с файловой

переменной), которая обозначает ("указывает" на) некоторый конкретный элемент файла. Таким образом, можно графически так представить ин­терпретацию файла, связанного с переменной F: 0 1 2 N

Целое

Целое

Целое

. . . . .

Целое

. . .

К-во Просмотров: 827
Бесплатно скачать Реферат: Модули, записи и файлы