Controls > Advanced Controls > スクリプト記述コントロールの入力と出力
スクリプト記述コントロールの入力と出力
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
いずれの場合も出力は 3 行 3 列の配列です。
Row と Col
Rows および Cols プロパティは、コントロールの行数または列数を返す、読み取り専用の値です。これらを使用して、ランタイムで特定の要素に格納されているベクトルまたは配列の次元を特定できます。
JScript:
x = Inputs[0].Rows;
x = Inputs[0].Cols;
VBScript:
X = Inputs(0).Rows
X = Inputs(0).Cols
要素
説明
x
行または列の数を示す整数。
これは役に立ちましたか?