Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
системный анализ и управление.doc
Скачиваний:
2
Добавлен:
01.07.2025
Размер:
613.89 Кб
Скачать

Пример записи

Например, зададимся целью создать описание коллекции музыкальных CD. Было бы удобно иметь такую переменную, которая позволила бы хранить всю необходимую нам информацию об одном CD в одном месте. Именно такую возможность и дают нам записи. Сначала мы должны объявить структуру записи, а затем использовать ее экземпляры– переменные.

Для объявления записи применяется ключевое слово record:

type

TCDRecord = record

Number : integer; // Порядковый номер CD в коллекции

Title : string; // Наименование

Artist : string; // Исполнитель

Year : integer; // Год выпуска

Recorded: string; // Фирма-производитель

Price : double; // Стоимость

Market : string; // Где куплен

end;

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

ПРИМЕЧАНИЕ. К объявлению записи в этом примере следует относиться только как к примеру. Так, запись с полями типа «длинная строка» не подходит для записи в файл. Если предполагается хранить записи в файлах, все записи должны иметь одинаковый размер ( в байтах). В данном же случае никто не может гарантировать то, что все записи сведений о коллекции CD будут иметь одну и ту же длину. При создании записей, которые предполагается записывать в файлы, поля строкового типа следует объявлять либо как короткие строки, либо как массивы символов (array of Char). Более подробно об этом говорится в разделе «Обработка двоичных данных».

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

var

CD : TCDRecord;

Теперь можно присваивать значения полям переменной CD:

CD.Number :=1;

CD.Title :=’Aftermath’;

CD.Artist :=’The Rolling Stones’;

CD.Year := 1986;

CD.Recorded:=’ABCKO Music and Records,Inc’;

CD.Price := 80;

CD.Market := ’Горбушка’;

Здесь мы видим что поле, относящееся к переменной–записи, обозначается идентификатором, состоящим из имени переменной, точки и имени поля.

Ниже дан пример присваивания значения поля записи свойству надписи, размещенной на некоторой форме:

Label1.Caption := CD.Recorded;

Синтаксис оператора record имеет вид

name = record

field_1 : data_type;

field_2 : data_type;

.

.

.

field_n : data_type;

end;

Оператор with

Оператор with применяется как к записям, так и к объектам. Здесь мы рассмотрим то как он используется вместе с записями. Выше мы написали код, заполняющий структуру записи данными:

CD.Number :=1;

CD.Title :=’Aftermath’;

CD.Artist :=’The Rolling Stones’;

CD.Year := 1986;

CD.Recorded:=’ABCKO Music and Records,Inc’;

CD.Price := 80;

CD.Market := ’Горбушка’;

С помощью оператора with этот код можно несколько упростить:

with CD do

begin

Number :=1;

Title :=’Aftermath’;

Artist :=’The Rolling Stones’;

Year := 1986;

Recorded:=’ABCKO Music and Records,Inc’;

Price := 80;

Market := ’Горбушка’;

end;

Оператор with присоединяет квалификатор (имя записи) по умолчанию к блоку кода. Все, что находится внутри begin – end рассматривается как собственность записи CD.