版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、VB6.0的小程序 计算器对于刚入门学习VB6的朋友来说肯定会做些小程序吧,这里就是给大家演示个简单的计算器程序,仅供参考啦。界面上加减乘除四个按钮分别是cmdAdd、cmdPlus、cmdMultiple、cmdDevide,小数点按钮是cmdDot,负号按钮是cmdMinuse,数字09为了偷懒,用了控件数组cmdNumber(0) cmdNumber(9),上面txtShow是显示数字和结果用的,txtOperate是显示中间步骤的。思路大致是这样,点加减乘除这类操作符的时候,把当前txtShow的值保存在模块变量mstrParam1里,同时把操作符保存到mstrOperate里,按等于
2、号时把先把当前txtShow的值保存在模块变量mstrParam2里,然后对mstrParam1和mstrParam2进行运算,当然要记得设法把String转换成数值进行运算。 转换的过程要注意,这里是用的Variant数据类型,vParam1和vParam2都是Variant类型,保存的是mstrParam1和mstrParam2的数值。之所以不用integer、long、double这些标准类型,是因为这些类型都有大小限制,做出来用着不方便,VB最大的整型long才到 2147483647,这意味着计算器的计算结果只能限制在9位到10位。而Variant类型可以支持非常大的数,具体多大不清
3、楚,但起码几十位是能够支持的。另外,最后算完的结果也要做格式化,因为如果数值非常大的话,VB会自动转成科学计数法,所以要用Format函数进行调整。如果需要源代码的话在我百度空间里留言。Option ExplicitPrivate Const mstrFORMATDEFAULT As String = "#.#"Private mstrParam1 As String, mstrParam2 As StringPrivate mstrOperate As StringPrivate Sub cmdAdd_Click() mstrParam1 = Trim(txtShow.T
4、ext) mstrOperate = "+" txtShow.Text = "" txtOperate.Text = txtOperate.Text & mstrParam1 & vbCrLf txtOperate.Text = txtOperate.Text & mstrOperate & vbCrLf End SubPrivate Sub cmdPlus_Click() mstrParam1 = Trim(txtShow.Text) mstrOperate = "-" txtShow.Text =
5、"" txtOperate.Text = txtOperate.Text & mstrParam1 & vbCrLf txtOperate.Text = txtOperate.Text & mstrOperate & vbCrLf End SubPrivate Sub cmdMultiple_Click() mstrParam1 = Trim(txtShow.Text) mstrOperate = "*" txtShow.Text = "" txtOperate.Text = txtOperate.Te
6、xt & mstrParam1 & vbCrLf txtOperate.Text = txtOperate.Text & mstrOperate & vbCrLf End SubPrivate Sub cmdDevide_Click() mstrParam1 = Trim(txtShow.Text) mstrOperate = "/" txtShow.Text = "" txtOperate.Text = txtOperate.Text & mstrParam1 & vbCrLf txtOperate.Te
7、xt = txtOperate.Text & mstrOperate & vbCrLf End SubPrivate Sub cmdDot_Click() Dim mstrShow As String Dim i As Integer mstrShow = "." i = InStr(1, txtShow.Text, mstrShow) If i <= 0 Then txtShow.Text = txtShow.Text & mstrShow End If End SubPrivate Sub cmdMinuse_Click() Dim mst
8、rShow As String Dim i As Integer mstrShow = "-" i = InStr(1, txtShow.Text, mstrShow) If i <= 0 Then txtShow.Text = mstrShow & txtShow.Text Else txtShow.Text = Right(txtShow.Text, Len(txtShow.Text) - 1) End If End SubPrivate Sub cmdNumber_Click(Index As Integer) Dim mstrShow As Strin
9、g mstrShow = Index txtShow.Text = txtShow.Text & mstrShow End SubPrivate Sub cmdClear_Click() txtShow.Text = ""End SubPrivate Sub cmdResult_Click() Dim vParam1 As Variant, vParam2 As Variant Dim vResult As Variant Dim strResult As String Dim i As Long Dim blnBeforeDot As Boolean Dim ln
10、gDotPos As Long Dim blnMinuse As Boolean mstrParam2 = Trim(txtShow.Text) txtOperate.Text = txtOperate.Text & mstrParam2 & vbCrLf vParam1 = 0 blnBeforeDot = True lngDotPos = -1 blnMinuse = False For i = 1 To Len(mstrParam1) If IsNumeric(Mid(mstrParam1, i, 1) = True Then If blnBeforeDot = True
11、 Then vParam1 = vParam1 * 10 + CByte(Mid(mstrParam1, i, 1) Else vParam1 = vParam1 + CByte(Mid(mstrParam1, i, 1) * (0.1 (i - lngDotPos) End If ElseIf Mid(mstrParam1, i, 1) = "." Then blnBeforeDot = False lngDotPos = i ElseIf Mid(mstrParam1, i, 1) = "-" Then blnMinuse = True End If
12、 Next i If blnMinuse = True Then vParam1 = -vParam1 End If vParam2 = 0 blnBeforeDot = True lngDotPos = -1 blnMinuse = False For i = 1 To Len(mstrParam2) If IsNumeric(Mid(mstrParam2, i, 1) = True Then If blnBeforeDot = True Then vParam2 = vParam2 * 10 + CByte(Mid(mstrParam2, i, 1) Else vParam2 = vPar
13、am2 + CByte(Mid(mstrParam2, i, 1) * (0.1 (i - lngDotPos) End If ElseIf Mid(mstrParam2, i, 1) = "." Then blnBeforeDot = False lngDotPos = i ElseIf Mid(mstrParam2, i, 1) = "-" Then blnMinuse = True End If Next i If blnMinuse = True Then vParam2 = -vParam2 End If Select Case mstrOperate Case "+" vResult = vParam1 + vParam2 Case "-" vResult = vParam1 - vParam2 Case "*" vResult = vParam1 * vParam2 Case "/" vResult = vParam1 / vParam2 End Select txtOperate.Text = txtOperate.Text & "=" & vbCrLf strResult =
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 冀少版八年级生物上册第三单元第二节根对水分的吸收课件
- 《妈妈睡了》教学设计
- 《学习探究-计算机硬件及其故障》教案
- 印刷工程监理管理与评标规范
- 定州市公园环境卫生维护办法
- 知识产权定向合作协议
- 电力工程师解除聘用合同模板
- 纺织品业保密承诺书样本
- 水利工程保险合同范本
- 深圳汽车4S店租赁合同模板
- GB 30254-2013高压三相笼型异步电动机能效限定值及能效等级
- 设备开箱验收记录表
- 2022年惠州仲恺城市发展集团有限公司招聘笔试试题及答案解析
- 国家开放大学《组织行为学》章节测试参考答案
- 卷积神经网络讲义课件
- 部编版八年级语文上册课内文言文复习课件
- 高中音乐《影视音乐》教学教学课件
- 围墙护栏建设安装施工组织设计方案
- 毛中特课件讲义整理
- 工匠精神第二讲工匠精神内涵课件
- 2022年江苏省沿海开发集团有限公司校园招聘笔试模拟试题及答案解析
评论
0/150
提交评论