Entradas y salidas de controles programables
Las entradas y salidas de cualquier control con script de PTC Mathcad Prime tienen las siguientes propiedades. Los controles pueden aceptar cualquier tipo de datos de PTC Mathcad Prime válido como entrada. Entre ellos se incluye escalares, matrices y cadenas o expresiones que producen uno de estos valores.
La indexación de las variables de entrada y salida se inicia en 0. Las entradas y las salidas tienen propiedades y métodos asociados. Con el uso de las salidas de un control como entradas de otro, puede incluir varios controles en la misma hoja de trabajo. Al asociar un control con valores de entrada y salida, define su lugar en el orden de cálculo de la hoja de trabajo y lo notifica para volver a calcularlo cuando cambian los valores de entrada, y también notifica a la hoja de trabajo cuándo deben actualizarse los valores de salida. Por tanto, es importante que asigne valores de entrada y salida a cualquier control que use estas variables de la hoja de trabajo.
Para controles avanzados con entradas, es recomendable definir la variable de salida. Si se deja un marcador vacío, los valores no estarán disponibles para el control cuando se abra la hoja de trabajo.
Cuando el control no tiene una variable de salida y las entradas tienen el formato de matriz, cuando el script acceda a dichas entrada, se requiere una validación de entradas. Añada la siguiente línea al script:
• VBScript
If IsArray(Inputs(0).value) = False Then Exit Sub
• JScript
if (!Inputs[0].Value.length) return;
Valor
La propiedad Value se utiliza para acceder a la parte real de los datos. Los parámetros row y col son opcionales. Si se especifican los parámetros row y col, se devuelve un valor escalar en los objetos row o col.
x = objDataValue.Value( [row, col])
objDataValue.Value( [row, col] ) = x
• Script de entrada en 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.
• Script de entrada en VBScript:
x = Inputs(0).Value(0,0)
y = Inputs(1).Value(0)
z = Inputs(2).Value
• Script de salida en JScript:
Outputs[0].Value[0][0] = x;
• Script de salida en VBScript:
Outputs(0).Value(0,0) = x
Elemento
|
Descripción
|
x
|
La parte real de los datos en esta posición.
|
row
|
El índice de enteros de la fila seleccionada.
|
col
|
El índice de enteros de la columna seleccionada.
|
Cuando la propiedad Value se utiliza en el lado izquierdo de una expresión, la matriz no crece automáticamente para ajustarse a los datos. Para evitar este error, se debe utilizar la metodología estándar de lenguaje de creación de scripts para definir el tamaño. Por ejemplo:
• 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
La salida de ambos casos es una matriz de tres filas y tres columnas.
Filas y columnas
Las propiedades Rows y Cols son valores de solo lectura que devuelven el número de filas o columnas del control. Se pueden utilizar para determinar las cotas de un vector o una matriz almacenada en un elemento en concreto en tiempo de ejecución.
• JScript:
x = Inputs[0].Rows;
x = Inputs[0].Cols;
• VBScript:
X = Inputs(0).Rows
X = Inputs(0).Cols
Elemento
|
Descripción
|
x
|
El número entero de filas o columnas.
|