Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
osnovy_programmirovanija_v_srede_lazarus.pdf
Скачиваний:
185
Добавлен:
18.03.2015
Размер:
6.53 Mб
Скачать

Глава 3 Более сложные элементы языка

____________________________________________________________________

3.6. Файлы

Файл – некоторый участок на диске, где хранятся данные. Каждому файлу присваивается уникальное имя, благодаря которому становится возможным об-

ращаться к различным данным на диске. Файлы состоят из отдельных элемен-

тов одного типа. Размер файла зависит от объема того физического устройства,

на котором он хранится.

3.6.1 Тип данных – запись

Запись – совокупность данных, имеющих свои имена и тип, объединенных одним именем. Запись - комбинированный тип данных. Каждая запись состоит из отдельных полей, которые могут иметь разные типы.

Общий вид объявления записи:

type

<имя записи> = record

<имя1>: <тип1>;

<имя2>: <тип2>;

..............

<имяN>: <типN>;

end;

После этого можно объявить переменные с типом запись:

var <имя переменной>: <имя записи>;

Пример. Пусть имеется таблица следующей структуры:

Фамилия

Имя

Отчество

Группа

Год рождения

 

 

 

 

 

Тогда можно объявить запись следующего вида:

type

225

3.6 Файлы

____________________________________________________________________

student = record

family, name, otch, group: string[20];

birthday: integer;

end;

var

a, b: student;

Обращение к элементам записи выполняется через уточненное (состав-

ное) имя.

a.family:= 'Иванов';

b.group:= 'ПОВТАС-1/08';

Чтобы не удлинять слишком текст программы, в Паскале предусмотрен оператор присоединения with. Это дает возможность определить кусок про-

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

Синтаксис оператора:

with <список имен записей> do

begin

… {в этом блоке при обращении к полям записи не обязательно каж-

дый раз указывать имя записи}

………

end;

Пример:

type

student = record

family, name, otch, group: string[20];

end;

226

Глава 3 Более сложные элементы языка

____________________________________________________________________

var

a, b: student;

begin

with b do

begin

family:= 'Иванов';

group:= 'ПОВТАС-1/08';

end;

end.

3.6.2 Файловые типы

В программе для работы с файлами вводятся файловые переменные. Пере-

менные файловых типов необходимы тем программам, которым требуется чи-

тать данные с диска или записывать данные на диск. Синтаксис описания фай-

ловой переменной:

var <имя файловой переменной>: <тип файла>;

Различают три типа файлов:

текстовый файл;

типизированный файл;

нетипизированный файл Текстовый файл состоит из последовательности любых символов перемен-

ной длины, поделенных на строки. Каждая строка заканчивается специальным признаком "конец строки" – eoln (end of line).

Описание текстового файла имеет вид:

var <имя файловой переменной>: TextFile;

Типизированный файл состоит из элементов одного типа. Однако про-

граммист может создать свой тип данных – запись с разнородными типами по-

227

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]