Иллюстрированный самоучитель по Delphi 7 для начинающих

Запись. Объявление записи.

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

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

Итак, запись – это структура данных, состоящая из отдельных именованных компонентов разного типа, называемых полями.

Объявление записи

Как любой тип, создаваемый программистом, тип "запись" должен быть объявлен в разделе type. В общем виде объявление типа "запись" выглядит так:

Имя = record
Поле_1: Тип_1; Поле_2: Тип_2; Поле_К: Тип_К; end;

Где:

  • Имя – имя типа "запись";
  • record – зарезервированное слово языка Delphi, означающее, что далее следует объявление компонентов (полей) записи;
  • поле_i и тип_i – имя и тип i-го компонента (поля) записи, где i=1,…, k;
  • end – зарезервированное слово языка Delphi, означающее, что список полей закончен.

Примеры объявлений:

type
TPerson = record
f_name: string [20];
l_name: string [20];
day: integer;
month: integer;
year: integer;
address: string[50]; end;
TDate = record
day: integer; month: integer; year: integer;
end;

После объявления типа записи можно объявить переменную-запись (или просто запись), например:

var
student: TPerson; birthday: TDate;

Для того чтобы получить доступ к элементу (полю) переменной-записи (записи), нужно указать имя записи и имя поля, разделив их точкой. Например, инструкция:

ShowMessage('Имя: ', student.f_name + #13 + 'Адрес: ', student.address);

Выводит на экран содержимое полей f_name (имя) и address (адрес) переменной-записи student.

Иногда тип переменной-записи объявляют непосредственно в разделе объявления переменных. В этом случае тип записи указывается сразу за именем переменной, через двоеточие. Например, запись student может быть объявлена в разделе var следующим образом:

student: record
f_name:string[20];
l_name:string[20];
day:integer;
month:integer;
year:integer;
address:string[50];
end;
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.