已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
用vb编写计算器(与小键盘响应)(修改)Option Explicit Dim lastinput As String 指示上一次按键事件的类型 Dim num1 As Double 第一个操作数 Dim num2 As Double 第二个操作数 Dim opttype As Integer 按了那个符号 Dim keynum As Integer Dim result As Double 表示运算结果 Private Sub Command1_Click(Index As Integer) 当按下数字键(0-9)时,在文本框尾部追加数据 并通过变量lastinput记录上次按键为数字键 If Len(Text1.Text) 16 Then Exit Sub If Text1.Text = 0 Or lastinput = eqv Then Text1.Text = Text1.Text = Text1.Text & Index 追加数据 lastinput = num If keynum = 48 And keynum 0 Then Text1.Text = Sqr(Val(Text1.Text) 运用Sqr函数 Else MsgBox 被开方数不能为负数, 0 + 48, 提示信息 被开方数为负数时提示错误 Text1.Text = 清零 Text1.SetFocus 焦点 End IfEnd SubPrivate Sub Command12_Click() OFF按钮 End 退出程序End SubPrivate Sub Command2_Click() 小数点 如果数据位数超出范围或数据中已包含小数点,退出本过程 If Len(Text1.Text) 16 Or InStr(1, Text1.Text, .) 0 And lastinput eqv Then Exit Sub 若以0开始输入,在“0”前加0 若在数据尾部输入过程中按下“.”,直接将“.”追加在数据尾部 If lastinput = opt Or lastinput = eqv Or lastinput = neg Then Text1.Text = Text1.Text + 0. Else Text1.Text = Text1.Text + . End If lastinput = numEnd SubPrivate Sub Command3_Click() C按钮,每次退一个数字If Len(Text1.Text) = 1 Then Text1.Text = Left(Text1.Text, Len(Text1.Text) - 1) Else MsgBox 已经是最后一位了, 0 + 48, 提示信息 End IfEnd SubPrivate Sub Command4_Click() DEL按钮 重新设置并初始化变量 num1 = 0 num2 = 0 Text1.Text = 0 opttype = -1 lastinput = numEnd SubPrivate Sub Command5_Click(Index As Integer) 加减乘除号 按下运算符键后,获取第一个操作数num1,并记录按下的运算符 num1 = Val(Text1.Text) Text1.Text = lastinput = opt opttype = IndexEnd SubPrivate Sub Command6_Click() 等号结果 num2 = Val(Text1.Text) Select Case opttype Case 0 result = num1 + num2 加法运算 Case 1 result = num1 - num2 减法运算 Case 2 result = num1 * num2 乘法运算 Case 3 除法运算 If num2 = 0 Then Text1.Text = .E MsgBox 输入数据不能为0, 0 + 48, 提示 除数为0时提示错误 Else result = num1 / num2 End If End Select If Text1.Text .E Then Text1.Text = Trim(Str(result) 结束本次计算,重新赋值 num1 = 0 num2 = 0 lastinput = eqv opttype = -1End SubPrivate Sub Command7_Click() Backspace按钮,退格的作用If Len(Text1.Text) = 1 Then Text1.Text = Left(Text1.Text, Len(Text1.Text) - 1) Else MsgBox 已经是最后一位了, 0 + 48, 提示信息 End IfEnd SubPrivate Sub Command8_Click() 正负号转换Text1.Text = Trim(Str(-Val(Text1.Text)End SubPrivate Sub Command9_Click() 倒数按钮 If Text1.Text = 0 Then 0没有倒数 MsgBox 数据输入不正确, 0 + 48, 错误提示 Else Text1.Text = 0 & 1 / Val(Text1.Text) End IfEnd SubPrivate Sub Form_KeyPress(KeyAscii As Integer) 与小键盘响应 Dim i As Integer 定义i 下面程序里的Beep使你按下键盘时发出声音 If KeyAscii = Asc(0) Then 数字键0 i = 0 Command1_Click (i) Beep ElseIf KeyAscii = Asc(1) Then 数字键1 i = 1 Command1_Click (i) Beep ElseIf KeyAscii = Asc(2) Then 数字键2 i = 2 Command1_Click (i) Beep ElseIf KeyAscii = Asc(3) Then 数字键3 i = 3 Command1_Click (i) Beep ElseIf KeyAscii = Asc(4) Then 数字键4 i = 4 Command1_Click (i) Beep ElseIf KeyAscii = Asc(5) Then 数字键5 i = 5 Command1_Click (i) Beep ElseIf KeyAscii = Asc(6) Then 数字键6 i = 6 Command1_Click (i) Beep ElseIf KeyAscii = Asc(7) Then 数字键7 i = 7 Command1_Click (i) Beep ElseIf KeyAscii = Asc(8) Then 数字键8 i = 8 Command1_Click (i) Beep ElseIf KeyAscii = Asc(9) Then 数字键9 i = 9 Command1_Click (i) Beep ElseIf KeyAscii = Asc(+) Then 加号按键 i = 0 Command5_Click (i) Beep ElseIf KeyAscii = Asc(-) Then 等号按键 i = 1 Command5_Click (i) Beep ElseIf KeyAscii = Asc(*) Then 乘号按键 i = 2 Command5_Click (i) Beep ElseIf KeyAscii = Asc(/) Then 除号按键 i = 3 Command5_Click (i) Beep ElseIf KeyAscii = Asc(=) Then 等号按键 Command6_Click Beep ElseIf KeyAscii = Asc(.) Then 小数点按键 Command2_Click Beep End IfEnd SubPrivate Sub F
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026浙江大学医学院附属第二医院招聘2人备考题库及答案详解1套
- 2026江苏苏州工业园区综合执法系统招聘工作人员20人备考题库及完整答案详解1套
- 2026重庆市北碚区统景镇招聘18人备考题库带答案详解
- 2026年合肥市瑶海区新任教师公开招聘75名备考题库及答案详解参考
- 2026广西来宾市退役军人事务局招聘编外聘用人员2人备考题库及一套答案详解
- 2026年合肥巢湖市中小学新任教师公开招聘88名备考题库及参考答案详解一套
- 建筑工地脚手架管理规则
- 2026四川南充市自然资源和规划局局属事业单位招聘编外人员1人备考题库及1套参考答案详解
- 2026北京大学新校区管理委员会办公室招聘劳动合同制工作人员1名备考题库含答案详解
- 2026年咸阳彬州市企事业单位引进高层次人才招聘备考题库(33人)参考答案详解
- 生物质锅炉培训课件
- 企业信息化系统集成与维护规范(标准版)
- 基坑开挖安全培训课件
- 2025植物提取物行业市场深度调研及发展趋势与投资战略研究报告
- 旅游大巴司机培训
- 河南南阳市2026届高一物理第一学期期末经典试题含解析
- 农行校招笔试真题及答案
- 国际汉语教师证书2025年考试及答案
- 档案管理保密知识培训
- 工地临时用电施工方案设计
- 2025福建厦漳泉城际铁路有限责任公司筹备组社会招聘10人考试参考题库及答案解析
评论
0/150
提交评论