Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Паскаль-конспект ИНФОРМАТИКА.doc
Скачиваний:
59
Добавлен:
09.04.2015
Размер:
639.49 Кб
Скачать

10.5. Файловая переменная

Каждому файлу ставится в соответствие уникальная файловая переменная. Кроме того, обычными программными средствами нельзя создать программы, позволяющие взаимодействовать с устройствами ввода-вывода, кроме терминалов пользователя. Своеобразным «окном» между программами и внешними устройствами является файловая переменная. Поэтому в каждой программе, где предусматривается взаимодействие с устройствами ввода-вывода, организуется определённым образом логическая связь устройства ввода-вывода с файловой переменной.

Пример:

Type ZAP = Record

FIO: array [1..10] of char;

God: Integer

end; { of Record }

F=FileofZAP;

Тогда любая переменная типа F– это последовательный файл, состоящий из записей. Каждая запись имеет 2 поля:FIO(фамилия) иGod(год рождения).

Переменные файлового типа, как и обычные переменные, описываются в разделе переменных: VarC:F;

С переменной С автоматически связана некоторая буферная переменная, относящаяся к типу компонентов файла и представляющая собой своеобразное «окно», через которое можно просматривать или записывать очередные компоненты. В любой момент доступен только один компонент файла – тот, что виден через буферную переменную.

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

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

Var Myfile: File of Integer;

Это означает, что в прграмме под файловым именем Myfileпонимается неопределённое количество целых чисел, которые в виде физического файла могут располагаться на некотором внешнем уровне.

С каждым элементом последовательного файла тоже связано понятие текущего указателя. Поскольку все действия с данным файлом связаны с его элементами, необходимо знать, какой именно элемент файла подвергается обработке. Для этого используется текущий указатель.

Если программа взаимодействует с внешними файлами (хранимыми на диске), то файлы должны быть описаны в программе либо явно в разделе переменных Var, либо с использованием раздела типовType.

Varимя файла:Fileofбазовый тип

Пример: VarFT:Fileofchar; (* файл символьных данных *)

Finp:Fileofreal; (* файл действительных данных *)

М: File of integer; (* файл целых данных * )

Файлы символьных данных называются текстовыми файлами.

Определение данных с использованием раздела описания типов Typeделает программу более универсальной и упрощает отладку программы.

Type имя типа = File of базовый тип;

Varимя переменной: имя типа;

Пример: Type T = File of Char;

VarFT:T;

Здесь Т – введённое нами имя типа.

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

Type SS = file of Char;

Person = record

name: string [20];

adress: string [25];

sex: ( man, woman );

day: 1..31;

month: 1..12;

year: 1900..2000

end;

Var F1, F2: SS;

Table: file of string [50];

Base: file of person;

Data:fileofinteger;

Файловые переменные имеют специфическое применение. Над ними нельзя выполнять никакие операции (присваивать значение, сравнивать и т.д.). Их можно использовать лишь для выполнения операций с файлами (чтения, записи, удаления файла и т.д.). Кроме того, через файловую переменную можно получить информацию о конкретном файле (тип, параметры, имя файла и т.д.).