Utilisé pour accéder aux ensembles de données, aux fonctions et aux variables en utilisant leurs noms.
Syntaxe
$Expression$
ou
$Expression$ As Object
La syntaxe de l'opérateur d'indirection est constituée des éléments suivants :
Élément |
Description |
---|---|
Expression |
Toute expression qui renvoie une chaîne de caractères. |
Remarques
L'opérateur permet d'accéder indirectement à tout objet, par exemple un ensemble de données ou un document, en utilisant son nom de chemin.
Vous pouvez utiliser la syntaxe ci-dessus à tous les endroits du programme où une référence d'objet est autorisée.
Une référence d'objet directe, comme par ex. \Daten\Signal1 est résolue lors de la compilation de la formule FPScript. En revanche, une référence d'objet indirecte, par exemple $"\Daten\Signal1"$, ne sera résolue que lorsque le code FPScript sera exécuté. C'est pourquoi FlexPro ne peut pas vérifier à l'avance les dépendances de la formule, c'est pourquoi les formules qui utilisent l'opérateur d'indirection sont recalculées à chaque processus de mise à jour. Si vous accédez à une formule différente en utilisant l'opérateur d'indirection, cette formule sera mise à jour avant chaque accès aux données.
Pour le reste, l'opérateur d'indirection se comporte comme une référence directe à un objet. Si vous faites référence à un objet de données, il fournit ses données et si vous faites référence à un autre objet, il fournit une référence à cet objet.
Pour obtenir une référence d'objet à un objet de données, il faut ajouter le complément As Object ou utiliser l' instruction Set.
Disponible dans
FlexPro View, Basic, Professional, Developer Suite
Exemples
$"DataSet"$ |
Renvoie le contenu d'un ensemble de données appelé "DataSet". |
$"Ensemble de données"$ As Object |
Fournit une référence d'objet à l'ensemble de données. |
$"dossier.fld"$ |
Ne fournit pas de référence d'objet au dossier mais une liste des enregistrements du dossier. (Un dossier est également un objet de données) |
$"dossier.fld"$ As Object |
Fournit une référence d'objet au dossier. |
$"Diagramme.2d"$ |
Fournit une référence d'objet au diagramme 2D. |
Set Obj = $"Enregistrement"$ ou Dim Obj = $"Ensemble de données"$ As Object |
Affecte à la variable une référence d'objet à l'ensemble de données. |
$"\\ActivatedFolder\\DataSet"$ |
Renvoie le contenu d'un ensemble de données portant le nom "DataSet", qui se trouve dans le sous-dossier activé du dossier racine. |
$"Signal.Y"$ or $"Signal"$.Y |
Renvoie le contenu de la composante Y d'un ensemble de données appelé "Signal". |
$"Function"$(Signal) |
Appelle la fonction FPScript "Function" et passe Signal comme argument. |
DataSet.$"Commentaires"$ |
Lit la propriété de l'objet appelée "Comments" à partir de l'ensemble de données. |
$"\\Folder1\\MyDoc.doc"$.Name |
Renvoie le nom d'un document "MonDoc" situé dans le dossier "Dossier1". |
Dim noms, max, globalmax |
Calcule le maximum global de tous les ensembles de données situés dans le dossier racine et dont le nom commence par "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 Fin |
Voir aussi
* Cet opérateur n'est pas disponible dans FlexPro View.