今天在优快云上看到一个问题,就是如何实现简单的四则运算,例如a+b-c*(a+e)。然后将参数值代入到算式中进行计算。通过ScriptControl可以完成这个功能。
首先创建一个工程,在工程中加入一个新的类,类名称为Class1,然后在类中加入以下定义 :
Public
k1
As
Integer
Public
a
As
Integer
Public
b
As
Integer
Public
c
As
Integer

Public
ev
As
String
在Form1中加入代码:
Dim
shar
As
New
Class1

'
abc分别为赋值
shar.a
=
4
shar.b
=
6
shar.c
=
2

ScriptControl1.AddObject
"
sh
"
,shar
'
Text1是用户输入的算式
Text1.Text
=
"
a+b-c
"
ScriptControl1.AddCode
"
FunctionMain()
"
&
_
"
dima
"
&
vbCrLf
&
"
dimb
"
&
vbCrLf
&
"
dimc
"
&
vbCrLf_
&
"
a=sh.a
"
&
vbCrLf
&
"
b=sh.b
"
&
vbCrLf
&
"
c=sh.c
"
&
vbCrLf_
&
vbCrLf
&
"
kk=
"
&
Text1.Text
&
vbCrLf
&
"
sh.k1=kk
"
&
vbCrLf
&
"
EndFunction
"

ScriptControl1.Run
"
main
"
MsgBox
"
结果等于:
"
&
shar.k1,,
"
运算结果
"
Script Control支持通过自定义对象与代码交互,通过AddObject方法可以向ScriptControl中加入一个对象(代码中加入了名称为sh的Class1对象),然后在算式中就可以操作sh对象了。
首先创建一个工程,在工程中加入一个新的类,类名称为Class1,然后在类中加入以下定义 :






在Form1中加入代码:

















Script Control支持通过自定义对象与代码交互,通过AddObject方法可以向ScriptControl中加入一个对象(代码中加入了名称为sh的Class1对象),然后在算式中就可以操作sh对象了。