的小程序计算器_第1页
的小程序计算器_第2页
的小程序计算器_第3页
的小程序计算器_第4页
的小程序计算器_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论