Saltar navegación

Documentación de FlexPro 2025

Indirección

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

Instrucción Set

Nombres de ruta

Referencia de objeto

Instrucción ActivatedFolder

* Este operador no está disponible en FlexPro View.