Входные и выходные данные для поддерживающих сценарии элементов управления
Входные и выходные данные для любых элементов управления PTC Mathcad Prime со сценариями элементов управления имеют следующие свойства. Элементы управления могут использовать в качестве входных данных любой допустимый тип данных PTC Mathcad Prime. Сюда относятся скаляры, массивы и строки или выражения, которые дают одно из этих значений.
Индексация входных и выходных переменных начинается с 0. Входные и выходные данные имеют связанные свойства и методы. Используя выходные данные одного элемента управления в качестве входных данных для другого, можно включить несколько элементов управления в один и тот же документ. Связывая элемент управления с входными и выходными значениями, пользователь определяет его место в порядке расчета документа и настраивает документ на перерасчет при изменении входных значений, а также на время обновления выходных значений. Поэтому важно назначать входные и выходные значения любому элементу управления, который будет использовать эти переменные документа.
Для расширенных элементов управления с входными данными рекомендуется определить выходную переменную. Если оставить пустой местозаполнитель, при открытии документа значения будут недоступны для элемента управления.
Если элемент управления не имеет выходной переменной и входные данные имеют формат массива, при обращении сценария к этим входным данным переменным требуется проверка входных данных. Добавьте приведенную ниже строку в свой сценарий:
• VBscript
If IsArray(Inputs(0).value) = False Then Exit Sub
• JScript
if (!Inputs[0].Value.length) return;
• Python
if Inputs is None:
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
• Сценарий входных данных в Python:
x = Inputs[0]['Value'][0][0] // //Accessing the 1st input, where the input is a matrix.
y = Inputs[1]['Value'][0] //Accessing the 2nd input, where the input is a vector.
z = Inputs[2]['Value']/Accessing the 3rd input, where the input is a variable.
• Сценарий выходных данных в JScript:
Outputs[0].Value = x;
• Сценарий выходных данных в VBscript:
Outputs(0).Value = x
• Сценарий входных данных в Python:
Outputs[0].Value = 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
• Python:
Outputs[0]['Value'] = [] # Initialize 'Value' as an empty list
Outputs[0]['Value'].append([0, 0, 0]) # Append the list [0, 0, 0] to 'Value'
Outputs[0]['Value'].append([1, 1, 1]) # Append the list [1 ,1, 1] to 'Value'
Outputs[0]['Value'].append([2, 2, 2]) # Append the list [2 ,2, 2] to 'Value'
Выходные данные в обоих случаях представляют собой массив из трех строк и трех столбцов.
Строки и столбцы
Свойства Rows и Cols представляют доступные только для чтения значения, возвращающие число строк или столбцов в элементе управления. Их можно использовать для определения размеров вектора или массива, хранящихся в конкретном элементе во время выполнения.
• JScript:
x = Inputs[0].Rows;
x = Inputs[0].Cols;
• VBScript
x = Inputs(0).Rows
x = Inputs(0).Cols
• Python
x = Inputs[0]['Rows']
x = Inputs[0]['Cols']
|
Элемент
|
Описание
|
|
x
|
Целое число строк или столбцов.
|