通过ScriptControl实现带参数的公式计算

今天在CSDN上看到一个问题,就是如何实现简单的四则运算,例如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
    
    
' 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对象了。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值