Bonjour tous le monde,
J'ai le problème suivant: je crée une série d'onglets dans le Param_Overview la fenêtre. Ces onglets sont générés dans la boucle "for". Après le dernier onglet, cependant, je voudrais créer un autre onglet créé en dehors de la boucle for. La génération d'onglets à partir de la boucle "for" fonctionne bien mais l'ajout du dernier ne fonctionne pas. Si je sélectionne à la main le code du dernier onglet et que je l'exécute, l'onglet souhaité apparaît également dans les fenêtres. Pour créer les onglets en boucle "for" la table de données dt_run est utilisé. Pour créer le dernier onglet, un autre tableau est utilisé: zuv_data . Comment activer la génération du dernier onglet? J'apprécierais des conseils et des suggestions sur la façon de procéder.J'ai supprimé le contenu de la création de chaque graphique afin de simplifier la structure du code.
Meilleures salutations.
New Window( "Param_Overview", tb = Tab Box() );
For( iRun = 1, nitems(run_list), iRun++,
tb << Add(
//todo
Lineup Box( N Col( 1 ),
Outline Box( "Graph1",
H List Box(
dt_run << Graph Builder(
// todo
)
),
dt_run << Graph Builder(
// todo
)
)
)
),
Outline Box( "Graph2",
hlistbox = H List Box(
dt_run << Graph Builder(
// todo
)
),
dt_run << Tabulate(
// todo
)
)
)
)
)
);
// the last tab
tb << Add("last tab", //add one more tab
Outline Box( "Last_Graph",
H List Box(
zuv_data << Graph Builder(
// todo
)
)
)
);J'ai rempli votre exemple de script et corrigé quelques problèmes de syntaxe, et le code s'exécute sans erreur.
les erreurs
- Votre boucle For () est une boucle infinie.L'élément de fin de votre code n'est jamais atteint.
For( iRun = 1, nitems(run_list), iRun++,
Il doit êtreFor( iRun = 1, iRun <= nitems(run_list), iRun++,
- Un problème est survenu avec la correspondance ")" dans la boucle For
Voici ma refonte du code
Names Default To Here( 1 );
dt_run = open("$SAMPLE_DATA/big class.jmp");
zuv_data = open("$SAMPLE_DATAbig class families.jmp");
run_list = {a, b};
New Window( "Param_Overview", tb = Tab Box() );
For( iRun = 1, iRun <= N Items( run_list ), iRun++,
tb << Add(
//todo
Lineup Box( N Col( 1 ),
Outline Box( "Graph1",
H List Box(
dt_run << Graph Builder(
Size( 528, 450 ),
Show Control Panel( 0 ),
Variables( X( :age ), Y( :height ) ),
Elements( Points( X, Y, Legend( 3 ) ) )
)
),
dt_run << Graph Builder(
Size( 528, 450 ),
Show Control Panel( 0 ),
Variables( X( :age ), Y( :height ) ),
Elements( Points( X, Y, Legend( 3 ) ) )
)
)
),
Outline Box( "Graph2",
hlistbox = H List Box(
dt_run << Graph Builder(
Size( 528, 450 ),
Show Control Panel( 0 ),
Variables( X( :age ), Y( :height ) ),
Elements( Points( X, Y, Legend( 3 ) ) )
)
),
dt_run << Tabulate(
Show Control Panel( 0 ),
Add Table(
Column Table( Analysis Columns( :height, :weight ), Statistics( Mean ) ),
Row Table( Grouping Columns( :age ) )
)
)
)
)
);
// the last tab
tb << Add(
"last tab", //add one more tab
Outline Box( "Last_Graph",
H List Box(
zuv_data << Tabulate(
Show Control Panel( 0 ),
Add Table(
Column Table( Analysis Columns( :height, :weight ), Statistics( Mean ) ),
Row Table( Grouping Columns( :age ) )
)
)
)
)
);Merci !, ça marche. Je n'ai absolument pas remarqué l'erreur dans la boucle For (). C'est pourquoi il n'a pas pu afficher le dernier onglet. Meilleures salutations