最近在用VB6.0做一个统计工程材料的小程序,但遇到个技术问题还没想到好的解决办法。具体如下:
若材料数据库里某一材料的用量计算公式为“f(a,b,...)”,其中,a,b..为计算参数,f为计算法则。对于不同的材料,参数和法则都是变量。
例如,某一材料的用量算法为“a*b+c/(d-e)”,程序从数据库读出该材料的参数和算法。如果是把参数和算法都存储在字符串变量里,那么,虽然可以用Val()或者Csng()等函数把参数转为数值,但如何把参数代入算法公式并求出数值解呢?
Val(“a*b+c/(d-e)”)这样显然是不行的。 由于算法也是变量,为了保证通用性,val(a)*val(b)+val(c)/(val(d)-val(e))也是不行的。

解决方案 »

  1.   

    感觉这个问题应该类似高级程序语言编译的范畴,我这种业余程序员根本不懂,csdn的高手多,希望大侠不吝赐教,感激不尽啊。
      

  2.   

    google 下“vb 表达式计算”。对于没有系统学过计算机科学的用户,自己写有点难度。
      

  3.   

    方法1:自己写个计算类。
    方法2:调用Excel。
    方法3:调用JS或vbs。
      

  4.   

    工具箱中添加ms script control控件
    在窗口中添加一个 script control控件对象Private Sub Command1_Click()
        Debug.Print ScriptControl1.Eval("3+5+8*(2*3)") 红色部分你自己的计算式
    End Sub
      

  5.   

    不愧是csdn啊,高手就是多!感谢worldy的解答!感谢大家的回复!