gettablefunctionindex

Функция получения индекса таблицы по ее названию из пакета таблиц

Синтаксис

index = gettablefunctionindex(p_id, name);  

Аргументы

Имя Тип данных Описание
p_id integer Идентификатор загруженного в память пакета таблиц
name string Имя искомой таблицы

Описание

gettablefunctionindex(p_id, name) – функция возвращает индекс таблицы с именем name из пакета таблиц с идентификатором p_id. Индексация таблиц в пакете таблиц начинается с нуля. Если таблица с именем name отсутствует в пакете таблиц, то функция вернет значение "-1".

Индекс таблицы, который возвращает функция gettablefunctionindex(p_id, name), используется другими функциями работы с файлами MiniExcel. Использование настоящей функции не обязательно, если известен индекс таблицы из пакета таблиц, необходимой для работы.

В функции предусмотрены проверки на корректность заданных параметров (Табл. 1).
Табл. 1. Возможные ошибки и причины их возникновения
Ошибка Возможная причина
Задан некорректный идентификатор (ID) пакета таблиц Передано числовое значение, не являющееся идентификатором пакета таблиц. Пакет таблиц не загружен должным образом или уже уничтожен
Задано пустое название таблицы Передана пустая строка. Строковая переменная объявлена, но не инициализирована именем таблицы
Таблица с таким названием отсутствует в пакете таблиц Передан идентификатор другого пакета таблиц. Опечатка в имени таблицы
Ошибка доступа по ссылке -

Результат

Имя Тип данных Описание
index integer Индекс найденной таблицы среди таблиц из пакета таблиц

Пример

initialization
  var
    p_id: integer,
    index: integer;
  // Получение идентификатора
  p_id = loadtablefunctionpack("file1.tbl");
  // Получение индекса таблицы "Давление от температуры"
  index = gettablefunctionindex(p_id, "Давление от температуры");
end;

var
  X: double,
  Y: double,
  Res: boolean;
// В качестве значения аргумента передается текущее модельное время
X = time;
// Получение значения: из пакета таблиц с идентификатором "p_id",
// таблица "Давление от температуры", функциональная зависимость - "1",
// используется линейная интерполяция - "0"
Res = gettablefunctionvalue(p_id, index, 1, 0, X, Y);

finalization
  // Удаление пакета таблиц при окончании моделирования
  freeobject(p_id);
end;

В результате выполнения скрипта будет получен индекс таблицы "Давление от температуры". Поскольку идентификатор p_id не меняется в процессе моделирования, функцию gettablefunctionindex достаточно вызвать один раз, сохранить полученный индекс таблицы и использовать его дальше.

Сопутствующие материалы

Материалов нет.