クリックするたびに加算するには?

解決


サイ  2006-05-21 23:37:48  No: 131520

最近始めた者なのですが、教えていただけないでしょうか。
例えば、ボタン1を押すと、280という数字がテキストボックス1に表示され
またボタンをクリックすると、同じ数字が加算されて
先ほどの280に新たに280を加算した数字が
テキストボックス1に表示されるようにするには
どうすればいいのでしょうか?


QA  2006-05-22 00:24:43  No: 131521

例えば値を覚えておく変数をモジュールレベルまたはグローバル変数で宣言する
フォームのロード時に、その変数を140に初期化する
ボタン1のクリック時にその変数を2倍してもとの変数に代入し
テキストボックスに表示する

とか


サイ  2006-05-22 00:41:09  No: 131522

はう・・・なんか難しい単語がいっぱいですが
なんかわかる気がしてきました
今からちょっとしてみます(時間かかりそうですが)


サイ  2006-05-22 01:25:28  No: 131523

もし
textbox3.text = 280 にしたら280が表示されるだけですよね?
これに付け加えれるようなのがあれば、何でしょう?
・・・辛い


サイ  2006-05-22 01:52:43  No: 131524

Dim button3_click As Integer

TextBox3.Text = 280 + Val(TextBox3.Text)
あってるかどうかわからないのですが
これでためしてみたらなりました
ありがとうございました


><  2006-05-23 22:54:56  No: 131525

>Dim button3_click As Integer
↑無意味ですね><;

QAさんのいっていることをコードで書いてみると
*******************************************
Option Explicit
Private I as Integer

Private button3_click()
    I = I * 2
    TextBox3.Text = I
End Sub

Private Sub Form_Load()
    I = 140
End Sub
*******************************************

になります。
分からない単語はネットを駆使して調べましょう。><

#今見てるか分からんけど気になって気になって><;
#ちなみにボタンを8回押すとオーバーフローになりますな><;


サイ  2006-05-24 08:39:52  No: 131526

あ、わざわざすみません。
上記の書いてたやつミスったので気にしないでください
けど
ボタンクリックしたときに↓
TextBox3.Text = 280 + Val(TextBox3.Text)
って入れて、ちゃんと毎回押すたびに加算されていきます
8回以上押してもオーバーフローには・・・ならないのですが


><  2006-05-24 18:05:52  No: 131527

それはうちが変数Iをinteger型で宣言してるからです。
あくまでもQAさんの言葉をコード化しただけなので気にしないでください><

サイさんのはTextBoxの最大文字数までは数値が加算されていくでしょうね。


葉月α  2006-05-24 19:53:28  No: 131528

TextBox3.Text = 280 + Val(TextBox3.Text)
でも加算されます

また><さんやQAさんのように "変数" というものを利用して
加算することができることも学習しておくと良いと思います
(変数を用いる方が一般的だと思います)

その際に今回はIntegerという単語が出てきましたが
この部類の単語が複数用意されていますので
調べてみると良いと思います

ちなみにIntegerとは整数値を記録できる型の名前で
-32768〜32767までの数字を扱うことが出来ます

故に、280を118回加算実行すると33040となり
そんなに大きな数字は扱えませんとなります
これをオーバーフローといいます

><さんの場合、掛け算を行っているので
初期値140を毎回2倍していくので(I = I * 2)
140
280
560
1120
2240
4480
8960
17920
35840
と増えていき、8回目で32768を超える為、8回でオーバーフローすると仰っていますね


葉月α  2006-05-24 19:56:26  No: 131529

誤解を招くといけないので補足
Integerの上記範囲はVB6であり、.Net以降はVB6のLongと同様の
-2147483648〜2147483647
となります


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加