選択可能なチェックボックスのマトリックスを生成する全て、
選択可能なチェックボックスのマトリックスを生成する最も簡単な方法は何だろうと考えています。 したがって、私ができるようにしたいのは、非正方行列を生成し、それをポップアップ表示して、ユーザーが行列内の任意の位置を選択できるようにすることです。 ユーザーが列内の複数の行を選択でき、またその逆も可能であれば、ニーズを満たすのは適切でしょう。 助けていただければ幸いです。
Re: 選択可能なチェックボックスのマトリックスを生成する私はゲームに遅れていることに気づいていますが、できればあなたはすでにこのことを理解していると思います。主な問題は、コード内でテーブル ボックスを表示していないことです。次の問題は、テーブルを作成した直後にそれを分析することだと思います。ユーザーがチェックボックスをオンにした後でこれを実行したいと思います。以下のコードがあなたが探しているものに近いものであれば幸いです。
Names Default To Here( 1 );
InputsLoadBasic = Expr(
LB1 = Lineup Box( N Col( 2 ) );
LB1 << Append(
Panel Box( "Test",
V List Box( V List Box( Text Box( "Arg1" ), NEB_arg1 = Number Edit Box( 2 ), Text Box( "Arg2" ), NEB_arg2 = Number Edit Box( 3 ), ) )
)
);
LB1 << Append(
Panel Box( "Selectable Matrix Test",
V List Box(
Button Box( "Enter Target Matrix",
nR = 12;
nC = 24;
SCB1 = String Col Box( "", {} );
if(!isempty(TB1),
TB1 << Delete Box;
);
For( i = 1, i <= nR, i++,
SCB1 << Add Element( Char( i ) )
);
TB1 = Table Box( SCB1 );
For( i = 1, i <= nC, i++,
Insert Into( TB1, Check Box( Repeat( {" "}, nR ), <<SET heading=""></SET>Re: 選択可能なチェックボックスのマトリックスを生成する@ジャスティン・チルトン/ @txnelson / @thomasz
追加の質問がありますが、どなたかこれを行う方法を考えていただけないでしょうか。 パネル ボックス内で選択可能なボックスのマトリックスを生成しようとしています。 これが私が持っているスクリプトです。私が失敗する理由を教えていただけますか?
InputsLoadBasic =
Expr(
LB1 = Lineup Box( N Col( 2 ) );
LB1 << Append(Panel Box( "Test",
V List Box(
V List Box(
Text Box( "Arg1" ),
NEB_arg1 = Number Edit Box( 2 ),
Text Box( "Arg2" ),
NEB_arg2 = Number Edit Box( 3 ),
)
)
)
);
LB1 << Append(Panel Box( "Selectable Matrix Test",
V List Box(
Button Box("Enter Target Matrix",
nR = 12;
nC = 24;
SCB1 = String Col Box( "", {} );
For( i = 1, i <= nR, i++,
SCB1 << Add Element( Char( i ) )
);
TB1 = Table Box( SCB1 );
For( i = 1, i <= nC, i++,
Insert Into( TB1, Check Box( Repeat( {" "}, nR ), <<SET heading=""></SET>
結果として得られる UI は希望どおりに見えますが、上に表示されている [ターゲット マトリックスを入力] ボタンをクリックしても、希望どおりの動作はしません。 助けていただけますか
Re: 選択可能なチェックボックスのマトリックスを生成する<
nRow = 5;
nCol = 6;
// string col box for row labels
scb = String Col Box( "", {} );
// add labels to rows
For( i = 1, i <= nRow, i++,
scb << Add Element( "row" || Char( i ) )
);
// create a table box to contain everything
tbl = Table Box( scb );
// add all columns with the given number of rows
For( i = 1, i <= nCol, i++,
Insert Into(
tbl,
Check Box(
Repeat( {" "}, nRow ),
<<SET heading=""></SET>
窓:

Re: 選択可能なチェックボックスのマトリックスを生成する@ジャスティン・チルトン、
フォローアップの質問が 1 つあります。各列の先頭と各行の先頭にテキストを追加することは可能ですか?
もしそうなら、それを行うための効率的な方法は何でしょうか? それぞれをテキスト ボックスで囲む必要がありますか?
Re: 選択可能なチェックボックスのマトリックスを生成する@uday_guntupalli 、
Table Box 内で CheckBox() を使用して、チェック ボックスのテーブルを作成できます。
nRow = 5;
nCol = 6;
// create a table box to contain everything
tbl = Table Box();
// add all columns with the given number of rows
For( i = 1, i <= nCol, i++,
Insert Into( tbl, Check Box( Repeat( {" "}, nRow ) ) )
);
New Window( "Check Box Example",
tbl,
Button Box( "Show results",
// initialize the result
result = {};
// loop through each row
For( i = 1, i <= nRow, i++,
// initialize the row list
result[i] = {};
// loop through each column getting values
For( j = 1, j <= nCol, j++,
result[i][j] = tbl[CheckBoxBox( j )] << get( i )
);
);
// convert the list to a 2-d matrix
result = Matrix( result );
Show( result );
)
);
ウィンドウは次のようになります。

上記のチェック ボックスを選択した場合のログの結果は次のとおりです。
result =
[ 1 0 0 0 0 0,
0 1 0 0 0 0,
0 0 1 0 0 0,
0 0 0 1 0 0,
0 0 0 0 1 0];
Re: 選択可能なチェックボックスのマトリックスを生成する@thomasz 、
私のニーズに合っていると思います - 見た目は良いです。 ただし、もしよろしければ、追加の質問がいくつかあります。
1. 選択したポジションは取得可能ですか? - 「はい」の場合、そのデータを取得する方法の例を教えていただけますか?
2. このウィンドウの周囲にもう少しテキストを追加することは可能ですか? X 軸ラベルと Y 軸ラベルに似ています
Re: 選択可能なチェックボックスのマトリックスを生成するあまり洗練された解決策ではありませんが、次のようなものがうまくいくかもしれません。
lv={};
for(i=1,i<=4,i++, insert into(lv,""));
tCB="";
for(j=1,j<6,j++,tCB||="check box( (lv)),");
tCB=substr(tcB,1,length(tCB)-1);
eval(parse(eval insert("wind=new window( \!"Check boxes\!",
H List Box(
^tCB^))")));