Feld und Platzhalter

07.02.2018
 Daten präsentieren > Feld und Platzhalter

Feld und Platzhalter

Ein Feld besteht aus einem FPScript-Ausdruck, der einen darzustellenden Wert bzw. die darzustellende Zeichenkette liefert, und einem Formatierer, der festlegt, wie die Daten für die Ausgabe zu formatieren sind.

Sie können Felder in beliebige Texte, z. B. Achsenbeschriftungen, Textobjekte, Beschriftungen in Dokumenten usw. einfügen. Bei den darzustellenden Werten kann es sich um Berechnungsergebnisse, Kopfinformationen wie Name und physikalische Einheit von Datensätzen aber auch um das aktuelle Datum oder die aktuelle Uhrzeit handeln.

Das folgende Feld stellt z. B. den ersten Wert in der X-Komponente eines Signals mit drei Nachkommastellen dar:

%.3f{Signal.x[0]}

In diesem Beispiel ist Signal.x[0] der FPScript-Ausdruck, der den Wert liefert und %.3f{...} der Formatierer, der bestimmt, dass die Zahl ohne Exponent und mit drei Nachkommastellen zu formatieren ist. Die Angaben zur Formatierung sind hierbei optional, der einfache Formatierer %{...} gibt beliebige Datentypen in einem Standardformat aus. Fließkommazahlen werden hierbei mit einer Anzahl gültiger Stellen ausgegeben, die auf der Registerkarte Allgemein im Eigenschaften-Dialogfeld der FlexPro-Projektdatenbank eingestellt werden kann.

Felder beginnen immer mit einem %-Zeichen. Falls Sie ein einzelnes Prozent-Zeichen in einen Text einfügen möchten, sollten Sie dieses daher doppelt schreiben, um zu verhindern, dass es als Formatierer interpretiert wird, z. B.:

Die Irrtumswahrscheinlichkeit beträgt %{Probability}%%.

Zugriff auf Objektattribute in Feldern

Da FPScript vollen Zugang zum Automation-Objektmodell von FlexPro hat, können Sie beliebige Objektattribute, auch Eigenschaften genannt, darstellen. Die vordefinierten Felder zur Achsenbeschriftung in Diagrammen machen hiervon z. B. intensiv Gebrauch, um die Namen, Kommentare und Einheiten der über einer Achse geplotteten Datensätze zu ermitteln. Die hierzu verwendeten FPScript-Felder sind teilweise recht länglich, weshalb FlexPro für gängige Felder Platzhalter verwendet. Platzhalter verfügen ebenfalls über einen Formatierer, der aber nicht von FPScript-Code, sondern von einem Namen gefolgt wird. Der Standardtext zur Y-Achsenbeschriftung eines 2D-Kurvenzuges sieht z. B. so aus:

%<NameOrQuantityOrComments> %<[Unit]>

FlexPro ersetzt die beiden Platzhalter bei der Erstellung des Textes durch folgende FPScript-Felder:

%{.Data.YValueObject(%<ListItem>).NameOrQuantityOrComments(.Data.YComponent)}

%{ThisFPObject.YAxes(.YAxis).Scaling.CurrentUnitInBrackets(%<YAxisElement>)}

FPScript definiert ein Standardobjekt, welches mit dem optionalen Schlüsselwort ThisObject angesprochen werden kann. Der Ausdruck .Data ist also äquivalent zum Ausdruck ThisObject.DataSets. Bei der Auswertung der Achsenbeschriftung eines Kurvenzugs ist ThisObject eine Referenz auf den Kurvenzug. Mit ThisFPObject greifen Sie auf das FlexPro-Objekt, z. B. das Diagramm oder die Tabelle zu, die das Feld enthält.

Falls dem Kurvenzug eine Liste mit mehreren Datensätzen zugeordnet ist, werden die für jedes Element der Liste ausgewertet. %<ListItem> ist hierbei ein Platzhalter, der vor der Auswertung durch den Index des jeweiligen Listenelementes ersetzt wird.

Folgende Tabelle gibt an, welche Objekte ThisObject und ThisFPObject referenzieren:

Feld befindet sich in

ThisObject zeigt auf

ThisFPObject zeigt auf

Achsenbeschriftung einer Achse

Achse

Diagramm

Achsenbeschriftung, Kurvenzugbeschriftung oder Legendeneintrag eines Kurvenzugs

Kurvenzug

Diagramm

Legendentitel

Legende

Diagramm

Farblegendenbeschriftung

Farblegende

3D-Diagramm

Titel einer Spaltentabelle

Spaltentabelle

Spaltentabelle

Titel einer Spalte in einer Spaltentabelle

Tabellenspalte

Spaltentabelle

Titel einer Zellentabelle

Zellentabelle

Zellentabelle

Zelle in einer Zellentabelle

Zelle

Zellentabelle

Textobjekt

Textobjekt

Textobjekt

Beschriftung in einem Dokument/Diagramm

Beschriftung

Dokument/Diagramm

Spezielle Platzhalter

FlexPro verwendet auch einige Platzhalter, die keinen FPScript-Code hinterlegt haben:

Platzhalter

Verwendet in

Bedeutung

%<DataSet>

