Входные и выходные данные для поддерживающих сценарии элементов управления
Входные и выходные данные для любых элементов управления PTC Mathcad Prime со сценариями элементов управления имеют следующие свойства. Элементы управления могут использовать в качестве входных данных любой допустимый тип данных PTC Mathcad Prime. Сюда относятся скаляры, массивы и строки или выражения, которые дают одно из этих значений.
Индексация входных и выходных переменных начинается с 0. Входные и выходные данные имеют связанные свойства и методы. Используя выходные данные одного элемента управления в качестве входных данных для другого, можно включить несколько элементов управления в один и тот же документ. Связывая элемент управления с входными и выходными значениями, пользователь определяет его место в порядке расчета документа и настраивает документ на перерасчет при изменении входных значений, а также на время обновления выходных значений. Поэтому важно назначать входные и выходные значения любому элементу управления, который будет использовать эти переменные документа.
Для расширенных элементов управления с входными данными рекомендуется определить выходную переменную. Если оставить пустой местозаполнитель, при открытии документа значения будут недоступны для элемента управления.
Если элемент управления не имеет выходной переменной и входные данные имеют формат массива, при обращении сценария к этим входным данным переменным требуется проверка входных данных. Добавьте приведенную ниже строку в свой сценарий:
• VBscript
If IsArray(Inputs(0).value) = False Then Exit Sub
• JScript
if (!Inputs[0].Value.length) return;
Значение
Свойство Value используется для доступа к действительной части данных. Параметры row и col являются необязательными. Если указаны параметры row и col, возвращается скалярное значение в указанных row или col.
x = objDataValue.Value( [row, col])
objDataValue.Value( [row, col] ) = x
• Сценарий входных данных в JScript:
var x = Inputs[0].Value[0][0]; //Accessing the 1st input, where the input is a matrix.
var y = Inputs[1].Value[0]; //Accessing the 2nd input, where the input is a vector.
var z = Inputs[2].Value; //Accessing the 3rd input, where the input is a variable.
• Сценарий входных данных в VBscript:
x = Inputs(0).Value(0,0)
y = Inputs(1).Value(0)
z = Inputs(2).Value
• Сценарий выходных данных в JScript:
Outputs[0].Value[0][0] = x;
• Сценарий выходных данных в VBscript:
Outputs(0).Value(0,0) = x
|
Элемент
|
Описание
|
|
x
|
Действительная часть данных в этой позиции.
|
|
row
|
Целочисленный индекс выбранной строки.
|
|
col
|
Целочисленный индекс выбранного столбца.
|
Если свойство Value используется в левой части выражения, массив не будет автоматически расти в соответствии с данными. Во избежание возникновения ошибки необходимо использовать для определения размера стандартную методологию языка сценариев. Пример:
• JScript:
//When using JScript, set the variable to array '[]' before assigning values.
Outputs[0].Value = [];
//In JS ES3 you can only use array of arrays.
Outputs[0].Value[0]=[0,0,0];
Outputs[0].Value[1]=[0,0,0];
Outputs[0].Value[2]=[0,0,1];
• Vbscript:
Dim out(2,2) ‘Set the array size. Notice this will create 3x3 dimensional array in VBscript.
Outputs(0).value=out
Outputs(0).value(2,2) = 1
Выходные данные в обоих случаях представляют собой массив из трех строк и трех столбцов.
Строки и столбцы
Свойства Rows и Cols представляют доступные только для чтения значения, возвращающие число строк или столбцов в элементе управления. Их можно использовать для определения размеров вектора или массива, хранящихся в конкретном элементе во время выполнения.
• JScript:
x = Inputs[0].Rows;
x = Inputs[0].Cols;
• Vbscript:
X = Inputs(0).Rows
X = Inputs(0).Cols
|
Элемент
|
Описание
|
|
x
|
Целое число строк или столбцов.
|