やさしい電卓 機能ボタン [VB 2010]

Visual Basic 2010/2008 超やさしい文法

   やさしい電卓 機能ボタン

数字1ボタン、数字2ボタン、数字3ボタン、+ボタン、Cボタン、=ボタンのみを使った簡易電卓プログラムの +ボタン、=ボタン、Cボタンのクリック処理を作成します。

機能ボタンクリック処理

電卓画面

+ボタンクリック処理

+ボタンがクリックされた時は、前回クリックされたボタンにより、表示結果が異なります。

  • 前回押されたボタンが数字ならば、前回の数字が初回入力数字(opeに"C"が保存されている)ならば、現在表示中の数字をそのまま表示します。
  • 前回押されたボタンが数字以外ならば、それまでの計算結果に、今回入力した数値を加算し、その結果を表示します。
  • Textプロパティは文字列なので、演算するときは、CInt関数で整数に変換する必要があります。変換してnum変数に保存しておきます。
  • num = CInt(LblAnser.Text)
  • 前回押されたのが数字以外ならば、クリックされたボタンに応じた演算をします。演算は、Windowsアクセサリーの電卓と同様な結果になるようにしました。
  ' +ボタンクリック処理
  Private Sub BtnPlus_Click(ByVal .....) Handles BtnPlus.Click

      If beforeIn >= "1" And beforeIn <= "3" Then
          If ope = "C" Then
              ' 最初の入力数値をansに保管
              ans = CInt(LblAnser.Text)
          Else
              ' ansに保管されている
              ' +ボタンクリック前の数値と加算
              num = CInt(LblAnser.Text)
              ans = ans + num
              LblAnser.Text = ans
          End If
      Else
          ' 前回クリックが数字以外の時
          Select Case ope
              Case "C"
                  ' 前回がクリアボタン
                  ans = CInt(LblAnser.Text)
              Case "="
                  ' 前回がイコールボタン
                  ans = ans + num
              Case "+"
                  num = ans
          End Select
      End If
      beforeIn = "+"
      ope = "+"

  End Sub
=ボタンクリック処理

=ボタンがクリックされた時は、前回クリックされたボタンが数字ならば、今回入力の数字を整数に変換します。

  • それまでの計算結果と今回入力した数値を使って、直前にクリックされた演算ボタンの計算を実行します。演算ボタンの値はope変数に保存されています。
  • このプログラムでは、足し算ボタンしかないので足し算を実行することになります。
  • beforeIn = "C"として、新たな演算に備えます。
  • ただし、現在保存中の値はそのまま使うので、初期値には戻しません。
  ' =ボタンクリック処理
  Private Sub BtnEqual_Click(ByVal .....) Handles BtnEqual.Click

      If beforeIn >= "1" And beforeIn <= "3" Then
          num = CInt(LblAnser.Text)
      End If
      ' 演算子を判定して処理を振分
      Select Case ope
          Case "+"
              ans = ans + num
          Case "-"
              ' 今回は省略
          Case "*"
              ' 今回は省略
          Case "/"
              ' 今回は省略
      End Select
      LblAnser.Text = ans
      beforeIn = "C"

  End Sub

Cボタンクリック処理

C(クリア)ボタンを押した時は、電卓を初期状態に戻します。

  ' Cボタンクリック処理
  Private Sub BtnClear_Click(ByVal .....) Handles BtnClear.Click

      ans = 0
      num = 0
      beforeIn = "C"
      ope = "C"
      LblAnser.Text = "0"

  End Sub

長くなりましたが、これで今回のプログラムは完成です。プログラムを実行してみましょう。たし算が正しく計算されていれば完成です。

次回は、0ボタンを追加して、さらに電卓らしくしていきます。

この簡易電卓に数字0ボタンを追加する



Copyright© やさしいVB2010/2008 ADO.NET. All rights reserved.