みなさん、こんにちは。
次の問題があります:内に一連のタブを作成していますParam_Overview窓。 これらのタブは「for」ループで生成されます。 ただし、最後のタブの後に、forループの外側に作成されたタブをもう1つ作成したいと思います。 「for」ループからのタブの生成はうまく機能しますが、最後のタブの追加はうまくいきません。 最後のタブのコードを手動で選択して実行すると、目的のタブがウィンドウにも表示されます。 「for」ループでタブを作成するには、データテーブルを使用しますdt_run使用されている。 最後のタブを作成するために、別のテーブルが使用されます。 zuv_data 。 最後のタブの生成をアクティブにする方法は? その方法のヒントや提案をいただければ幸いです。コード構造を単純化するために、各グラフの作成方法のコンテンツを削除しました。
宜しくお願いします。
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
)
)
)
);サンプルスクリプトに記入し、いくつかの構文の問題を修正したところ、コードはエラーなしで実行されました。
エラー
- For()ループは無限ループです。コードの終了要素に到達することはありません。
For( iRun = 1, nitems(run_list), iRun++,
それはする必要がありますFor( iRun = 1, iRun <= nitems(run_list), iRun++,
- Forループで「)」が一致する問題がありました
これが私のコードの作り直しです
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 ) )
)
)
)
)
);ありがとう!、それは働いています。 For()ループのエラーにはまったく気づきませんでした。 そのため、最後のタブを表示できませんでした。 宜しくお願いします