问题:如何对自定义的数学公式进行求值例子:例如,文本框中获取用户随意输入一个数学公式:(1+(2*((3-2)-4))/2,然后把该数学公式进行自动运算求值,结果存放到另一个文本框中。想了半天,觉得在VB中比较难实现,请教了朋友,朋友说VB中有一个自带控件可以进行这样的计算,但是他已经忘记了,在此恳求高手不舎指教,谢谢!

解决方案 »

  1.   

    Option Explicit
    Private Declare Function EbExecuteLine Lib "vba6.dll" (ByVal pStringToExec As Long, ByVal Unknownn1 As Long, ByVal Unknownn2 As Long, ByVal fCheckOnly As Long) As LongPrivate Function ExecuteLine(sCode As String, Optional fCheckOnly As Boolean) As Boolean
        ExecuteLine = EbExecuteLine(StrPtr(sCode), 0&, 0&, Abs(fCheckOnly)) = 0
    End Function
    Sub calc(ByVal x As String)
    Dim result
    ExecuteLine "dim x as double"
    ExecuteLine "x= " & x
    ExecuteLine "clipboard.settext x"
    result = Clipboard.GetText
    MsgBox x & "=" & result
    Set result = Nothing
    End SubPrivate Sub Command1_Click()
    calc Text1
    End SubPrivate Sub Form_Load()
    Text1.Text = "(1+(2*((3-2)-4)))/2"
    End Sub