Wie man den Titel der Gliederungsbox mit „Skript abrufen“ erfasstHallo,
Ich versuche, mit der Funktion „Skript abrufen“ Informationen zu einem Bericht zu extrahieren, die ich in einer .jrp-Datei zusammenführen kann (ähnlich wie in diesem Beitrag beschrieben, nur dass ich zusätzliche Komponenten hinzufüge, die beim Systemstart für die .jrp-Datei ausgeführt werden sollen; daher verwende ich nicht die Funktion „Berichtsfenster speichern“). Mein Problem ist, dass ich auch die Titel der Gliederungsboxen erfassen muss (diese werden vom Skript benannt und bei Änderungen in meinem Gesamtprojekt nachverfolgt), da ich den Bericht sonst nicht wiederherstellen kann. Siehe das Beispiel unten.
Fehlt mir in der Funktion „get script“ etwas, um auch die OutlineBox-Titel einzubinden?
names default to here(1);
report_win = New Window("Testwindow",
Outline Box("tester",
Textbox("Test")
)
);
report_win << Get Script;
//RESULT: V List Box( V List Box( Outline Box( Text Box( "Test" ) ) ) )
//If I were to take that same script and try to recreate as a jrp file works....
//New Window("test", V List Box( V List Box( Outline Box( Text Box( "Test" ) ) ) ))
//resulting failure: expected character arg 1 in access or evaluation of 'Outline Box' , Outline Box/*###*/(Text Box( "Test" ))
Automatisierung und SkripterstellungBetreff: Wie man den Titel einer Gliederungsbox mit „Skript abrufen“ erfasstIch bin mir nicht sicher, ob Sie << Get Script für Ihren Zweck verwenden können. Was Sie stattdessen tun könnten/sollten, hängt von Ihrem Ziel ab. Ich bin mir ziemlich sicher, dass ich etwas übersehe, warum Sie << Save Window Report nicht verwenden können, aber es könnte eine Möglichkeit sein.
Names Default To Here(1);
report_win = New Window("Testwindow", << Type("Report"), Outline Box("tester", Text Box("Test")));
report_win << Save Window Report("$TEMP/test.jrp");
s1 = report_win << get script;
wait(0);
s2 = Parse(Load Text File("$TEMP/test.jrp"));
wait(0);
Delete File("$TEMP/test.jrp");
Show(s1, s2);
ob_script = Extract Expr(s2, Outline Box(WildList()));
s1 = V List Box(V List Box(OutlineBox(Text Box("Test"))));
s2 = New Window("Testwindow", Outline Box("tester", Text Box("Test")));
Outline Box("tester", Text Box("Test"))
Betreff: Wie man den Titel einer Gliederungsbox mit „Skript abrufen“ erfasstIch denke, die Verwendung von XPath könnte einfacher und direkter sein. Siehe diese Abbildung:
Names Default to Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
biv = dt << Bivariate( Y( :weight ), X( :height ), Fit Line( 1 ) );
rpt = biv << Report;
outlineNames = (rpt << XPath( "//OutlineBox" )) << Get Title;