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

PublicevAsString
在Form1中加入代码:
DimsharAsNewClass1

'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对象了。