VB6.0的小程序计算器.doc

上传人:scccc 文档编号:13595046 上传时间:2022-01-19 格式:DOC 页数:5 大小:76.50KB
返回 下载 相关 举报
VB6.0的小程序计算器.doc_第1页
第1页 / 共5页
VB6.0的小程序计算器.doc_第2页
第2页 / 共5页
VB6.0的小程序计算器.doc_第3页
第3页 / 共5页
亲,该文档总共5页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《VB6.0的小程序计算器.doc》由会员分享,可在线阅读,更多相关《VB6.0的小程序计算器.doc(5页珍藏版)》请在三一文库上搜索。

1、VB6.0的小程序 计算器对于刚入门学习 VB6的朋友来说肯定会做些小程序吧,这里就是给大家演示个简单的计算器程序,仅供参考啦。界面上加减乘除四个按钮分别是 cmdAdd、cmdPlus、cmdMultiple、cmdDevide,小数点 按钮是cmdDot,负号按钮是cmdMinuse ,数字09为了偷懒,用了控件数组 cmdNumber(O) cmdNumber(9),上面txtShow是显示数字和结果用的, txtOperate是显示中间步骤的。思路大致是这样,点加减乘除这类操作符的时候,把当前txtShow的值保存在模块变量mstrParam1里,同时把操作符保存到mstrOperat

2、e里,按等于号时把先把当前txtShow的值保存在模块变量 mstrParam2里,然后对mstrParam1和mstrParam2进行运算,当然要记得设 法把String转换成数值进行运算。转换的过程要注意,这里是用的Variant数据类型,vParam1和vParam2都是Variant类型,保存的是 mstrParam1和mstrParam2的数值。之所以不用 integer、long、double这些标 准类型,是因为这些类型都有大小限制,做出来用着不方便,VB最大的整型long才到2147483647,这意味着计算器的计算结果只能限制在9位到10位。而Variant类型可以支持非常大

3、的数,具体多大不清楚,但起码几十位是能够支持的。另外,最后算完的结果也要做格式化,因为如果数值非常大的话,VB会自动转成科学计数法,所以要用Format函数进行调整。如果需要源代码的话在我百度空间里留言。Opti on ExplicitPrivate Const mstrFORMA TDEFAULT As String = #.#Private mstrParam1 As String, mstrParam2 As StringPrivate mstrOperate As StringPrivate Sub cmdAdd_Click()mstrParam1 = Trim(txtShow.Tex

4、t) mstrOperate = + txtShow.Text = txtOperate.Text = txtOperate.Text & mstrParam1 & vbCrLf txtOperate.Text = txtOperate.Text & mstrOperate & vbCrLfEnd SubPrivate Sub cmdPlus_Click()mstrParam1 = Trim(txtShow.Text) mstrOperate = - txtShow.Text = txtOperate.Text = txtOperate.Text & mstrParam1 & vbCrLf t

5、xtOperate.Text = txtOperate.Text & mstrOperate & vbCrLfEnd SubPrivate Sub cmdMultiple_Click()mstrParam1 = Trim(txtShow.Text) mstrOperate = * txtShow.Text = txtOperate.Text = txtOperate.Text & mstrParam1 & vbCrLf txtOperate.Text = txtOperate.Text & mstrOperate & vbCrLfEnd SubPrivate Sub cmdDevide_Cli

6、ck()mstrParam1 = Trim(txtShow.Text) mstrOperate = / txtShow.Text = txtOperate.Text = txtOperate.Text & mstrParam1 & vbCrLftxtOperate.Text = txtOperate.Text & mstrOperate & vbCrLfEnd SubPrivate Sub cmdDot_Click()Dim mstrShow As StringDim i As IntegermstrShow = .i = InStr(1, txtShow.Text, mstrShow)If

7、i = 0 Then txtShow.Text = txtShow.Text & mstrShowEnd IfEnd SubPrivate Sub cmdMinuse_Click()Dim mstrShow As StringDim i As IntegermstrShow = -i = InStr(1, txtShow.Text, mstrShow)If i = 0 Then txtShow.Text = mstrShow & txtShow.TextElse txtShow.Text = Right(txtShow.Text, Len(txtShow.Text) - 1)End IfEnd

8、 SubPrivate Sub cmdNumber_Click(Index As Integer)Dim mstrShow As StringmstrShow = IndextxtShow.Text = txtShow.Text & mstrShowEnd SubPrivate Sub cmdClear_Click()txtShow.Text = End SubPrivate Sub cmdResult_Click()Dim vParam1 As Variant, vParam2 As VariantDim vResult As VariantDim strResult As StringDi

9、m i As LongDim blnBeforeDot As BooleanDim lngDotPos As LongDim blnMinuse As BooleanmstrParam2 = Trim(txtShow.Text) txtOperate.Text = txtOperate.Text & mstrParam2 & vbCrLf vParam1 = 0 blnBeforeDot = True lngDotPos = -1 blnMinuse = FalseFor i = 1 To Len(mstrParam1)If IsNumeric(Mid(mstrParam1, i, 1) =

10、True ThenIf blnBeforeDot = True ThenvParam1 = vParam1 * 10 + CByte(Mid(mstrParam1, i, 1) ElsevParaml = vParaml + CByte(Mid(mstrParam1, i, 1) * (0.1 A (i - In gDotPos) End IfEIseIf Mid(mstrParam1, i, 1) = . Then bInBeforeDot = FaIseIngDotPos = iEIseIf Mid(mstrParam1, i, 1) = - Then bInMinuse = TrueEn

11、d IfNext iIf bInMinuse = True ThenvParam1 = -vParam1End IfvParam2 = 0 bInBeforeDot = TrueIngDotPos = -1bInMinuse = FaIseFor i = 1 To Len(mstrParam2)If IsNumeric(Mid(mstrParam2, i, 1) = True ThenIf blnBeforeDot = True ThenvParam2 = vParam2 * 10 + CByte(Mid(mstrParam2, i, 1)ElsevParam2 = vParam2 + CBy

12、te(Mid(mstrParam2, i, 1) * (0.1 A (i - In gDotPos) End IfEIseIf Mid(mstrParam2, i, 1) = . ThenbInBeforeDot = FaIseIngDotPos = iEIseIf Mid(mstrParam2, i, 1) = - ThenbInMinuse = TrueEnd IfNext iIf bInMinuse = True ThenvParam2 = -vParam2End IfSeIect Case mstrOperateCase +vResuIt = vParam1 + vParam2Case

13、 -vResuIt = vParam1 - vParam2Case *vResuIt = vParam1 * vParam2Case /vResuIt = vParam1 / vParam2End SeIecttxtOperate.Text = txtOperate.Text & = & vbCrLf strResuIt = Format(vResuIt, mstrFORMATDEFAULT) txtShow.Text = strResuIttxtOperate.Text = txtOperate.Text & strResuIt & vbCrLfEnd SubPrivate Sub Form_Load() txtShow.Text = txtOperate.Text = End Sub

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1