第20講 電卓を作ろう!
第11話 変更点の解説
コード再掲
Dim w As Double, v As Double, h As Byte, b As Byte '2012/04/14に間違いを訂正
・
・
・
Private Sub
CommandButton13_Click() '2012/04/14に間違いを訂正
If b = 1 Then
If h
= 1 Then
v = v * w
TextBox1.Text = v
End If
If h
= 2 Then
v = v / w
TextBox1.Text = v
End If
If h
= 3 Then
v = v + w
TextBox1.Text = v
End If
If h
= 4 Then
v = v - w
TextBox1.Text = v
End
If
Else
v = v + w
b = 1
End If
h = 1
w =
0
k = 0
a = 0
End Sub
Private Sub
CommandButton14_Click()
If b = 1 Then
If h = 1 Then
v = v *
w
TextBox1.Text = v
End If
If h = 2 Then
v = v /
w
TextBox1.Text = v
End If
If h = 3 Then
v = v +
w
TextBox1.Text = v
End If
If h = 4 Then
v = v -
w
TextBox1.Text = v
End If
Else
v = v + w
b =
1
End If
h = 2
w = 0
k = 0
a = 0
End Sub
Private
Sub CommandButton15_Click()
If b = 1 Then
If h = 1 Then
v =
v * w
TextBox1.Text = v
End If
If h = 2 Then
v =
v / w
TextBox1.Text = v
End If
If h = 3 Then
v =
v + w
TextBox1.Text = v
End If
If h = 4 Then
v =
v - w
TextBox1.Text = v
End If
Else
v = v +
w
b = 1
End If
h = 3
w = 0
k = 0
a = 0
End
Sub
Private Sub CommandButton16_Click()
If b = 1 Then
If h = 1
Then
v = v * w
TextBox1.Text = v
End If
If h = 2
Then
v = v / w
TextBox1.Text = v
End If
If h = 3
Then
v = v + w
TextBox1.Text = v
End If
If h = 4
Then
v = v - w
TextBox1.Text = v
End
If
Else
v = v + w
b = 1
End If
h = 4
w =
0
k = 0
a = 0
End Sub
Private
Sub CommandButton17_Click()
・
・
・
b = 0
End Sub
解説
変更した理由は、普通の電卓では→→→と押したとき、
7→5→12と表示されますが、そうなっていなかったからです。
要するに×÷+−が2回目に押されたときは、=の働きをもたせる必要があるからです。
b As Byteは、1回目か2回目以降かを区別するための変数です。
このコーティングでは、b = 0のときに1回目、b = 1のときに2回目以降の役割を持たせています。
ただし、=またはCEが押されたときはb = 0として初期化しています。
第11話へ 第21講第1話へ
VBA講義第1部へ
vc++講義へ
vb講義へ
VB講義基礎へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座へ
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座へ
数学研究室に戻る