From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

DIAdem

cancel
Showing results for 
Search instead for 
Did you mean: 

diadem 10 view

gibt es bei Diadem 10  eine Möflichkeit, den dargestellen X-Bereich aus View auszulesen ?
ich meine nicht die Bandcursor-Positionen.
Intern muss es die Möglichkeit auf jeden Fall geben, da sie zur Übertragung von View nach Graph benötigt wird.
 
0 Kudos
Message 1 of 5
(4,116 Views)

Hallo Jürgen

Entweder ist das Achsensystem gezoomed dann sind es tatsächlich die Cursorpositionen z.B.

Msgbox View.ActiveSheet.Cursor.X1
Msgbox View.ActiveSheet.Cursor.X2

Wenn es nicht gezoomt ist, ist das der Minimalwert bzw Maximalwert des X-Kanals:  z.B. ChnPropValGet("[1]/Zeit", "minimum") bzw. ChnPropValGet("[1]/Zeit", "maximum").

Ob gezoomt ist oder nicht erfährt man über die Eigenschaft DisplayObj.XScaling, 

Ich hoffe das hilft weiter.

Winfried



 

0 Kudos
Message 2 of 5
(4,112 Views)

Das stimmt nicht ganz !!

Wenn der Band-Cursor nach dem Zoomen bewegt wird, ist der Darstellungsbereich nicht mehr mit dem Bereich zwischen dem Band-Cursor identisch.

Diadem kann bei dem Befehl "Transfer nach Report" mit diesem Problem umgehen.

Daher hatte ich die Hoffnung, dass es eine Eigenschaft gibt, die den tatsächlich dargestellten Bereich wiedergibt.

 

0 Kudos
Message 3 of 5
(4,102 Views)

Leider gibt es für diesen Fall gibt es keine offen gelegten Eigenschaften.

0 Kudos
Message 4 of 5
(4,095 Views)

Die Möglichkeit existiert tatsächlich schon in Version 10.0, wenngleich sie erstmals in der Hilfe der 10.2 beta beschrieben ist !!

Das Objekt CurveChart2d besitzt die hier noch nicht dokumentierte Eigenschaften XBegin, XEnd,YBegin,YEnd

Hier das Original-Beispiel aus der Diadem 10.2 Beta Hilfe, das auch unter 10.0 funktionsfähig ist !

Call View.Sheets.RemoveAll()
Dim oMySheet: Set oMySheet = View.Sheets.Add("NewSheet")
oMySheet.ActiveArea.DisplayObjType = "CurveChart2D"
Call oMySheet.ActiveArea.DisplayObj.Curves.Add(1,2)

Call WndShow("VIEW","Normal")
Call MsgBox("Xbegin: " & oMySheet.ActiveArea.DisplayObj.XBegin)
Call MsgBox("Xend: " & oMySheet.ActiveArea.DisplayObj.Xend)
Call MsgBox("Ybegin: " & oMySheet.ActiveArea.DisplayObj.YBegin)
Call MsgBox("Yend: " & oMySheet.ActiveArea.DisplayObj.Yend)

mfg

Jürgen Althans

 

0 Kudos
Message 5 of 5
(3,772 Views)