Comment récupérer le titre d'OutlineBox avec « Obtenir le script » ?Salut,
J'essaie d'utiliser la fonction « Obtenir le script » pour récupérer des informations sur un rapport afin de les compiler dans un fichier .jrp (comme décrit dans ce message, à la différence que j'ajouterai des composants qui s'exécuteront au démarrage du système, d'où l'absence de la fonction « Enregistrer la fenêtre du rapport »). Mon problème est que je dois également récupérer les titres des OutlineBox (nommés par le script et suivis en cas de modifications dans mon projet global), sans quoi je ne peux pas recréer le rapport. Voir l'exemple ci-dessous.
Ai-je oublié quelque chose dans la fonction « get script » pour récupérer également les titres de la boîte de contour ?
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" ))
Automatisation et scriptageRe: Comment récupérer le titre d'OutlineBox avec « Obtenir le script »Je ne suis pas certain que « Obtenir le script » soit adapté à ce que vous essayez de faire. La solution la plus appropriée dépend de votre objectif final. Je suis presque sûr qu'il me manque une information quant à la raison pour laquelle vous ne pouvez pas utiliser « Enregistrer le rapport de la fenêtre », mais cela pourrait être une option.
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"))
Re: Comment récupérer le titre d'OutlineBox avec « Obtenir le script »Je pense que l'utilisation de XPath serait plus simple et plus directe. Voir cette illustration :
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;