c语言程序中common dialog box函数怎么用,急求.VB做计算器的代码..

以前回答其他人的

Option Explicit

Private StoredValue As Double

Private Const opNone = 0

Private Const opAdd = 1

Private Const opSubtract = 2

Private Const opMultiply = 3

Private Const opDivide = 4

Private Operator As Integer

Private NewEntry As Boolean

'删除最后的字符

Private Sub DeleteCharacter()

Dim txt As String

Dim min_len As Integer

txt = txtDisplay。

Text

If Left$(txt, 1) = "-" Then

min_len = 2

Else

min_len = 1

End If

If Len(txt) > min_len Then

txtDisplay。

Text = Left$(txt, Len(txt) - 1)

Else

txtDisplay。Text = "0"

End If

End Sub

'清除显示内容,保存运算符

Private Sub cmdClear_Click()

cmdClearEntry_Click

StoredValue = 0

Operator = opNone

End Sub

'清除显示内容

Private Sub cmdClearEntry_Click()

txtDisplay。

Text = ""

End Sub

' 显示小数点

Private Sub cmdDecimal_Click()

If InStr(txtDisplay。

Text, "。") Then

Beep

Else

If NewEntry Then

txtDisplay。Text = "。"

NewEntry = False

Else

txtDisplay。

Text = txtDisplay。Text & "。"

End If

End If

End Sub

'计算上一操作符的运算结果

Private Sub cmdEquals_Click()

Dim new_value As Double

If txtDisplay。

Text = "" Then

new_value = 0

Else

new_value = CDbl(txtDisplay。Text)

End If

Select Case Operator

Case opNone

StoredValue = new_value

Case opAdd

StoredValue = StoredValue new_value

Case opSubtract

StoredValue = StoredValue - new_value

Case opMultiply

StoredValue = StoredValue * new_value

Case opDivide

StoredValue = StoredValue / new_value

End Select

Operator = opNone

NewEntry = True

txtDisplay。

Text = Format$(StoredValue)

End Sub

' 显示数字

Private Sub cmdNumber_Click(Index As Integer)

If NewEntry Then

txtDisplay。

Text = Format$(Index)

NewEntry = False

Else

txtDisplay。Text = txtDisplay。Text & Format$(Index)

End If

End Sub

Private Sub cmdOperator_Click(Index As Integer)

cmdEquals_Click

Operator = Index

NewEntry = True

End Sub

'改变符号

Private Sub cmdPlusMinus_Click()

If NewEntry Then

txtDisplay。

Text = "-"

ElseIf Left$(txtDisplay。Text, 1) = "-" Then

txtDisplay。Text = Right$(txtDisplay。Text, 2)

Else

txtDisplay。

Text = "-" & txtDisplay。Text

End If

End Sub

'处理键盘按键

Private Sub Form_KeyPress(KeyAscii As Integer)

txtDisplay_KeyPress KeyAscii

End Sub

Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer)

txtDisplay_KeyUp KeyCode, Shift

End Sub

Private Sub txtDisplay_Change()

txtDisplay。

SelStart = Len(txtDisplay。Text)

End Sub

Private Sub txtDisplay_GotFocus()

txtDisplay_Change

End Sub

Private Sub txtDisplay_KeyPress(KeyAscii As Integer)

Dim ch As String

ch = Chr$(KeyAscii)

Select Case ch

Case "0"

cmdNumber_Click 0

Case "1"

cmdNumber_Click 1

Case "2"

cmdNumber_Click 2

Case "3"

cmdNumber_Click 3

Case "4"

cmdNumber_Click 4

Case "5"

cmdNumber_Click 5

Case "6"

cmdNumber_Click 6

Case "7"

cmdNumber_Click 7

Case "8"

cmdNumber_Click 8

Case "9"

cmdNumber_Click 9

Case "*", "x", "X"

cmdOperator_Click opMultiply

Case " "

cmdOperator_Click opAdd

Case vbCrLf, vbCr, "="

cmdEquals_Click

Case "-"

cmdOperator_Click opSubtract

Case "。

"

cmdDecimal_Click

Case "/"

cmdOperator_Click opDivide

Case "C", "c"

cmdClearEntry_Click

End Select

KeyAscii = 0

End Sub

Private Sub txtDisplay_KeyUp(KeyCode As Integer, Shift As Integer)

Select Case KeyCode

Case vbKeyNumpad0

cmdNumber_Click 0

Case vbKeyNumpad1

cmdNumber_Click 1

Case vbKeyNumpad2

cmdNumber_Click 2

Case vbKeyNumpad3

cmdNumber_Click 3

Case vbKeyNumpad4

cmdNumber_Click 4

Case vbKeyNumpad5

cmdNumber_Click 5

Case vbKeyNumpad6

cmdNumber_Click 6

Case vbKeyNumpad7

cmdNumber_Click 7

Case vbKeyNumpad8

cmdNumber_Click 8

Case vbKeyNumpad9

cmdNumber_Click 9

Case vbKeyMultiply

cmdOperator_Click opMultiply

Case vbKeyAdd

cmdOperator_Click opAdd

Case vbKeySeparator

cmdEquals_Click

Case vbKeySubtract

cmdOperator_Click opSubtract

Case vbKeyDecimal

cmdDecimal_Click

Case vbKeyDivide

cmdOperator_Click opDivide

Case vbKeyBack, vbKeyDelete

DeleteCharacter

End Select

KeyCode = 0

End Sub。

全部

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值