PDA

View Full Version : Giúp mình đoạn code vb này với



bachhop72
23-09-2010, 20:18
mình không hiểu sao khi mình làm đến dấu bằng thì cái đoạn kq=a+b đấy thì nó chỉ nhận b còn a thì nó lại nhận là 0, mình chẳng hiểu nữa. Giúp mình với
Private Sub c0_Click()
txtketqua.Text = txtketqua.Text & "0"
End Sub

Private Sub c1_Click()
txtketqua.Text = txtketqua.Text & "1"
End Sub

Private Sub c2_Click()
txtketqua.Text = txtketqua.Text & "2"
End Sub

Private Sub c3_Click()
txtketqua.Text = txtketqua.Text & "3"
End Sub

Private Sub c4_Click()
txtketqua.Text = txtketqua.Text & "4"
End Sub

Private Sub c5_Click()
txtketqua.Text = txtketqua.Text & "5"
End Sub

Private Sub c6_Click()
txtketqua.Text = txtketqua.Text & "6"
End Sub

Private Sub c7_Click()
txtketqua.Text = txtketqua.Text & "7"
End Sub

Private Sub c8_Click()
txtketqua.Text = txtketqua.Text & "8"
End Sub

Private Sub c9_Click()
txtketqua.Text = txtketqua.Text & "9"
End Sub

Private Sub cong_Click()
a = Val(txtketqua.Text)
txtketqua.Text = ""
pt = "+"



End Sub


Private Sub bang_Click()
b = Val(txtketqua.Text)
If (pt = "+") Then
kq = a + b
txtketqua.Text = kq
End If
End Sub

Private Sub Form_Load()
Dim a, b, kq As Double
Dim pt As String
End Sub

bachnga
24-09-2010, 00:39
Bạn lên dòng trên cùng của code, thêm cái này vào:


Option Explicit

để biết là tại sao???

Các biến a, b chỉ là biến cục bộ thì là sao nó lưu trữ suốt thời gian form hiển thị được. Các khai báo:


Dim a, b, kq As Double
Dim pt As String
nên ngoài sự kiện load Form

Bạn làm calculator à? Sử dụng mảng các control đi (mảng các Command Button). Lúc đó:


Private Sub c_Click(Index As Integer)
txtketqua.Text = txtketqua.Text & Index
End Sub
cho sướng!!!