今天在CSDN上看到一个问题,就是如何实现简单的四则运算,例如a+b-c*(a+e)。然后将参数值代入到算式中进行计算。通过ScriptControl可以完成这个功能。
首先创建一个工程,在工程中加入一个新的类,类名称为Class1,然后在类中加入以下定义 :
在Form1中加入代码:
Script Control支持通过自定义对象与代码交互,通过AddObject方法可以向ScriptControl中加入一个对象(代码中加入了名称为sh的Class1对象),然后在算式中就可以操作sh对象了。
首先创建一个工程,在工程中加入一个新的类,类名称为Class1,然后在类中加入以下定义 :
Public
k1
As
Integer
Public a As Integer
Public b As Integer
Public c As Integer
Public ev As String
Public a As Integer
Public b As Integer
Public c As Integer
Public ev As String
在Form1中加入代码:
Dim
shar
As
New
Class1
' a b c分别为赋值
shar.a = 4
shar.b = 6
shar.c = 2
ScriptControl1.AddObject " sh " , shar
' Text1是用户输入的算式
Text1.Text = " a + b - c "
ScriptControl1.AddCode " Function Main() " & _
" dim a " & vbCrLf & " dim b " & vbCrLf & " dim c " & vbCrLf _
& " a = sh.a " & vbCrLf & " b = sh.b " & vbCrLf & " c = sh.c " & vbCrLf _
& vbCrLf & " kk= " & Text1.Text & vbCrLf & " sh.k1 = kk " & vbCrLf & " End Function "
ScriptControl1.Run " main "
MsgBox " 结果等于: " & shar.k1, , " 运算结果 "
' a b c分别为赋值
shar.a = 4
shar.b = 6
shar.c = 2
ScriptControl1.AddObject " sh " , shar
' Text1是用户输入的算式
Text1.Text = " a + b - c "
ScriptControl1.AddCode " Function Main() " & _
" dim a " & vbCrLf & " dim b " & vbCrLf & " dim c " & vbCrLf _
& " a = sh.a " & vbCrLf & " b = sh.b " & vbCrLf & " c = sh.c " & vbCrLf _
& vbCrLf & " kk= " & Text1.Text & vbCrLf & " sh.k1 = kk " & vbCrLf & " End Function "
ScriptControl1.Run " main "
MsgBox " 结果等于: " & shar.k1, , " 运算结果 "
Script Control支持通过自定义对象与代码交互,通过AddObject方法可以向ScriptControl中加入一个对象(代码中加入了名称为sh的Class1对象),然后在算式中就可以操作sh对象了。