vb6初学者:[2]制作一个四则运算的计算器
1、如图,左侧是我们第一条经验做的计算器,右侧是windows的计算器。有一个很重要的差别是我们的计算器只具有“加法”功能,而 windows计算器可以进行四则运算。现在我们就来完善它。
![vb6初学者:[2]制作一个四则运算的计算器](https://exp-picture.cdn.bcebos.com/460fdc8333bf3befdde4c20c3f3ea8db564a1a00.jpg)
![vb6初学者:[2]制作一个四则运算的计算器](https://exp-picture.cdn.bcebos.com/dd58d02c5b1b1ede0177328d981fceecd2d90f00.jpg)
2、我们在上次的窗口中拖入一个combo(选择框)控件,text属性修改为“请选择运算法则”
![vb6初学者:[2]制作一个四则运算的计算器](https://exp-picture.cdn.bcebos.com/edd84743040148fe1eeecfdf8fd149299b880200.jpg)
3、然后修改list属性,增加“加”“减”“乘”“除”四行。
(每增加一条都需要回车,然后重新进行该步骤)
![vb6初学者:[2]制作一个四则运算的计算器](https://exp-picture.cdn.bcebos.com/acfda02f47704618d376768fb08602214e577600.jpg)
4、一、 增加代码,根据combo1的内容进行不同的运算
双击command1,将command1原代码删掉,改为如下代码:
Dim jieguo As string '定义一个叫做jieguo的变量,用以储存结果
select case combo1.text ‘选择combo1中的内容
Case “加” ‘如果选择的是“加”
Jieguo= Val(Text1.Text) + Val(Text2.Text) ‘执行加法
Case “减” ‘如果选择的是“减”
Jieguo= Val(Text1.Text) - Val(Text2.Text) ‘执行减法
Case “乘” ‘如果选择的是“乘”
Jieguo= Val(Text1.Text) * Val(Text2.Text) ‘执行乘法
Case “除” ‘如果选择的是“除”
Jieguo= Val(Text1.Text) /Val(Text2.Text) ‘执行除法
Case else ‘如果选择的是其他字符
Jieguo= “无此运算符”
End select ‘结束选择语句
Msgbox(jieguo) ‘将内容用消息框展示出来
5、纠错机制
1、如果我们在文本框中输入的不是数字而是字符,则val( )函数会自动将其转化为0进行计算。如图所示。
为了限制文本框只输入数字,我们可以双击文本框,分别输入代码后,应如下文显示:
Private Sub Text1_Change()
Text1.Text = Val(Text1.Text)
End Sub
Private Sub Text2_Change()
Text2.Text = Val(Text2.Text)
End Sub
![vb6初学者:[2]制作一个四则运算的计算器](https://exp-picture.cdn.bcebos.com/f9617afb960b312112cd9617dee983aee9d76d00.jpg)
6、 有时候程序在运行过程中会出现下面的错误,问题在哪呢?就是因为0不能做除数
为了解决0不能做除数的问题,我们可以引入一个判断语句(if….then…..else….end if)
If Combo1.Text = "除" And Text2.Text = 0 Then
MsgBox ("被除数不能为0")
exit sub
End If
![vb6初学者:[2]制作一个四则运算的计算器](https://exp-picture.cdn.bcebos.com/1570c1b6326c5766ba6390e7a4632385e1366100.jpg)
7、我们把上面的语句放入Command1_Click()事件的前端,完整代码如下:
Private Sub Command1_Click()
If Combo1.Text = "除" And Text2.Text = 0 Then
MsgBox ("被除数不能为0")
exit sub
End If
Dim jieguo As string '定义一个叫做jieguo的变量,用以储存结果
select case combo1.text ‘选择combo1中的内容
Case “加” ‘如果选择的是“加”
Jieguo= Val(Text1.Text) + Val(Text2.Text) ‘执行加法
Case “减” ‘如果选择的是“减”
Jieguo= Val(Text1.Text) - Val(Text2.Text) ‘执行减法
Case “乘” ‘如果选择的是“乘”
Jieguo= Val(Text1.Text) * Val(Text2.Text) ‘执行乘法
Case “除” ‘如果选择的是“除”
Jieguo= Val(Text1.Text) /Val(Text2.Text) ‘执行除法
Case else ‘如果选择的是其他字符
Jieguo= “无此运算符”
End select ‘结束选择语句
Msgbox(jieguo) ‘将内容用消息框展示出来
End Sub
8、这样,我们要的功能基本完成。
你可以通过修饰,让程序更美观
![vb6初学者:[2]制作一个四则运算的计算器](https://exp-picture.cdn.bcebos.com/e177fc9147e833e012deafb730ea3e8631485900.jpg)