Dient zum Zugriff auf Datensätze, Funktionen und Variablen über deren Namen.
Syntax
$Ausdruck$
oder
$Ausdruck$ As Object
Die Syntax des Indirektionsoperators besteht aus folgenden Teilen:
Teil |
Beschreibung |
---|---|
Ausdruck |
Ein beliebiger Ausdruck, der eine Zeichenkette ergeben muss. |
Anmerkungen
Der Operator ermöglicht einen indirekten Zugriff auf beliebige Objekte, z. B. einen Datensatz oder ein Dokument über dessen Pfadnamen.
Sie können die obige Syntax an allen Stellen im Programm verwenden, an denen eine Objektreferenz erlaubt ist.
Eine direkte Objektreferenz, wie z. B. \Daten\Signal1 wird beim Kompilieren der FPScript-Formel aufgelöst. Eine indirekte Objektreferenz, die z. B. $"\Daten\Signal1"$ wird dagegen erst aufgelöst, wenn der FPScript-Code ausgeführt wird. Deshalb kann FlexPro die Abhängigkeiten der Formel nicht vorab überprüfen weshalb Formeln, die den Indirektionsoperator verwenden, bei jedem Aktualisierungsvorgang neu berechnet werden. Wenn Sie mit dem Indirektionsoperator auf eine andere Formel zugreifen, dann wird diese vor jedem Zugriff auf die Daten aktualisiert.
Der Indirektionsoperator verhält sich ansonsten wie ein direkter Objektverweis. Wenn Sie auf einen Datenobjekt verweisen, liefert er dessen Daten und wenn Sie auf ein anderes Objekt verweisen, eine Referenz auf dieses Objekt.
Um einer Objektreferenz auf ein Datenobjekt zu erhalten, müssen Sie den Zusatz As Object anhängen oder die Set-Anweisung verwenden.
Verfügbarkeit
FlexPro View, Basic, Professional, Developer Suite
Beispiele
$"Datensatz"$ |
Liefert den Inhalt eines Datensatzes mit dem Namen "Datensatz". |
$"Datensatz"$ As Object |
Liefert eine Objektreferenz auf den Datensatz. |
$"Ordner.fld"$ |
Liefert keine Objektreferenz auf den Ordner sondern eine Liste mit den Datensätzen im Ordner. (Auch ein Ordner ist ein Datenobjekt) |
$"Ordner.fld"$ As Object |
Liefert eine Objektreferenz auf den Ordner. |
$"Diagramm.2d"$ |
Liefert eine Objektreferenz auf das 2D-Diagramm. |
Set Obj = $"Datensatz"$ oder Dim Obj = $"Datensatz"$ As Object |
Weist der Variable eine Objektreferenz auf den Datensatz zu. |
$"\\ActivatedFolder\\Datensatz"$ |
Liefert den Inhalt eines Datensatzes mit dem Namen "Datensatz", der sich im aktivierten Unterordner des Wurzelordners befindet. |
$"Signal.Y"$ oder $"Signal"$.Y |
Liefert den Inhalt der Y-Komponente eines Datensatzes mit dem Namen "Signal". |
$"Funktion"$(Signal) |
Ruft die FPScript-Funktion "Funktion" auf und übergibt Signal als Argument. |
Datensatz.$"Comments"$ |
Liest die Objekteigenschaft mit Namen "Comments" aus dem Datensatz aus. |
$"\\Folder1\\MyDoc.doc"$.Name |
Liefert den Name des Dokumentes "MyDoc" im Ordner "Folder1". |
Dim names, max, globalmax |
Berechnet das globale Maximum aller Datensätze, die sich im Wurzelordner befinden und deren Namen mit "Data" beginnen. |
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 |
Siehe auch
* Dieser Operator ist in FlexPro View nicht verfügbar.