搜索
首页 电脑/网络 程序设计 VB

求用VB编写的简易计算器(只有加减乘除,按ESC键清除)的源码

全部回答

2018-05-02

1 0
    Option ExplicitDim strNumber As StringDim strPoint As StringDim dblNum1 As DoubleDim intOperator As Integer'清除结果Private Sub cmdGT_Click() txtDisplay。
    Text = "0。" strNumber = "" strPoint = "。" intOperator = 7End Sub'输入数字Private Sub cmdNumber_Click(Index As Integer) strNumber = strNumber & cmdNumber(Index)。
    Caption txtDisplay。Text = strNumber & strPointEnd SubPrivate Sub cmdOnOff_Click() EndEnd Sub'运算过程Private Sub cmdOperator_Click(Index As Integer) Dim dblnum2 As Double '是第一次单击运算符时,将输入的值先赋给第一个数,否则赋值给第二个数进行运算 If intOperator = 7 Then dblNum1 = CDbl(txtDisplay。
    Text) Else dblnum2 = CDbl(Val(txtDisplay。Text)) '根据输入的符号进行运算 '求普通运算 Select Case intOperator Case 0 dblNum1 = dblNum1 dblnum2 Case 1 dblNum1 = dblNum1 - dblnum2 Case 2 dblNum1 = dblNum1 * dblnum2 Case 3 If dblnum2 <> 0 Then dblNum1 = dblNum1 / dblnum2 Else MsgBox "除数不能为“0”!请重新输入除数。
    ", vbOKOnly vbInformation, "除零错误" Index = intOperator End If Case 6 dblNum1 = dblNum1 * dblnum2 / 100 End Select End If '取得当前输入的运算符,以做下次运算 intOperator = Index strNumber = "" txtDisplay = CStr(dblNum1) '判断是否为文本框中的数字加点 If Not txtDisplay Like "*。
    *" Then txtDisplay。Text = txtDisplay。Text & "。" End IfEnd SubPrivate Sub cmdPoint_Click() strNumber = strNumber & strPoint strPoint = ""End SubPrivate Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) '使被按下的数字键的对应按钮取得焦点 Select Case KeyCode Case 48 To 57 cmdNumber(KeyCode - 48)。
    SetFocus Case 96 To 105 cmdNumber(KeyCode - 96)。SetFocus Case Else '使按下的符号键对应的按钮取得焦点 If KeyCode = 107 Or (Shift = vbShiftMask And KeyCode = 187) Then cmdOperator(0)。
    SetFocus cmdOperator_Click (0) ElseIf KeyCode = 109 Or KeyCode = 189 Then cmdOperator(1)。
  SetFocus cmdOperator_Click (1) ElseIf KeyCode = 106 Or (Shift = vbShiftMask And KeyCode = 56) Then cmdOperator(2)。
    SetFocus cmdOperator_Click (2) ElseIf KeyCode = 111 Or KeyCode = 191 Then cmdOperator(3)。
  SetFocus cmdOperator_Click (3) ElseIf KeyCode = 13 Then cmdOperator(7)。
    SetFocus cmdOperator_Click (7) ElseIf KeyCode = 8 Then cmdGT。
  SetFocus Call cmdGT_Click End If End SelectEnd SubPrivate Sub Form_KeyPress(KeyAscii As Integer) '将合法的数据输入到文本框 Select Case KeyAscii Case 48 To 58 '调用数字键点击处理程序 cmdNumber_Click KeyAscii - 48 KeyAscii = 0 Case 46 '调用小数点输入 cmdPoint_Click KeyAscii = 0 Case 13 '当敲击回车时,不能触发Form的 KeyUp 事件,因此在这里设置文本框的焦点 txtDisplay。
    SetFocus Case Else KeyAscii = 0 End SelectEnd SubPrivate Sub Form_KeyUp(KeyCode As Integer, Shift As Integer) txtDisplay。
    SetFocusEnd SubPrivate Sub Form_Load() strNumber = "" strPoint = "。" intOperator = 7End Sub Private Sub txtDisplay_KeyPress(KeyAscii As Integer)If KeyAscii = 27 Then '按下ESCtxtDisplay。
    Text = ""End IfEnd Sub。

类似问题换一批

热点推荐

热度TOP

相关推荐
加载中...

热点搜索 换一换

电脑/网络
VB
程序设计
电脑装机
操作系统/系统故障
硬件
笔记本电脑
百度
互联网
反病毒
软件
程序设计
VB
数据库
C/C++
JAVA相关
C#/.NET
VC++
汇编语言
其他编程语言
VB
VB
举报
举报原因(必选):
取消确定举报