getfield

Функция для динамического доступа к полям переменных составного типа

Синтаксис:

val = getfield(rec,field_name);
getfield(rec,field_name) = val;

Аргументы:

rec - переменная составного типа (запись в скрипте);

field_name - строковое значение, имя поля переменной составного типа.

Описание:

getfield – функция позволяет осуществить получение или запись значения поля field_name переменной rec.

Результат:

Если функция стоит в правой части операции присвоения ("="), то она возвращает переменной val значение указанного поля переменной составного типа; если функция стоит в левой части операции присваивания, то функция производит присвоение значения, взятого из переменной val, заданному полю переменной составного типа.
Примечание: Типы данных присваиваемого значения и заданного поля переменной составного типа должны совпадать.

Пример:

var newrec:(x = 0.0, y = 0.0);   // объявление переменной составного типа
newrec->x = 10;                  // задание значения поля напрямую
var a: double, b: double;        // объявление дополнительных переменных
a = getfield(newrec,"x");        // получение значения поля с помощью функции
getfield(newrec,"y") = 1000;     // задание значения поля с помощью функции
b = getfield(newrec,"y");        // получение значения поля с помощью функции

В результате выполнения скрипта происходит создание переменной составного типа, получение и запись значений ее полей напрямую и с помощью функции.