當前位置:編程學習大全網 - 編程語言 - 怎樣用VB編輯壹個簡易計算器 最好用控件數組 急求 !!!

怎樣用VB編輯壹個簡易計算器 最好用控件數組 急求 !!!

' ------------------------------------------------------------------------

' 版權所有 (C) 1994 Microsoft Corporation

'

' 您可以免費以任何方式使用、修改、復制並分發您認為有用的

' 示例應用程序文件 (或任何修改過的版本)。Microsoft 對任何

' 示例應用程序文件不做任何保證,不負任何責任和義務。

' ------------------------------------------------------------------------

Option Explicit

Dim Op1, Op2 ' 預先輸入操作數。

Dim DecimalFlag As Integer ' 小數點存在嗎?

Dim NumOps As Integer ' 操作數個數。

Dim LastInput ' 指示上壹次按鍵事件的類型。

Dim OpFlag ' 指示未完成的操作。

Dim TempReadout

' C (取消) 按鈕的 Click 事件過程

' 重新設置顯示並初始化變量。

Private Sub Cancel_Click()

Readout = Format(0, "0.")

Op1 = 0

Op2 = 0

Form_Load

End Sub

' CE (取消輸入) 按鈕的 Click 事件過程。

Private Sub CancelEntry_Click()

Readout = Format(0, "0.")

DecimalFlag = False

LastInput = "CE"

End Sub

' 小數點 (.) 按鈕的 Click 事件過程

' 如果上壹次按鍵為運算符,初始化 readout 為 "0.";

' 否則顯示時追加壹個小數點。

Private Sub Decimal_Click()

If LastInput = "NEG" Then

Readout = Format(0, "-0.")

ElseIf LastInput <> "NUMS" Then

Readout = Format(0, "0.")

End If

DecimalFlag = True

LastInput = "NUMS"

End Sub

' 窗體的初始化過程

' 設置所有變量為其初始值。

Private Sub Form_Load()

DecimalFlag = False

NumOps = 0

LastInput = "NONE"

OpFlag = " "

Readout = Format(0, "0.")

'Decimal.Caption = Format(0, ".")

End Sub

' 數字鍵 (0-9) 的 Click 事件過程

' 向顯示中的數追加新數。

Private Sub Number_Click(Index As Integer)

If LastInput <> "NUMS" Then

Readout = Format(0, ".")

DecimalFlag = False

End If

If DecimalFlag Then

Readout = Readout + Number(Index).Caption

Else

Readout = Left(Readout, InStr(Readout, Format(0, ".")) - 1) + Number(Index).Caption + Format(0, ".")

End If

If LastInput = "NEG" Then Readout = "-" & Readout

LastInput = "NUMS"

End Sub

' 運算符 (+, -, x, /, =) 的 Click 事件過程

' 如果接下來的按鍵是數字鍵,增加 NumOps。

' 如果有壹個操作數,則設置 Op1。

' 如果有兩個操作數,則將 Op1 設置為 Op1 與

' 當前輸入字符串的運算結果,並顯示結果。

Private Sub Operator_Click(Index As Integer)

TempReadout = Readout

If LastInput = "NUMS" Then

NumOps = NumOps + 1

End If

Select Case NumOps

Case 0

If Operator(Index).Caption = "-" And LastInput <> "NEG" Then

Readout = "-" & Readout

LastInput = "NEG"

End If

Case 1

Op1 = Readout

If Operator(Index).Caption = "-" And LastInput <> "NUMS" And OpFlag <> "=" Then

Readout = "-"

LastInput = "NEG"

End If

Case 2

Op2 = TempReadout

Select Case OpFlag

Case "+"

Op1 = CDbl(Op1) + CDbl(Op2)

Case "-"

Op1 = CDbl(Op1) - CDbl(Op2)

Case "X"

Op1 = CDbl(Op1) * CDbl(Op2)

Case "/"

If Op2 = 0 Then

MsgBox "除數不能為零", 48, "計算器"

Else

Op1 = CDbl(Op1) / CDbl(Op2)

End If

Case "="

Op1 = CDbl(Op2)

Case "%"

Op1 = CDbl(Op1) * CDbl(Op2)

End Select

Readout = Op1

NumOps = 1

End Select

If LastInput <> "NEG" Then

LastInput = "OPS"

OpFlag = Operator(Index).Caption

End If

End Sub

' 百分比鍵 (%) 的 Click 事件過程

' 計算並顯示第壹個操作數的百分數。

Private Sub Percent_Click()

Readout = Readout / 100

LastInput = "Ops"

OpFlag = "%"

NumOps = NumOps + 1

DecimalFlag = True

End Sub

  • 上一篇:人工智能需要哪些知識?
  • 下一篇:《java程序設計》 課程總結怎麽寫
  • copyright 2024編程學習大全網