ツリー一括表示

Nomal ラジオボタンを横方向にするには /はな (09/05/30(Sat) 18:32) [#4246]
Nomal Re[1]: ラジオボタンを横方向にするには /AI (09/05/31(Sun) 11:12) [#4247]
  └Nomal Re[2]: ラジオボタンを横方向にするには /fushigineko (09/05/31(Sun) 17:13) [#4248]
    └Nomal Re[3]: 記事[#4251]を参照してください。 /AI (09/05/31(Sun) 21:37) [#4249]
      └Nomal 作ってみた: 「横並びラジオ」 / U D (09/06/01(Mon) 01:30) [#4251]
        └Nomal Re[5]: 作ってみた: 「横並びラジオ」 /焼きそば (09/06/01(Mon) 21:05) [#4254]
          └Nomal 横並びラジオ /はな (09/06/03(Wed) 21:39) [#4255] 解決済み!


親記事 / ▼[ 4247 ]
/ 親階層)  ラジオボタンを横方向にするには
□投稿者/ はな 【221.132.96.22】(2009/05/30(Sat) 18:32:10)

    ラジオボタンを横方向に並べるには、どうしたらよいのかわかりません。
    列の数を指定したのですが、順番は縦になってしまします。よろしくお願いします。

    ラジオボタンのリファレンスを参考にしました。

    例:ラジオボタンの数が5よりも多い場合、その列を5に指定すると、2行で5列にはなるのですが、その並び順が横方向でなく、縦方向になってしまします。

    0のラジオボタン→2のラジオボタン→4のラジオボタン→…
    1のラジオボタン→3のラジオボタン→5のラジオボタン→…


    0のラジオボタン→1のラジオボタン→2のラジオボタン→…
    6のラジオボタン→7のラジオボタン→8のラジオボタン→…
    のようにしたいのですが…

[ □ Tree ] 返信 削除キー/
[ □ Tree ] 返信

▲[ 4246 ] / ▼[ 4248 ]
/ 1階層)  Re[1]: ラジオボタンを横方向にするには
□投稿者/ AI 【123.230.128.142】(2009/05/31(Sun) 11:12:12)

    No4246に返信(はなさんの記事)
    > ラジオボタンを横方向に並べるには、どうしたらよいのかわかりません。
    > 列の数を指定したのですが、順番は縦になってしまします。よろしくお願いします。
    >
    > ラジオボタンのリファレンスを参考にしました。
    >
    > 例:ラジオボタンの数が5よりも多い場合、その列を5に指定すると、2行で5列にはなるのですが、その並び順が横方向でなく、縦方向になってしまします。
    >
    > 0のラジオボタン→2のラジオボタン→4のラジオボタン→…
    > 1のラジオボタン→3のラジオボタン→5のラジオボタン→…
    >
    >
    > 0のラジオボタン→1のラジオボタン→2のラジオボタン→…
    > 6のラジオボタン→7のラジオボタン→8のラジオボタン→…
    > のようにしたいのですが…

    2行用のサンプルつくって見ましたが、
    APIなどを使ったもっと良い方法があるのかもしれません、、。

    //サンプルここから
    データ=「1{改行}2{改行}3{改行}4{改行}5{改行}6{改行}7{改行}8{改行}9」
    データをアイテム弐行横並び加工

    テストラジオとはラジオ
    その列=結果@『列数』
    そのアイテム=結果@『データ』


    ●アイテム弐行横並び加工(データを)
     データ1とは配列。データ2とは配列。
     結果@『列数』=データの配列要素数を2で割る
     結果@『列数』を切り上げて結果@『列数』に代入する。
     データを反復
      回数≦結果@『列数』ならば、データ1に対象を配列追加、続ける
      データ2に対象を配列追加
     ここまで
     データ1を反復
      結果@『データ』[回数-1]=対象&改行&データ2[回数-1]
     ここまで
     結果で戻る
    //ここまで

    *(2009/05/31(Sun) 12:47:52 編集[投稿者])
[ 親 4246 / □ Tree ] 返信 削除キー/
[ 親 4246 / □ Tree ] 返信

▲[ 4247 ] / ▼[ 4249 ]
/ 2階層)  Re[2]: ラジオボタンを横方向にするには
□投稿者/ fushigineko 【125.13.171.253】(2009/05/31(Sun) 17:13:51)

    なるほど。表示はそれでOKですね。では取得した値の加工の方も(^o^)

    #サンプルその2
    データ=「1{改行}2{改行}3{改行}4{改行}5{改行}6{改行}7{改行}8{改行}9」
    データをアイテム弐行横並び加工

    テストラジオとはラジオ
    その列=結果@『列数』
    そのアイテム=結果@『データ』
    そのクリックした時は
     テストラジオの値を値弐行横並び加工して言う。

    ●アイテム弐行横並び加工(データを)
     データ1とは配列。データ2とは配列。
     結果@『列数』=データの配列要素数を2で割る
     結果@『列数』を切り上げて結果@『列数』に代入する。
     データを反復
      回数≦結果@『列数』ならば、データ1に対象を配列追加、続ける
      データ2に対象を配列追加
     ここまで
     データ1を反復
      結果@『データ』[回数-1]=対象&改行&データ2[回数-1]
     ここまで
     結果で戻る

    ●値弐行横並び加工(データを)
     もしデータが2の倍数ならば
      答はデータ÷2
     違えば
      答は(データ−1)÷2+結果@列数
     答で戻る
    #サンプルその2ここまで
     一応元々の仕様に従って最初の「1」で得られる値を「0」にしています。
     この機能はデフォルトであった方が嬉しい気がしましたので、要望の方へ上げておきます。


    *(2009/05/31(Sun) 17:23:19 編集[投稿者])
[ 親 4246 / □ Tree ] 返信 削除キー/
[ 親 4246 / □ Tree ] 返信

▲[ 4248 ] / ▼[ 4251 ]
/ 3階層)  Re[3]: 記事[#4251]を参照してください。
□投稿者/ AI 【123.230.128.142】(2009/05/31(Sun) 21:37:13)

    fushiginekoさん
    ラジオボタンを使った事がなかったので値でレスポンスを取っていること
    に気がつきませんでした、教えていただいてありがとうございます。

    >  一応元々の仕様に従って最初の「1」で得られる値を「0」にしています。
    >  この機能はデフォルトであった方が嬉しい気がしましたので、要望の方へ上げておきます。

    要望も出していただいてありがとうございます。
    せっかく、教えて頂いたので少し改良して2行だけでは無く行数を選択
    できるようにしてみました。

    ※選択した行数は目安としてその範囲内で最適化した行数になります。
     その方がアルゴリズムが楽だったので^^;

    ※追記1
     このサンプルに不具合があったので追記させていただきました。
     指定した行数によってデータのならびやボタン数が狂ってしまいます。
     ボタン数は配列の最後の改行を削除すればよいと思うのですがその他
     の不具合に関してはどうしてよいのか解らず直ぐに修正できなかった
     のでこのまま少し乗せときますよろしければ、どなたかご教授頂ける
     と幸いです。
     回答しといて、横からの質問になって申し訳ありません。

    ※追記2
     [#4251]にてUDさんが「横並びラジオ」を公開して頂いたので
     そちらを使ってください。mOm
     UDさん感謝です!!


    //■以下ラジオボタン指定行数で横並びサンプル
    データ=「あ{改行}い{改行}う{改行}え{改行}お{改行}か{改行}き{改行}く{改行}け{改行}こ」

    横並=データを3行以内ラジオ横並結果取得

    テストラジオとはラジオ
    そのレイアウト=全体
    その列=横並@『列数』
    そのアイテム=横並@『データ』
    そのクリックした時は〜
    横並@『並び』[テストラジオの値]を言う

    ●行以内ラジオ横並結果取得(データを、行数)
     結果とは配列。横並とは配列。
     行カウンタ=0。列カウンタ=0。データ番号=0
     データ数=データの配列要素数
     列数=(データ数を行数で割るを切り下げ)
    あまり=データ数を行数で割った余り
     あまりが1以上ならば、補正回数=((あまりを行数で割る)を切り上げ)×(行数-1)

     (行数)回
       補正回数が1以上ならば、補正=1違えば、補正=0
       補正回数から1を直接引く
       (列数+補正)回
       (データ数=データ番号)ならば、抜ける
         結果[行カウンタ,列カウンタ] = データ[データ番号]
        データ番号に1を直接足す。列カウンタに1を直接足す
       ここまで
       列カウンタは0
       行カウンタに1を直接足す
     ここまで

     横並@『データ』=結果を表行列交換して『,』を改行に置換え
     横並@『列数』=列数+1

     横並@『データ』を反復
      横並@『並び』[回数]=データの0から対象を配列検索
     ここまで
     横並@『並び』の配列上下空行削除
     横並で戻る
    //ここまで

    *(2009/05/31(Sun) 23:02:01 編集[投稿者])

    *(2009/06/01(Mon) 14:18:30 編集[投稿者])
[ 親 4246 / □ Tree ] 返信 削除キー/
[ 親 4246 / □ Tree ] 返信

▲[ 4249 ] / ▼[ 4254 ]
/ 4階層)  作ってみた: 「横並びラジオ」
□投稿者/ U D 【125.3.0.209】(2009/06/01(Mon) 01:30:10)

http://www.undefin.net/
    ひとまず汎用品を作ってみた。ロジックは微妙。
    列数に変な指定をした場合のエラーチェックは一切なし。
    そういえば値が-1のときの処理は全くしていない。

    #ここから----------------

    テストとは横並びラジオ
    これについて
     列は4
     横並びアイテムは`あいうえおかきくけこ`を文字列分解
     
     10回
      横並び値は回数-1
      0.1秒待つ
     
     アイテムを言う
     クリック時は〜
      横並び値を言う

    ■横並びラジオ +ラジオ
     ・{非公開}MAP
     ・{配列}データ
     ・{非公開}横並びアイテム取得〜_=データ
     ・{非公開}横並びアイテム設定(V)〜
      Iとは整数。Jとは整数。Nとは整数。Lとは整数=Vの要素数
      ROWとは整数=切り上げ(L/列)
      データはV。MAPは空。ARRとは配列
      Jを0から列-1まで繰り返し
       Iを0からROW-1まで繰り返す
        MAP[I][J]=N。N=N+1
        もしNがLならば抜ける
       もしNがLならば抜ける
      N=0。
      Iを0からROW-1まで繰り返し、Jを0から列-1まで繰り返す
       もしMAP[I][J]が空でなければ
        ARR[MAP[I][J]]=V[N]
        N=N+1
      アイテムはARR
     ・横並びアイテム ←横並びアイテム設定 →横並びアイテム取得
     ・{非公開}横並び値取得〜
      IDXとは整数=VCL_GET(オブジェクト, VCL_PROP_VALUE)
      ROWとは整数=切り上げ(データの要素数/列)
      Iとは整数。Jとは整数。Nとは整数
      Iを0からROW-1まで繰り返し、Jを0から列-1まで繰り返す
       もしMAP[I][J]が空でなければ
        もしTOINT(MAP[I][J])がIDXならばNを戻す
        違えば、N=N+1
     ・{非公開}横並び値設定(V)〜
      ROWとは整数=切り上げ(データの要素数/列)
      Iとは整数。Jとは整数。Nとは整数
      Iを0からROW-1まで繰り返し、Jを0から列-1まで繰り返す
       もしMAP[I][J]が空でなければ
        もしNがVならば
         VCL_SET(オブジェクト, VCL_PROP_VALUE, TOINT(MAP[I][J]))
         N=ROW*列;抜ける
        違えば、N=N+1
     ・横並び値 ←横並び値設定 →横並び値取得


[ 親 4246 / □ Tree ] 返信 削除キー/
[ 親 4246 / □ Tree ] 返信

▲[ 4251 ] / ▼[ 4255 ]
/ 5階層)  Re[5]: 作ってみた: 「横並びラジオ」
□投稿者/ 焼きそば 【220.23.89.28】(2009/06/01(Mon) 21:05:44)

http://blognekouser.blog56.fc2.com/
    No4251に返信( U D さんの記事)
    > ひとまず汎用品を作ってみた。ロジックは微妙。
    > 列数に変な指定をした場合のエラーチェックは一切なし。
    > そういえば値が-1のときの処理は全くしていない。

    なんだかよさげなプログラムですね。
    私もU Dさんのプログラムを少しだけ改造するためのプログラムを書いてみました。

    ≪手順≫
    1.プログラムの最後に下記の関数を追加します。
    2.『もしNがLならば抜ける』をコメントアウトします。
    3.『{非公開}横並びアイテム設定(V)〜』の最終行に
     『自身の無題ラジオボタン非表示』を追加します。

    //ここから
    ●ShowWindow(hWnd,nCmdShow) =DLL("user32.dll","BOOL ShowWindow(HWND hWnd,int nCmdShow)")
    ●無題ラジオボタン非表示({グループ}Aの)
      A→ハンドルの窓ハンドル内列挙をCSV取得して反復
        もし、対象[2]が空ならばShowWindow(対象[0],0)
    //ここまで
[ 親 4246 / □ Tree ] 返信 削除キー/
[ 親 4246 / □ Tree ] 返信

▲[ 4254 ] / 返信無し
/ 6階層)  横並びラジオ
□投稿者/ はな 【221.132.96.22】(2009/06/03(Wed) 21:39:57)

    AIさん、fushiginekoさん 、U Dさん 、焼きそばさん「横並びラジオ」の作り方を教えていただいて有難うございます。
    1、2行の命令で済むかと思っていましたが、関数が出てきて、初心者の私にはかなり難しい内容です。理解できるまで少々時間がかかりそうです…
    また、よろしくお願いします。

解決済み!
[ 親 4246 / □ Tree ] 返信 削除キー/
[ 親 4246 / □ Tree ] 返信


Pass/

BBS CGI RSS CGI
Child Tree RSS/SPAM対応版