VB编程语言是一个典型的简单易学,但是呢精通很难,特别是后面的.net这些。好了我不说了,其实我也是初学者,学了一个多月的VB,老师让编一个像样点的作业,我想来想去,他们都编的是什么大抽奖啊,猜猜我是谁啊?什么的。
我们不一样,所以我就想编个计算器,而书上的都是两个文本框,提取text1和2的text来进行运算,跟什么一样。一开始我本来想用文本框来做,抓破脑子也想不出来,应该是我能力不够吧,想不出来怎么去吧输入的数进行运算,更不要谈什么连续各种运算符(+,-,*,/,^,%……)的计算了。
最后我想到了用标签控件来进行记录输入的第一个数和第二个数,第三,第四……而运算怎么解决呢?我想到了定义一个字母(比如m),我的:+是1,-是2,以此类推。但是这样只能解决两个数的,而且在非第一次按数字键的时候并不能识别是第几次按,所以要加上一个东西来衡量(比如n),这已经基本上实现了两个数的运算,但是这和text几个键的结果有什么不同。所以实现连续任意运算符计算和(=)号得出答案后,由答案做为一个数直接进行连续任意计算成为我的目标,实现的代码看下面吧:
(通用)Dimn,m,fAsInteger
Dima,b,cAsSingle
DimabAsString
PrivateSubc0_Click()我的c0=数字0,c1=1,其他的以此类推,各位可不要学我的懒得坏习惯
Ifn=1Thenn=n
l1.Visible=True
Ifl1.Caption="0"Orl1.Caption="+"Orl1.Caption="-"Orl1.Caption="*"Orl1.Caption="/"Orl1.Caption="^"Then
l1.Caption="0"
Else
l1.Caption=l1.Caption+"0"
EndIf
EndSub
PrivateSubc1_Click()
l1.Caption="1"
l1.Caption=l1.Caption+"1"
EndSub发两个就可以了其他数字1-9都是一样的除了0,后面的在相应的数字改成其就好了
PrivateSubdian_Click()PrivateSubForm_Load()
l1.Visible=Truen=0
Ifn=1Thenl1.Caption="0"f=0
n=0EndSub因为写不下,所以,左边的是小数点(.),右
l1.Caption=l1.Caption+"."边是定义
dian.Enabled=False
等号的代码太长了我就以图片的形式了:
最后想说一句,这是功能比较复杂的(当然还可以更复杂),如果不需要多步计算和可以把上一次的计算结果直接进行下一次计算的话就可以减少很多代码,还有运用模块的话可以减少很多代码的哦。