-
FlexPro
- Auf einen Blick
- Features & Optionen
- Einsatzgebiete
- Alle Vorteile
- Neu in FlexPro 2021
- FlexPro gratis testen
- FlexPro View OEM Freeware
- Kaufberatung
- Login
- Language
- +49 6894 929600
- infoweisang.com
- Google Maps
- Produkte
- News
- Support
- Unternehmen
- Jobs
- Kontakt
- Login
- Language
- +49 6894 929600
- infoweisang.com
- Google Maps
Home > Community > FPScript > FPScript – Zugriff auf Datensatz und Verrechnung in Kurvenzugbeschriftung > Antwort auf: FPScript – Zugriff auf Datensatz und Verrechnung in Kurvenzugbeschriftung
Hallo,
das Problem liegt darin, dass entweder ein FPScript-Ausdruck oder einer der anderen vordefinierten Felder benutzt werden können. Die letzteren können allerdings durch Rückgriff auf das Objektmodell auch im FPScript-Code dargestellt werden. Das Automation-Objektmodell finden Sie in der Online-Hilfe unter Automatisierung von Abläufen > Automatisierung mit FlexPro Visual Basic > Visual Basic-Verzeichnis für FlexPro > Objekte und Auflistungen. Zum Zugriff auf die Objekte zu einer eingebetteten FPScript-Formel stehen die beiden Schlüsselwörter ThisObject und ThisFPObject zur Verfügung. Während ersteres das Automation-Objekt liefert (im Falle eines Kurvenzugs im 2D-Diagramm wäre dies das entsprechende Curve2D-Objekt), verweist letzeres auf das umgebende FlexPro-Objekt (beim Kurvenzug das zugehörige Diagram2D-Objekt).
In Ihrem Beispiel brauchen Sie den Namen des Signals für den Kurvenzug. Über die Eigenschaft .Data des Curve2D-Objekts erhalten Sie das zugehörige Curve2DData-Objekt. Ist der Kurvenzug durch ein Signal (statt durch getrennte Datensätze für X und Y) gegeben, so finden Sie in der Eigenschaft .DataSet den Namen des Signals als Zeichenkette. Dieser kann über den Indirektionsoperator zum Zugriff auf die Daten benutzt werden. Zusammengefasst ergibt sich also folgende eingebettete FPScript-Formel für die Kurvenzugsbeschriftung (inklusive Formatierung mit 6 Nachkommaziffern):
%.6f{
Dim S = Extrema($ThisObject.Data.DataSet$, 0.015 A, EVENT_BOTH, EVENT_EXTRACT)
(S.Y[1] - S.Y[0]) / (S.X[1] - S.X[0])
}
Wenn Sie dies für alle Kurvenzüge eines Diagramms übernehmen wollen, können Sie nachdem Sie dies für einen Kurvenzug getan haben, im Fenster Eigenschaften (im Standardlayout rechts neben dem Hauptfenster) unter Kurvenzugsbeschriftung > Text die Formel kopieren. Eventuell müssen Sie vorher den entsprechenden Eintrag expandieren. Wenn Sie nun im Diagramm mit gedrückter Alt-Taste einen Kurvenzug auswählen werden alle selektiert und im Eigenschaftenfenster die gemeinsamen Eigenschaften angezeigt. Dort können Sie unter Kurvenzugbeschriftung > Text die kopierte Formel für alle ausgewählten Kurvenzüge gleichzeitig einfügen.