ぼたんオブジェクトの取得

投稿者:田中充 投稿日:2018/08/09(Thu) 06:39:39 No.2158

ご教授お願い致します。

画面エディタでボタン1からボタン9を作成し、それを1から9までのループで内容を変えるには、どのようにすれば良いのでしょうか?

Re: ぼたんオブジェクトの取得

投稿者:ゆうと 投稿日:2018/08/10(Fri) 17:10:10 No.2163

田中さん、こんにちは。

> 画面エディタでボタン1からボタン9を作成し、それを1から9までのループで内容を変えるには、どのようにすれば良いのでしょうか?

この一文だけでは、何をしたいのか理解できません。
もう少し詳しく丁寧に書いてください。

プロデルデザイナの「ウィンドウの設計」画面でボタンを作ることができます。
9個必要があれば、マウスでボタンを9回、貼り付けます。
https://rdr.utopiat.net/docs/onepage/devenv.html#formdesign

例えば、ボタン1やボタン9の内容を変えるには
----
ボタン1の内容を「こんにちは」に変える
ボタン9の内容を「こんにちは」に変える
----
と書きます。

参考にしてください。

Re^2: ぼたんオブジェクトの取得

投稿者:田中充 投稿日:2018/08/16(Thu) 11:25:58 No.2170

お世話になっております。田中です。

説明不足で申し訳ありません。
VB6のindex的に多量のオブジェクトをループで回して設定したいのです。
#オブジェクト指向では邪道なのかもしれません。

下記例では、ボタン4つを作っています。そのボタンの前景文字をループで回して変更したいのです。
実際には、釦を最大100個作成し、CSVファイルから定義情報を読み込んで前景文字を変更します。

sample ソース

メイン画面を表示する

4回、値にカウントしながら繰り返す
  ボタン名=「ボタン」&[値]
  釦ラベル=「ぼたん」&[値]
  メイン画面の[ボタン名]の内容は、[釦ラベル] →個々の部分。これではエラーとなる。
繰り返し終わり

待機する

メイン画面とは
  ウィンドウを継承する
  はじめの手順
    初期化する
    ーー貼り付けた部品に対する操作をここに書きます
  終わり
  初期化する手順
  ーー自動生成された手順です。ここにプログラムを書き加えても消える場合があります
  この内容を「メイン画面」に変える
  ボタン4というボタンを作る
    その位置と大きさを{33,202,75,23}に変える
    その内容を「ボタン4」に変える
    その移動順を4に変える
  ボタン3というボタンを作る
    その位置と大きさを{33,139,75,23}に変える
    その内容を「ボタン3」に変える
    その移動順を2に変える
  ボタン2というボタンを作る
    その位置と大きさを{33,80,75,23}に変える
    その内容を「ボタン2」に変える
    その移動順を1に変える
  ボタン1というボタンを作る
    その位置と大きさを{33,33,75,23}に変える
    その内容を「ボタン1」に変える
    その移動順を5に変える
終わり
終わり

Re^3: ぼたんオブジェクトの取得

投稿者:アーク <info_nds-labo あっとまーくexcite.co.jp> 投稿日:2018/08/17(Fri) 22:25:15 No.2177

田中充さん、こんばんは。

そのエラーを解決するだけなら下記の様にすればOKです。

4回、値にカウントしながら繰り返す
  ボタンは、メイン画面の「ボタン[値]」
  ボタンの内容を「釦[値]」に変える
繰り返し終わり

只、ボタンそのものも動的に生成してしまった方が簡単なのでは…。

Re^4: ぼたんオブジェクトの取得

投稿者:田中充 投稿日:2018/08/18(Sat) 17:59:54 No.2184

田中です。

回答ありがとうございます。
サンプルでちゃんと動作するのを確認しました。

ただ、自分のプログラム(大量の釦を配置)では、
オブジェクトの参照を取ってきてくれません。エラーにもならないで(無)になります。
何かプログラムに悪い所があるのだと思いますので、自分で調べます。

動的に作らない理由:
色々な場所にボタンを配置しているので、動的に場所や大きさを指定して作るより
ビルダーで配置した方が楽なので、このような手法を取ろうとしています。

以上です。

▲ページの先頭へ

- WebForum -