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

下载本文档

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

文档简介

VB6.0的小程序计算器VB6.0的小程序计算器VB6.0的小程序计算器VB6.0的小程序计算器编制仅供参考审核批准生效日期地址:电话:传真:邮编:的小程序计算器对于刚入门学习VB6的朋友来说肯定会做些小程序吧,这里就是给大家演示个简单的计算器程序,仅供参考啦。界面上加减乘除四个按钮分别是cmdAdd、cmdPlus、cmdMultiple、cmdDevide,小数点按钮是cmdDot,负号按钮是cmdMinuse,数字0~9为了偷懒,用了控件数组cmdNumber(0)~cmdNumber(9),上面txtShow是显示数字和结果用的,txtOperate是显示中间步骤的。思路大致是这样,点加减乘除这类操作符的时候,把当前txtShow的值保存在模块变量mstrParam1里,同时把操作符保存到mstrOperate里,按等于号时把先把当前txtShow的值保存在模块变量mstrParam2里,然后对mstrParam1和mstrParam2进行运算,当然要记得设法把String转换成数值进行运算。转换的过程要注意,这里是用的Variant数据类型,vParam1和vParam2都是Variant类型,保存的是mstrParam1和mstrParam2的数值。之所以不用integer、long、double这些标准类型,是因为这些类型都有大小限制,做出来用着不方便,VB最大的整型long才到47,这意味着计算器的计算结果只能限制在9位到10位。而Variant类型可以支持非常大的数,具体多大不清楚,但起码几十位是能够支持的。另外,最后算完的结果也要做格式化,因为如果数值非常大的话,VB会自动转成科学计数法,所以要用Format函数进行调整。如果需要源代码的话在我百度空间里留言。ExplicitPrivateConstmstrFORMATDEFAULTAsString="#.##"PrivatemstrParam1AsString,mstrParam2AsStringPrivatemstrOperateAsStringPrivateSubcmdAdd_Click()mstrParam1=TrimmstrOperate="+"=""=&mstrParam1&vbCrLf=&mstrOperate&vbCrLfEndSubPrivateSubcmdPlus_Click()mstrParam1=TrimmstrOperate="-"=""=&mstrParam1&vbCrLf=&mstrOperate&vbCrLfEndSubPrivateSubcmdMultiple_Click()mstrParam1=TrimmstrOperate="*"=""=&mstrParam1&vbCrLf=&mstrOperate&vbCrLfEndSubPrivateSubcmdDevide_Click()mstrParam1=TrimmstrOperate="/"=""=&mstrParam1&vbCrLf=&mstrOperate&vbCrLfEndSubPrivateSubcmdDot_Click()DimmstrShowAsStringDimiAsIntegermstrShow="."i=InStr(1,,mstrShow)Ifi<=0Then=&mstrShowEndIfEndSubPrivateSubcmdMinuse_Click()DimmstrShowAsStringDimiAsIntegermstrShow="-"i=InStr(1,,mstrShow)Ifi<=0Then=mstrShow&Else=Right,Len-1)EndIfEndSubPrivateSubcmdNumber_Click(IndexAsInteger)DimmstrShowAsStringmstrShow=Index=&mstrShowEndSubPrivateSubcmdClear_Click()=""EndSubPrivateSubcmdResult_Click()DimvParam1AsVariant,vParam2AsVariantDimvResultAsVariantDimstrResultAsStringDimiAsLongDimblnBeforeDotAsBooleanDimlngDotPosAsLongDimblnMinuseAsBooleanmstrParam2=Trim=&mstrParam2&vbCrLfvParam1=0blnBeforeDot=TruelngDotPos=-1blnMinuse=FalseFori=1ToLen(mstrParam1)IfIsNumeric(Mid(mstrParam1,i,1))=TrueThenIfblnBeforeDot=TrueThenvParam1=vParam1*10+CByte(Mid(mstrParam1,i,1))ElsevParam1=vParam1+CByte(Mid(mstrParam1,i,1))*^(i-lngDotPos))EndIfElseIfMid(mstrParam1,i,1)="."ThenblnBeforeDot=FalselngDotPos=iElseIfMid(mstrParam1,i,1)="-"ThenblnMinuse=TrueEndIfNextiIfblnMinuse=TrueThenvParam1=-vParam1EndIfvParam2=0blnBeforeDot=TruelngDotPos=-1blnMinuse=FalseFori=1ToLen(mstrParam2)IfIsNumeric(Mid(mstrParam2,i,1))=TrueThenIfblnBeforeDot=TrueThenvParam2=vParam2*10+CByte(Mid(mstrParam2,i,1))ElsevParam2=vParam2+CByte(Mid(mstrParam2,i,1))*^(i-lngDotPos))EndIfElseIfMid(mstrParam2,i,1)="."ThenblnBeforeDot=FalselngDotPos=iElseIfMid(mstrParam2,i,1)="-"ThenblnMinuse=TrueEndIfNextiIfblnMinuse=TrueThenvParam2=-vParam2EndIfSelectCasemstrOperateCase"+"vResult=vParam1+vParam2Case"-"vResult=vParam1-vParam2Case"*"vResult=vParam1*vParam2Case"/"vResult=vParam1/vParam2

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论