こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

回数のカウント

コマンドボタンを押すたびに何回押したか分かるような
プログラミングを教えて頂きたいのですが。
よろしくお願いします。

投稿日時 - 2003-04-30 10:47:19

QNo.535634

すぐに回答ほしいです

質問者が選んだベストアンサー

こんにちは。maruru01です。

横から失礼しますが。

>私の案では出てこない発想をお持ちの方はたくさんいるはず

でしたら、その案(コード)を書かれてはいかがですか。
(もちろん間違っていても、一向に構いません。)
そうすれば、そのコードに対する指摘という形で回答し易いですし、siamzouさんの勉強にもなると思います。
また、siamzouさんと同じ案の人が回答する無駄はなくなりますし。

あと、余計なことかも知れませんが、プログラミングの質問というのは、単に正解を知るだけではなく、その正解にいたる道筋や考え方、基本的なコーディングなどを学び、それを今後に生かすことが大切で、その方が質問者のためになる、という回答者もいます。
そういう人たちは、あえて具体的なコードを書かずにヒントで留めているのです。
そういう回答者の気持ちを、少しでもいいから理解してあげて下さい。

あと、質問内容やコードなどからある程度質問者のレベルはわかるので、レベルに合わせた回答をしてくれる回答者も多いです。
かえって、「初心者です。」と自分から言うのは敬遠されることが多いと思いますよ。

質問の回答ですが、テキストボックスのChangeイベントだと、1文字削除したり、付け加えただけで起こってしまうので、LostFocusやExitイベントがいいと思います。
テキストボックスの内容を保存する変数を用意しておき、これらのイベントで新しい内容を変数に格納します。
この時、格納前に元の変数の内容と比較して、異なっていたら、カウンタをリセットします。
カウンタ部分のプログラミングが分かったのなら、きっとご自分で出来ると思いますよ。

投稿日時 - 2003-04-30 13:02:58

補足

なんとかできました。

いろいろ参考事項、ありがとうございました。

投稿日時 - 2003-04-30 14:47:47

このQ&Aは役に立ちましたか?

2人が「このQ&Aが役に立った」と投票しています

回答(9)

ANo.9

「教えて頂きたいのですが」ではなかったのかな?
そうじゃなくて品評会をしたかったの?

いずれにしても、
・もう少し基礎を勉強する
・自分でやる気になる
ことが必要だと思いますよ。

投稿日時 - 2003-04-30 13:56:58

ANo.8

>手取り足取りなんて私も求めていませんし

流れを見てると 手取り足取りに誰でも思えますよ。
別に手取り足取りが悪いと言ってるのではありません。

手取り足取りでお願いしますって言ったほうが
潔くていいと思いますが・・・。

投稿日時 - 2003-04-30 13:28:46

ANo.6

 
> 是非、コードを記述して頂けるとありがたいのですが。

> 初心者なもので、申し訳ありませんが。

手取り足取り教えて欲しいなら、学校へ行くか、インストラクタを雇ったらどうですか?

投稿日時 - 2003-04-30 12:00:51

補足

同じ内容でも人それぞれ、100人いれば100人ともに
コードは異なってくるはずです。手取り足取りなんて
私も求めていませんし、私の案では出てこない発想を
お持ちの方はたくさんいるはずなので、是非それを拝
見させて頂きたいという意味だったのですが。
理屈ばかりこねる人には聞いてませんので、気にされ
ないで下さい。

投稿日時 - 2003-04-30 12:21:10

ANo.5

BCT

> テキストボックスの入力内容が変わり、その時にコマ
> ンドボタンを押すとはじめてカウントするような形にす
> るにはどういったコードになりますか?

テキストボックスのチェンジイベントでフラグをたてる。
ボタンを押したときフラグがたっていたらカウントアップ。

または、

ボタンを押してカウントアップしたときに変更前の文字を記録。次に押したときに比較して変わっていたらカウントアップ。

投稿日時 - 2003-04-30 11:46:17

補足

ありがとうございます。

是非、コードを記述して頂けるとありがたいのですが。

初心者なもので、申し訳ありませんが。

よろしくお願いします。

投稿日時 - 2003-04-30 11:47:46

ANo.4

 
No.3の補足。

> (1) グローバル(Public)変数を使う。
> (2) 静的(Static)変数を使う。

(3) モジュールレベルのPrivate変数を使う。

という手もあります。安易に大域変数を乱用するより、こちらの方が現実的に妥当と思われます。
 

投稿日時 - 2003-04-30 11:08:55

ANo.3

 
> コマンドボタンを押すたびに何回押したか分かるような
> プログラミングを教えて頂きたいのですが。

# 書籍等にいくらでもサンプルはあると思いますが・・・。

(1) グローバル(Public)変数を使う。
(2) 静的(Static)変数を使う。

のどちらかで実現可能です。
(1)はあまりお奨めしません。(スコープの広いオブジェクトはプログラムの保守性を劣化させる要因となるので)
Static変数は、スコープは通常の局所変数とおなじですが、Public変数とおなじ記憶寿命を持ちます。(毎回メモリ領域を動的に確保しないので、パフォーマンスもよいようです。パフォーマンスを向上させるために使用する訳ではありませんが・・・)

※ (1)、(2)、どちらの場合でも、変数がクラス内で定義されている場合、親クラスとおなじ記憶クラスしか持てない(標準モジュール上の変数と異なり、親クラスのインスタンスが生成されていなければ使用できないし、親クラスが破棄されると同時に消滅する)点に注意が必要です。
 

投稿日時 - 2003-04-30 10:57:25

補足

ご回答ありがとうございます。

コマンドボタンを押すたびに何回押したか分かるような
プログラミングについては理解できました。更に、例え
ばテキストボックスの入力内容が変わり、その時にコマ
ンドボタンを押すとはじめてカウントするような形にす
るにはどういったコードになりますか?

よろしくお願いします。

投稿日時 - 2003-04-30 11:36:21

ANo.2

回数を表示するLabelを設定しておき(初期値は0)、ボタンを押すたびに
その値を+1してください。

投稿日時 - 2003-04-30 10:50:31

補足

ご回答ありがとうございます。

コマンドボタンを押すたびに何回押したか分かるような
プログラミングについては理解できました。更に、例え
ばテキストボックスの入力内容が変わり、その時にコマ
ンドボタンを押すとはじめてカウントするような形にす
るにはどういったコードになりますか?

よろしくお願いします。

投稿日時 - 2003-04-30 11:36:00

ANo.1

グローバル変数を宣言して、その変数でカウントします。


a という変数を宣言して

コマンドボタンのクリックイベントに
a=a+1

と記述する。

投稿日時 - 2003-04-30 10:48:49

補足

ご回答ありがとうございます。

コマンドボタンを押すたびに何回押したか分かるような
プログラミングについては理解できました。更に、例え
ばテキストボックスの入力内容が変わり、その時にコマ
ンドボタンを押すとはじめてカウントするような形にす
るにはどういったコードになりますか?

よろしくお願いします。

投稿日時 - 2003-04-30 11:33:47

あなたにオススメの質問