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 특성은 데이터의 실제 부분에 액세스하는 데 사용됩니다. rowcol 매개 변수는 선택 사항입니다. rowcol 매개 변수를 지정하면 지정된 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개씩 포함된 배열이 출력됩니다.
Rows 및 Cols
RowsCols 특성은 컨트롤의 행이나 열 수를 반환하는 읽기 전용 값입니다. 이러한 특성을 사용하여 런타임에 특정 요소에 저장되는 배열이나 벡터의 치수를 결정할 수 있습니다.
JScript:
x = Inputs[0].Rows;
x = Inputs[0].Cols;
VBScript:
X = Inputs(0).Rows
X = Inputs(0).Cols
요소
설명
x
행이나 열의 수(정수)입니다.
도움이 되셨나요?