Комбинированный тип (запись).

Запись - это комбинация фиксированного числа разнотипных компонентов, называемых полями записи.

В отличие от массивов и множеств, элементы записи (ПОЛЯ) могут быть различных типов.

 

Описание переменных типа запись:

var имя_записи: record
      имя_поля1:тип_поля1;
      имя_поля2:тип_поля2;
      ...
      имя_поля n:тип_поля n;
     end;     

var bday: record
fam: string[20];
date:1..31;
muns:(ian,feb,mar,apr,may,jun,jul,aug,sep,oct,nov,dec)
year: integer;
end;

или

type имя_типа=record
      имя_поля1:тип_поля1;
      имя_поля2:тип_поля2;
      ...
      имя_поля n:тип_поля n;
     end;     
var имя_записи: имя_типа

type: bday= record
fam: string[20];
date: 1..31;
muns: (ian,feb,mar,apr,may,jun,jul,aug,sep,oct,nov,dec)
year: integer;
end; 

var bd: bday;

Доступ к отдельному полю записи:  имя_записи.имя_поля

bd.fam:='Анисов';

В качестве поля записи может быть в свою очередь запись:

type: bday= record
        fam: string[20];
       date: record
          day: 1..31;
          muns: (ian,feb,mar,apr,may,jun,jul,aug,sep,oct,nov,dec)
          year: integer;
          end
       end;

var bd: bday;

В этом случае доступ к отдельному полю записи:  имя_записи.имя_поля.имя_подполя

bd.date.day:=12;

Оператор присоединения

Постоянно указывать имя записи не всегда удобно. Для сокращения написания можно использовать оператор присоединения:

with имя-записи do оператор

Без оператора присоединения

var bday: record
fam: string[20];
date:1..31;
muns:1..12
year: integer;
end;

begin
bday.fam:='Анисов';
bday.date:=31;
bday.muns:=8;
bday.year:=1988;

 

С использованием оператора присоединения

var bday: record
fam: string[20];
date:1..31;
muns:1..12
year: integer;
end;

begin
with bday do
begin
  fam:='Анисов';
  date:=31;
  muns:=8;
  year:=1988;
end;

Hosted by uCoz