gettablefunctiondata
Функция получения всех данных заданной таблицы, хранящейся в пакете таблиц
Синтаксис
b = gettablefunctiondata(p_id, tbl_index, func_index, X, Y);
b = gettablefunctiondata(p_id, tbl_index, X1, X2, M);
Аргументы
| Имя | Тип данных | Описание |
|---|---|---|
| p_id | integer | Идентификатор загруженного в память пакета таблиц |
| tbl_index | integer | Индекс таблицы из пакета таблиц |
| func_index | integer | Индекс функциональной зависимости в таблице |
| X | array | Массив аргументов одномерной функциональной зависимости |
| Y | array | Массив значений одномерной функциональной зависимости |
| X1 | array | Массив первых аргументов двумерной функциональной зависимости |
| X2 | array | Массив вторых аргументов двумерной функциональной зависимости |
| M | array2 | Матрица значений двумерной функциональной зависимости |
Описание
gettablefunctiondata(p_id, tbl_index,
func_index, X, Y) – функция заполняет массивы X и
Y соответствующими значениями, хранящимися в таблице с индексом
tbl_index (нумерация начинается с нуля) пакета таблиц с идентификатором
p_id. Этот вариант функции применяется для таблиц, представляющих из себя
набор одномерных функциональных зависимостей вида: y = Fi(x),
где i = func_index — порядковый номер функциональной зависимости (нумерация
начинается с нуля).
gettablefunctiondata(p_id, tbl_index,
func_index, X, Y) выводит соответствующее диагностическое сообщение (Табл. 1). | Ошибка | Возможная причина |
|---|---|
| Задан некорректный идентификатор (ID) пакета таблиц | Передано числовое значение, не являющееся идентификатором пакета таблиц. Пакет таблиц не загружен должным образом или уже уничтожен |
| Таблица с таким индексом отсутствует в пакете таблиц | Передан идентификатор другого пакета таблиц. Опечатка в индексе таблицы |
| Таблица с таким индексом не является набором функций одного аргумента. Рекомендуется выбрать функцию ЯП с другими аргументами | Передан идентификатор другого пакета таблиц. Выбранный вариант функции ЯП не подходит для заданного типа таблицы |
| Функциональная зависимость с таким индексом отсутствует в заданной таблице | Передан идентификатор другого пакета таблиц. Опечатка в индексе функциональной зависимости |
| Ошибка доступа по ссылке | - |
gettablefunctiondata(p_id, tbl_index, X1, X2,
M) – функция заполняет массивы аргументов X1,
X2, а также матрицу M соответствующими значениями,
хранящимися в таблице с индексом tbl_index (нумерация начинается с нуля)
пакета таблиц с идентификатором p_id. Этот вариант функции применяется для
таблиц, представляющих из себя двумерную функциональную зависимость вида: y =
F(x1, x2).
gettablefunctiondata(p_id, tbl_index, X1, X2,
M) выводит соответствующее диагностическое сообщение (Табл. 2). | Ошибка | Возможная причина |
|---|---|
| Задан некорректный идентификатор (ID) пакета таблиц | Передано числовое значение, не являющееся идентификатором пакета таблиц. Пакет таблиц не загружен должным образом или уже уничтожен. |
| Таблица с таким индексом отсутствует в пакете таблиц | Передан идентификатор другого пакета таблиц. Опечатка в индексе таблицы. |
| Таблица с таким индексом не является двумерной функцией. Рекомендуется выбрать функцию ЯП с другими аргументами. | Передан идентификатор другого пакета таблиц. Выбранный вариант функции ЯП не подходит для заданного типа таблицы |
| Ошибка доступа по ссылке | - |
Результат
| Имя | Тип данных | Описание |
|---|---|---|
| b | boolean | Функция возвращает логическую единицу, если данные из пакета таблиц успешно прочитаны и логический ноль в противном случае |
Пример
initialization
var
p_id: integer;
// Получение идентификатора
p_id = loadtablefunctionpack("file1.tbl");
var
a_x: array,
a_y: array;
// Получение данных из таблицы с индексом "1",
// функциональной зависимости с индексом "0",
// пакета таблиц с идентификатором "p_id"
if not gettablefunctiondata(p_id, 1, 0, a_x, a_y) then begin
// Остановка инициализации модели в случае ошибки
seterrorflag(1);
end;
var
b_x1: array,
b_x2: array,
b_m: array2;
// Получение данных из таблицы с индексом "2",
// пакета таблиц с идентификатором "p_id"
if not gettablefunctiondata(p_id, 2, b_x1, b_x2, b_m) then begin
// Остановка инициализации модели в случае ошибки
seterrorflag(1);
end;
end;
finalization
// Удаление пакета таблиц при окончании моделирования
freeobject(p_id);
end;
В результате выполнения скрипта будут получены данные таблиц с индексами 1 и 2. Поскольку
идентификатор p_id не меняется в процессе моделирования, настоящую функцию
(любую из двух модификаций) достаточно вызвать один раз, сохранить полученные данные и
использовать их в ходе моделирования.
Сопутствующие материалы
Материалов нет.