- - PR -
【Delphi(デルファイ)】コントロール配列のつくりかた
投稿者 | 投稿内容 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-06-16 15:10
> 結局、3つのイベントを書くしかないわけですね。
> 極端な話、ボタンが100個あっても100つのイベントを書くしかないわけですか…。 方法はたくさんあります。とりあえず初心者でも使えるテクニックを紹介します。 デザイナーで該当コントロールに必要はプロパティ設定、イベントの割り当てた状態で 該当コントロールをデザイナー上でコピペしていけばいいです。 delphiではイベントもプロパティなので、すべてそっくりに複製してくれます。 その内容は dfm ファイルにあります。 追加 イベントの共有なのでイベントプロシージャは一つです って.NETと同じですが・・ > >「コントロール」の「配列」 > 最悪これしかないですね。 これをやってもイベントの割り当てやはり自分でやる必要があります。 ただ少しだけループがしやすくなるだけです。こうしなくてもループできますがね。 [ メッセージ編集済み 編集者: CHN# 編集日時 2006-06-16 15:22 ] | ||||||||||||
|
投稿日時: 2006-06-16 15:27
ここでDelphiの話を見るとは思わなかった^^;
Delphi 7以降の.NETプロジェクトなら話は別ですが。。。 みなさんおしゃられている通り、Delphiにコントロール配列はありません。 FindComponent(スペル不明)とかを使用して、TList型や配列にFindComponentで入れていくのが普通です。 というか、VB→Delphiに移行する際に、必ずぶち当たる問題ですので googleで調べてみればいっぱい出てきます。 http://forum.nifty.com/fdelphi/faq/00115.htm http://www2.big.or.jp/~osamu/Delphi/Tips/other.cgi#0194.txt
そんな事無いです。ちゃんと理解すれば問題ありません。そのため(?)のSenderですし。 ちなみに「Delphi 掲示板」でGoogleで検索してみてください。あとMLもあります。 P.S.以下独り言。 VB 6に絶望し、個人ソフトはDelphiで作ってるけど、業務でVB.NET触ったら 価値観が変わった。 Delphi 2005の.NETプロジェクト(VCL.NET)使いづらいし。使いたいとは思わないな。 VCLが完成度高すぎた。 | ||||||||||||
|
投稿日時: 2006-06-16 15:28
ぽぴ王子さま、レスありがとうございます。
そうなのですか。 「delphi」で検索したら上の方で出てきたものですから、 まだ参考書も用意できていない段階ですからHPに頼り切っていました。
未記入さんの書き込みは私の書き込みとタッチの差で投稿されたもので、 入れ違いな発言になってしまっていますが、理解いたしました。
もともと、「delphiはVBに似ているよ」と言われて取り組んでしまったので、 VBに似たところを探すあまり、勘違いのまま進んでいた事に ぽぴ王子さんのご指摘で気づくことができました。 ありがとうございます。 他のdelphiについて書かれているページを見てみましたが 「こんとろーる配列はない」というように書かれているところもありました。 しかし、「コントロール配列はない無い」と書いているページ=ダメページ で 「コントロール配列」を書いているページ=良いページ と思いこんでしまっており、 しかも「delphi」は「VB」に似ていると言われた事で 「コントロール配列」があるものだと信じきっていました。 見たもの聞いたことをそんまま信じてはダメですね。 正確な情報を信じるよう注意しようと思います。 ありがとうございました。 | ||||||||||||
|
投稿日時: 2006-06-16 15:48
CHNさん、うきょきょさん、レスありがとうございます。
上のURLは以前、検索した際見ていました^^; 「ここではコントロール配列はない」と書いているのに 「コントロール配列」について書いているページもあったので意味不明でした。。。 FindComponent…勉強します。 | ||||||||||||
|
投稿日時: 2006-06-16 16:45
要するに、コントロール「の」配列と、言語仕様上の「コントロール配列」を、同じ「コントロール配列」という言葉で書いてあることで、混乱してしまうのだと思いますが。
とりあえず、あるかどうかも分からないモノを探すよりは、分かっている方法から試して、処理を実現すべきだと思います。 それがあれば処理が何十倍も速くなるとか、リソースの消費が何十分の一になるとか、大きなメリットが期待できるならともかく、大勢に影響ないでしょうし。 コントロール配列は、兄弟分のVBAにすらないので、こちらでもハマる人が多いですね。 | ||||||||||||
|
投稿日時: 2006-06-19 15:03
******************
***** 解決 ****** ******************
btnClickイベントをbtn1〜btn3に「割り当てる」の意味がわかりませんでしたが、 ぽぴ王子さんの掲示してくださった上の方法で「割り当てる」ことができました!! 上の方法をとったところでコードに何の変化もみられないのに、 正常な動作(希望した動作)になったのですが…なんでですかね? この辺もdelphiの仕様ですね。勉強します。 私の、勘違いと思い込みにも丁寧にご指摘頂いて、 みなさまありがとうございました、 | ||||||||||||
|
投稿日時: 2006-06-19 16:14
> 上の方法をとったところでコードに何の変化もみられないのに、
> 正常な動作(希望した動作)になったのですが…なんでですかね? 理屈とやり方をすべて書いたのに、まるっきりよんでいませんね。 勉強以前の問題ですね。 ま、私が批判的な書き方をしたからかもしれませんね。 良いことばかり言っていれば良い人とは限らないと思いますがね・・・ とほほ はい、はい、邪魔ものは退散します。 | ||||||||||||
|
投稿日時: 2006-06-19 16:36
objectです。
かなり遅れ気味ですが、少しだけ。 >わしこさん >上の方法をとったところでコードに何の変化もみられないのに、 >正常な動作(希望した動作)になったのですが…なんでですかね? 「コードに変化がみられない」に関しては、 =========================== 1.仰られている「コード」は、 「フォームに関する処理を表している」 と思います。 2.ボタンの 「イベントプロパティへのハンドラの代入」 は、ボタンに関する処理である。 3.そのボタンに関する処理は、今回の場合 イベントハンドラへのボタンのリソースとして「シリアライズ」され、実行時は、それが、クラスライブラリにより、「デシリアライズ」されてプログラムとして動作している。 =========================== という事で、理解して頂ければ理解し易いと思います。 参考になれば幸いです。 #「CHN#」さんが書いておられるのは、上の意味だと思います。 >この辺もdelphiの仕様ですね。勉強します。 >私の、勘違いと思い込みにも丁寧にご指摘頂いて、 >みなさまありがとうございました、 「Delphi」は、「プロパティベースのコンポーネント指向言語」だと思います。 敢えて書きますが、 VBは「ソフトウエア空間のベースにはならない」と思います。 ですから、もし「VBを言語として学習する」のであれば、 例えば、他のC系の言語をキチンと学習してから、VBに向かう方が良いと私は思います。 >CHN#さん 「わしこ」さんが「VB」だけをベースとしている場合、 「CHN#」さんのヒントだけで全てを理解するのは、先ず無理だと思います。 多分、ヒントの部分は 「C系」を理解している人でも理解出来ないと思います。 少し、大目にみてあげて下さい。 |