當前位置:編程學習大全網 - 編程語言 - 怎麽用VB編寫計算器

怎麽用VB編寫計算器

建立14個按鈕,按鈕的名字都要Command1,設置Index屬性,0~9分別對應數字0~9,10為小數點,11為等號,12~14分別對應+、-、*和/。

2、輸入如下代碼:

Dim Num1, Num2 As Single

Dim StrNum1, StrNum2 As String

Dim FirstNum As Boolean

Dim PointFlag As Boolean

Dim Runsign As Integer

Dim SignFlag As Boolean

Private Sub Command1_Click(Index As Integer)

Select Case Index

Case 0 To 9

If FirstNum Then

StrNum1 = Str(Index)

FirstNum = False

Else

StrNum1 = LTrim(StrNum1) + LTrim(Str(Index))

End If

Text1.Text = Val(StrNum1)

Case 10

If Not PointFlag Then

If FirstNum Then

StrNum1 = "0."

FirstNum = False

Else

StrNum1 = LTrim(StrNum1) + LTrim(".")

End If

Else

Exit Sub

End If

PointFlag = True

Text1.Text = Val(StrNum1)

Case 12 To 15

FirstNum = True

PointFlag = False

If SignFlag Then

Call Run

Else

SignFlag = True

StrNum2 = StrNum1

StrNum1 = ""

End If

Runsign = Index - 11

Case 11

On Error Resume Next

If Not SignFlag Then

Text1.Text = StrNum1

equal = Val(StrNum1)

FirstNum = True

PointFlag = False

Else

Call Run

SignFlag = False

End If

Case Else

Call ClearData

End Select

End Sub

Private Sub Form_Load()

If App.PrevInstance Then MsgBox "請不要多次運行此程序,謝謝!", vbAbortRetryIgnore: Unload Me

Num1 = 0

Num2 = 0

StrNum1 = ""

StrNum2 = ""

FirstNum = True

PointFlag = False

Runsign = 0

SignFlag = False

End Sub

Sub Run()

On Error Resume Next

Dim equal As Single

Dim equal2 As Double

Num1 = Val(StrNum2)

Num2 = Val(StrNum1)

Select Case Runsign

Case 1

equal = Num1 + Num2

If Num1 >= 65536 Or Num2 >= 65536 Or equal >= 65536 Then

equal = 0

equal2 = Num1 + Num2

End If

Case 2

equal = Num1 - Num2

If Num1 >= 65536 Or Num2 >= 65536 Or equal >= 65536 Then

equal = 0

equal2 = Num1 - Num2

End If

Case 3

equal = Num1 * Num2

If Num1 >= 65536 Or Num2 >= 65536 Or equal >= 65536 Then

equal = 0

equal2 = Num1 * Num2

End If

Case 4

equal = Num1 / Num2

If Num1 >= 65536 Or Num2 >= 65536 Or equal >= 65536 Then

equal = 0

equal2 = Num1 / Num2

End If

End Select

If equal = 0 Then a = equal2 Else a = equal

StrNum2 = Str(a)

StrNum1 = StrNum2

Text1.Text = Val(StrNum2)

End Sub

Sub ClearData()

Num1 = 0

Num2 = 0

StrNum1 = ""

StrNum2 = ""

FirstNum = True

PointFlag = False

Runsign = 0

SignFlag = False

Text1.Text = 0

End Sub

  • 上一篇:請問誰有數據結構實驗 蛇形矩陣 的心得體會,是數據結構和C語言編程的.字數越多越好,質量無須太高. 急急急!
  • 下一篇:學編程有前途嗎
  • copyright 2024編程學習大全網