在VB编程中,经常需要计算表达式的值,比如3+6、sin(-8)或(3>4)or(1>5)等。接下来,介绍通过微软脚本控件实现表达式求值的方法。
1、 启动VB6.0,创建一个标准EXE项目。

2、 绘制界面时,添加两个label控件,把caption属性分别设为表达式和值。
3、 接着添加两个Textbox控件,命名为txbExpression和txbValue,分别用于输入表达式和显示表达式的结果值。
4、 最后添加一个命令按钮,命名为cmdCalc,将标题设置为计算。

5、 双击CommandButton,进入代码编辑器,在txbCalc_Click事件中添加以下代码:
6、 声明一个字符串变量,用于保存表达式内容。
7、 声明一个字符串变量Rst,用于保存最终的运算结果。
8、 创建并保存 ScriptControl 对象,代码如下:
9、 设置 SCtl = 创建对象(MSScriptControl.ScriptControl)
10、 此操作用于初始化脚本控制对象,以便后续使用。
11、 将表达式的值赋给变量Str,例如:Str = txbExpression。
12、 将脚本语言设置为VBScript,代码如下:SCtl.Language = VBScript。
13、 通过 SCtl 对象的 Eval 方法计算字符串 Str 表达式的值,并将结果赋给 VBScriptRst 变量。
14、 将结果集赋值给变量 txbValue 并输出最终结果。

15、 按下F5键后,输入任意表达式,点击计算按钮,程序便会迅速给出正确结果。需要说明的是,由于使用了脚本控件,输入的表达式必须遵循VBScript的语法规则。只要符合VBScript语法的表达式均可顺利完成计算,而不符合该语法规则的表达式则无法进行计算。
