Können Sie auf den Helpkey-Wert eines Berichts zugreifen? Ich möchte bestätigen, dass ein Bericht eine bestimmte Plattform ist, beispielsweise Bivariate, und der Helpkey scheint die gewünschten Informationen zu haben, wenn der Titel geändert wird. Wenn ich den Helpkey nicht verwenden kann, gibt es eine andere Möglichkeit, dies zu bestätigen? Ich kann nur herausfinden, ob es zwei durchgehende Achsen gibt.
Vielleicht würde ein anderer Ansatz funktionieren. Dieses Skript durchsucht alle geöffneten Fenster nach Berichten und zeigt deren Skripts an. Das Skript beschreibt, wie der Bericht neu erstellt wird, und enthält wahrscheinlich auch die Informationen, die Sie benötigen.
// get a list of open windows
wlist = Window();
// some of them might be platforms
For( i = 1, i <= N Items( wlist ), i += 1,
ob = Try( wlist[i][Outline Box( 1 )] );
// see if there is an outline box
If( Type( ob ) == "DisplayBox",
// the outline box might be a platform owner,
// see if it is a scriptable object
platform = ob << getscriptableObject;
If( Type( platform ) == "Scriptable",
// found one. display its script
Show( platform << getscript );
s = platform << getscript;
If( Head( s ) == Expr( distribution() ),
If(
Head( Arg( s, 1 ) ) ==
Expr( ContinuousDistribution ),
Print( "ok" );//
, //
Print( "no" );//
)//
, //
Print( "not close" )
);
);
);
);
Mit mehreren geöffneten Fenstern und zwei Berichten:
platform << getscript = Bivariate(Y(:weight), X(:height), Fit Line({Line Color({213, 72, 87})}));
"not close"
platform << getscript = Distribution(Continuous Distribution(Column(:weight)), Nominal Distribution(Column(:age)));
"ok"
Das Skript wird als Ausdruck zurückgegeben. Sie können sie entweder mit den Ausdrucksfunktionen studieren oder mit char () in eine Zeichenfolge konvertieren und mit Zeichenfunktionen untersuchen.
c = char(NameExpr(s)); // convert to character
"Distribution(Continuous Distribution(Column(:weight)), Nominal Distribution(Column(:age)))"
contains(c,"Nominal Distribution") // find location of text
56