Achsenbeschriftung und Legendeneintrag für 3D-Kurvenzug

Repräsentiert die Nummer der jeweiligen Datenreihe im Kurvenzug, für den eine Achsenbeschriftung oder ein Legendeneintrag erstellt wird, und wird als Index für die Curve3DDataSets-Auflistung des Curve3D-Objektes verwendet.

%<Index>

"

Repräsentiert die Nummer der jeweiligen Datenreihe im 3D-Datensatz, für den eine Achsenbeschriftung oder ein Legendeneintrag erstellt wird. Wird zur Anzeige des Datenreihenindex verwendet.

%<[Index]>

"

Wie %<Index>, jedoch erfolgt die Ausgabe in eckige Klammern gesetzt.

%<YValue>
%<XValue>
%<ZValue>

Datenbeschriftung und Marke in 2D- oder 3D-Kurvenzug

Die Werte der einzelnen Komponenten des zu beschriftenden Datenpunktes. %<ZValue> kann nur in 3D-Kurvenzügen verwendet werden.

%<YUnit>
%<XUnit>
%<ZUnit>

"

Die physikalischen Einheiten der einzelnen Komponenten des zu beschriftenden Datenpunktes. %<ZUnit> kann nur in 3D-Kurvenzügen verwendet werden.

%<DataSetValue>

Datenbeschriftung in 2D- oder 3D-Kurvenzug

Der dem zu beschriftenden Datenpunkt zugeordnete Wert des zur Datenbeschriftung angegeben zusätzlichen Datensatzes.

%<XIndex>

Datenbeschriftung in 3D-Kurvenzug

Der Zeilenindex des zu beschriftenden Datenpunktes im 3D-Datensatz.

%<ZIndex>

Datenbeschriftung in 3D-Kurvenzug

Der Spaltenindex des zu beschriftenden Datenpunktes im 3D-Datensatz.

%<PageNumber>

Text-Zeichnungsobjekt in Dokument

Die Seitennummer im Dokument, auf dem sich das Text-Zeichnungsobjekt befindet.

Felder zur Ausgabe von komplexen Zahlen

Wenn der Datensatz, dessen Inhalt Sie darstellen möchten, komplexe Zahlen beinhaltet, können Sie im Feld die folgenden Funktionen verwenden:

Funktion

Bedeutung

RealPart(Datensatz)

Gibt den Realteil der komplexen Zahl im Datensatz aus.

ImaginaryPart(Datensatz)

Gibt den Imaginärteil der komplexen Zahl im Datensatz aus.

Absolute(Datensatz)

Gibt den Betrag der komplexen Zahl im Datensatz aus.

Phase(Datensatz)

Gibt die Phase der komplexen Zahl im Datensatz aus.

Indizierung von Einzelwerten zur Darstellung

Wenn der Datensatz, dessen Wert dargestellt werden soll, keinen Einzelwert, sondern eine Datenreihe oder eine Datenmatrix beinhaltet, können Sie einen Index verwenden, um einen bestimmten Wert zur Darstellung zu bringen. Wenn Sie keinen Index verwenden, wird der erste Wert entnommen. Wenn Sie die Zahl -1 als Index eintragen, wird immer der letzte Wert entnommen.

Wenn der Datensatz ein Signal, eine Signalreihe oder eine Raumkurve beinhaltet, können Sie durch Anhängen von .X, .Y bzw. .Z an den Namen die gewünschte Komponente auswählen. Wenn Sie keine Komponente angeben, wird die Y-Komponente verwendet.

Beispiele

g{Signal.Y[10]}

Stellt den 11. Wert der Y-Komponente des Signals dar.

%g{Signal.X[-1]}

Stellt den letzten Wert der X-Komponente des Signals dar.

%g{Datenmatrix[0][10]}

Stellt den 11. Wert der 1. Spalte der Datenmatrix dar.

Felder mit Eingabeaufforderung

Über entsprechende Felder können Sie auch Eingabeaufforderungen in Texte einbetten. Verwenden Sie diese Möglichkeit, um z. B. im Rahmen einer Aktualisierung des Dokumentes Eingaben vom Benutzer abzufragen, die dann im Dokument angezeigt werden sollen.

Es gibt zwei Möglichkeiten, eine Eingabeaufforderung in einen Text einzubetten. Sie können entweder in den FPScript-Ausdruck eines Feldes eine Eingabeaufforderung einbauen, z. B. %{TextInput("Bitte geben Sie Ihren Namen ein")}, oder Sie verwenden einen speziellen Formatierer, der zu einer Eingabe auffordert, z. B. %"Messgerät:\DM2000\MX2000". Die zweite Alternative hat diverse Vorteile, erstens können Sie Vorgabewerte zur Eingabe angeben, im Beispiel "DM2000" und "MX2000". Diese werden dann in einem Auswahlfeld angezeigt. Zweitens fasst FlexPro mehrere Eingabeaufforderungen, die im gleichen Text eingebettet sind, zusammen und drittens merkt sich FlexPro einmal getätigte Eingaben, sodass Sie bei erneuter Aktualisierung nur Änderungen eingeben müssen.

Siehe auch

Formatierer

Eingebettetes FPScript

Share article or send as email:

You might be interested in these articles