2025年3月30日 星期日 甲辰(龙)年 月廿九 设为首页 加入收藏
rss
您当前的位置:首页 > 计算机 > 编程开发 > VB

VB编程:全局变量&控件数组实例简单计算器

时间:05-30来源:作者:点击数:35

VB编程:全局变量&控件数组实例简单计算器

运行效果:

VB编程:全局变量&控件数组实例简单计算器

程序代码:

  • Dim current, prev, choice '全局变量
  • '-------------这段代码是个额外加上的小测试可以忽略----------
  • '---------------用API来关闭正在运行运行的程序---------------
  • Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
  • Private Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
  • Private Const WM_CLOSE = &H10
  • Private Sub CmdEnd_Click()
  • Dim winHwnd As Long
  • Dim RetVal As Long
  • winHwnd = FindWindow(vbNullString, "简单计算器") '此处为程序的Caption值
  • Debug.Print winHwnd
  • If winHwnd <> 0 Then
  • RetVal = PostMessage(winHwnd, WM_CLOSE, 0&, 0&)
  • If RetVal = 0 Then
  • MsgBox "植入消息错误!"
  • End If
  • Else
  • MsgBox "程序没有打开!"
  • End If
  • End Sub
  • '------------------这段代码可以删除不影响程序运行-------------------
  • Private Sub CmdAc_Click()
  • Text1.Text = "" '清空输入框
  • End Sub
  • Private Sub CmdEquel_Click() '执行“=”
  • current = Val(Right(Text1.Text, Len(Text1.Text) - Len(prev) - Len(choice))) '获取后半截数字
  • If choice = "+" Then
  • current = prev + current
  • Text1.Text = Text1.Text & "=" & current
  • ElseIf choice = "-" Then
  • current = prev - current
  • Text1.Text = Text1.Text & "=" & current
  • ElseIf choice = "*" Then
  • current = prev * current
  • Text1.Text = Text1.Text & "=" & current
  • ElseIf choice = "/" And current <> 0 Then
  • current = prev / current
  • Text1.Text = Text1.Text & "=" & current
  • Else
  • Text1.Text = "Press AC to Continue"
  • End If
  • End Sub
  • Private Sub CmdPlus_Click()
  • prev = Text1.Text
  • choice = "+"
  • Text1.Text = Text1.Text & "+"
  • End Sub
  • Private Sub CmdMinus_Click()
  • prev = Text1.Text
  • choice = "-"
  • Text1.Text = Text1.Text & "-"
  • End Sub
  • Private Sub CmdAsterisk_Click()
  • prev = Text1.Text
  • choice = "*"
  • Text1.Text = Text1.Text & "*"
  • End Sub
  • Private Sub CmdSlash_Click()
  • prev = Text1.Text
  • choice = "/"
  • Text1.Text = Text1.Text & "/"
  • End Sub
  • Private Sub CmdPoint_Click()
  • Text1.Text = Text1.Text & "."
  • End Sub
  • Private Sub Command1_Click(Index As Integer)
  • Text1.Text = Text1.Text & Index '控件数组的Index属性值来输入0-9
  • End Sub
  • Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer) '键盘输入值保存到定义好的变量中
  • Select Case KeyCode
  • Case 13 '回车
  • Call CmdEquel_Click
  • Case 107
  • prev = Text1.Text
  • choice = "+"
  • Case 109
  • prev = Text1.Text
  • choice = "-"
  • Case 106
  • prev = Text1.Text
  • choice = "*"
  • Case 111
  • prev = Text1.Text
  • choice = "/"
  • Case 35 'End键
  • Call CmdAc_Click
  • End Select
  • End Sub

编写心得:

1、这个实例体现了控件数组的优越性,不用每一个按钮去添加0-9数字执行的过程。

2、开头出代码绑定了“End”命令按钮,用API来关闭正在运行的程序,感觉没多大用,就我目前的知识水平,感觉这大段代码的作用等同于“End”,希望在今后的学习中能够了解其更深层次的用法。

3、此处运用了KeyCode键盘代码,附图如下:

VB编程:全局变量&控件数组实例简单计算器

附件:源程序下载链接:http://pan.baidu.com/s/1qYrRKTm 密码:xwqn

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门