Структуры

<Record> – ключевое слово используемое для описания переменных – структур. Синтаксис объявления переменной типа <Record>:

RecVarName: Record
  RecFieldName1: Type1
  RecFieldName2: Type2
  .....
  RecFieldNameN: TypeN
End

Где

  • RecVarName – имя переменной;

  • RecFieldName1...RecFieldNamen – имена полей переменной;

  • TypeX – тип поля переменной. Это может быть любой простой тип, структура или статический массив вышеперечисленных типов.

Пример:

Rec1, Rec2: record
X, Y, Z: real
P: array [3,3] of integer;
S1, S2: string
end
RR: array [10] of record
X, Y, Z: real
end
Rec3: record
field1: integer
field2: array 10 of string
field3: record
nestedField1: real
nestedField2: array 5 of integer
end
end

Использование структур

Обращения к полям рекорда осуществляются при помощи оператора доступа: "."

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

<ИмяПеременной>.<ИмяПоля1>{.<ИмяВложенногоПоля2>...} = х    

Пример:

Rec1.X = 1; Rec1.Y=2
Rec1.P[1,1] = 0
Rec1.S1 = "W100"
for i=1 to 10 do begin
RR[i].X = i
RR[i].Y = 0
RR[i].Z = 50
end
rec3.field3.nestedField2[1]=33

Использовать значение хранящееся в поле можно следующим образом:

x = <ИмяПеременной>.<ИмяПоля1>{.<ИмяВложенногоПоля2>...}

Пример:

x1=Rec1.X; y1=Rec1.Y
z2=RR[2].Z