1、如图,左侧是我们第一条经验做的计算器,右侧是windows的计算器。有一个很重要的差别是我们的计算器只具有“加法”功能,而 windows计算器可以进行四则运算。现在我们就来完善它。
2、我们在上次的窗口中拖入一个combo(选择框)控件,text属性修改为“请选择运算法则”
3、然后修改list属性,增加“加”“减”“乘”“除”四行。(每增加一条都需要回车,然后重新进行该步骤)
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 SubPrivate Sub Text2_Change()Text2.Text = Val(Text2.Text)End Sub
6、 有时候程序在运行过程中会出现下面的错误,问题在哪呢?就是因为0不能做除数为了解决0不能做除数的问题,我们可以引入一个判断语句(if….then…..else….end if)If Combo1.Text = "除" And Text2.Text = 0 Then MsgBox ("被除数不能为0") exit subEnd If
7、我们凸鹣沮北把上面的语句放入Command1_Click()事件的前端,完整代码如下:Private Sub Command1_Click()If Combo1.Text = "除" And Text2.Text = 0 Then MsgBox ("被除数不能为0") exit subEnd IfDim 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、这样,我们要的功能基本完成。你可以通过修饰,让程序更美观