getfield

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

Синтаксис:

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

Аргументы:

Имя Тип данных Описание
rec trecord Переменная составного типа
field_name string Строковое значение, имя поля переменной составного типа

Описание:

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

Результат:

Имя Тип данных Описание
val Если функция стоит в правой части операции присвоения ("="), то она возвращает переменной 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");        // получение значения поля с помощью функции

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

Дополнительные материалы

Нет.