Se utiliza para acceder a conjuntos de datos, funciones y variables a través de sus nombres.
Sintaxis
$Expresión$
o
$Expresión$ As Object
La sintaxis del operador de indirección consta de las siguientes partes:
Parte |
Descripción |
|---|---|
Expresión |
Cualquier expresión que deba dar como resultado una cadena. |
Notas
El operador permite el acceso indirecto a cualquier objeto, por ejemplo, un conjunto de datos o un documento, a través de su nombre de ruta.
Puede utilizar la sintaxis anterior en todos los puntos del programa en los que se permita una referencia directa a un objeto.
Una referencia directa a un objeto, como \Datos\Señal1, se resuelve cuando se compila la fórmula FPScript. En cambio, una referencia indirecta a un objeto, por ejemplo, $"\Datos\Señal1"$, solo se resuelve cuando se ejecuta el código FPScript. Por esta razón, FlexPro no puede comprobar de antemano las dependencias de la fórmula, por lo que las fórmulas que utilizan el operador de indirección se recalculan cada vez que se actualizan. Si se accede a otra fórmula con el operador de indirección, esta se actualiza antes de cada acceso a los datos.
Por lo demás, el operador de indirección se comporta como una referencia directa a un objeto. Si hace referencia a un objeto de datos, este devuelve sus datos y si hace referencia a otro objeto, devuelve una referencia a ese objeto.
Para obtener una referencia a un objeto de datos, debe añadir As Object o utilizar la instrucción Set.
Disponibilidad
FlexPro View, Basic, Professional, Developer Suite
Ejemplos
$"Conjunto de datos"$ |
Devuelve el contenido de un conjunto de datos con el nombre "Conjunto de datos". |
$"Conjunto de datos"$ As Object |
Devuelve una referencia de objeto al conjunto de datos. |
$"Carpeta.fld"$ |
No devuelve una referencia de objeto a la carpeta, sino una lista de los registros de datos de la carpeta. (Una carpeta también es un objeto de datos). |
$"Carpeta.fld"$ As Object |
Devuelve una referencia de objeto a la carpeta. |
$"Diagrama.2d"$ |
Devuelve una referencia de objeto al diagrama 2D. |
Set Obj = $"Conjunto de datos"$ o Dim Obj = $"Conjunto de datos"$ As Object |
Asigna a la variable una referencia de objeto al conjunto de datos. |
$"\\ActivatedFolder\\Conjunto de datos"$ |
Devuelve el contenido de un conjunto de datos con el nombre "Conjunto de datos", que se encuentra en la subcarpeta activada de la carpeta raíz. |
$"Señal.Y"$ o $"Señal"$.Y |
Devuelve el contenido del componente Y de un conjunto de datos con el nombre "Señal". |
$"Función"$(Señal) |
Llama a la función FPScript "Función" y transfiere Señal como argumento. |
Conjunto de datos.$"Comments"$ |
Lee la propiedad del objeto con el nombre "Comments" del conjunto de datos. |
$"\\Folder1\\MyDoc.doc"$.Name |
Devuelve el nombre del documento "MyDoc" en la carpeta "Folder1". |
Dim names, max, globalmax |
Calcula el máximo global de todos los conjuntos de datos que se encuentran en la carpeta raíz y cuyos nombres empiezan por "Data". |
names = .Parent.Objects("Data.*").Names
For Each Row i In names Do max = Maximum($names[i]$) If DataType(globalmax) == TYPE_EMPTY Or max > globalmax then globalmax = max End End |
|
Véase también
* Este operador no está disponible en FlexPro View.