12. Записи
Запись - это структура данных, состоящая из фиксированного количества компонентов, называемых полями записи. В отличие от массива компоненты (поля) записи могут быть различного типа. Чтобы можно было ссылаться на тот или иной компонент записи, поля именуются. Пример использования записи:
type TMyPoint = record X, Y: Integer; end; TMyData = record a, b: Integer; Arr: array [1..5] of String; Ch: Char; S: String; Pnt: TMyPoint; end; var MyData: TMyData; procedure Form_Create; begin MyData.a := 2; MyData.b := 10; MyData.Arr[1] := 'Hello'; MyData.S := 'World'; MyData.Pnt.X := 10; end;
Запись объявляется в разделе объявления пользовательских типов type. Поля записи могут быть произвольного типа, в том числе другими записями. Обращение к полю записи осуществляется через точку. Ключевое слово with упрощает доступ к полям записи:
with MyData do a := 2; b := 10; Arr[1] := 'Hello'; S := 'World'; Pnt.X := 10; // вложенный with with Pnt do Y := 8; end; // Так тоже можно with MyData.Pnt do X := 5;
К сожалению, в текущей реализации движка есть ошибка. Если в запись добавить поле перечисляемого типа, то использование переменных этого типа приведет к неправильной работе скрипта. Поэтому не используйте перечисляемые типы в записях.