FormulaParserLib start page


FormulaParserLib usage in VisualBasic

To use the functions exported from the FormulaParserLib.dll you must declare the functions.
You may do it in this way:
Declare Function FormulaParserLib_SetFormula Lib "FormulaParserLib.dll" (ByVal formula$) As Long
Declare Function FormulaParserLib_IsValid Lib "FormulaParserLib.dll" (ByVal formula$) As Long
Declare Function FormulaParserLib_Parse Lib "FormulaParserLib.dll" () As Long
Declare Function FormulaParserLib_GetStatementNumber Lib "FormulaParserLib.dll" (ByRef num As Long) As Long
Declare Function FormulaParserLib_GetStatement Lib "FormulaParserLib.dll" _
	(ByVal num As Long, ByVal arg1$, ByVal arg2$, ByVal oper$, ByVal funct$, ByVal res$) As Long
Description of functions see here: FormulaParserLib function reference

Then, after the declaration you may use the functions.
For example:
Private Sub butParse_Click()
    If (FormulaParserLib_SetFormula("a+b+c-d) <> 1) Then
        MsgBox "Error during SetFormula", , "Error"
        Exit Sub
    End If
    
    If (FormulaParserLib_IsValid("") <> 1) Then
        MsgBox "Error during Validate", , "Error"
        Exit Sub
    End If
    
    If (FormulaParserLib_Parse <> 1) Then
        MsgBox "Error during Parse", , "Error"
        Exit Sub
    End If
    
    Dim arg1$, arg2$, oper$, funct$, res$, num&, i&
    'Dim arg1 As String*1000,arg2 As String*1000,oper As String*1000,funct As String*1000,res As String*1000,num&,i&
    If (FormulaParserLib_GetStatementNumber(num) <> 1) Then
        MsgBox "Error during GetStatementNumber", , "Error"
        Exit Sub
    End If
    
    Dim out_str$
    out_str = ""
    For i = 0 To num - 1
        arg1 = Space(1000)
        arg2 = Space(1000)
        oper = Space(1000)
        funct = Space(1000)
        res = Space(1000)
        If (FormulaParserLib_GetStatement(i, arg1, arg2, oper, funct, res) <> 1) Then
            MsgBox "Error during GetStatement", , "Error"
            Exit Sub
        End If
        
        arg1 = Left(arg1, Len(RTrim(arg1)) - 1)
        arg2 = Left(arg2, Len(RTrim(arg2)) - 1)
        oper = Left(oper, Len(RTrim(oper)) - 1)
        funct = Left(funct, Len(RTrim(funct)) - 1)
        res = Left(res, Len(RTrim(res)) - 1)
        
        If (Len(oper) > 0 And Len(arg1) > 0 And Len(arg2) > 0 And Len(res) > 0) Then
            out_str = out_str + res + "=" + arg1 + oper + arg2 + Chr(10) + Chr(13)
        ElseIf (Len(funct) > 0 And Len(arg1) > 0 And Len(res) > 0) Then
            out_str = out_str + res + "=" + funct + "(" + arg1 + ")" + Chr(10) + Chr(13)
        ElseIf (Len(arg1) > 0 And Len(res) > 0) Then
            out_str = out_str + res + "=" + arg1 + Chr(10) + Chr(13)
        Else
            MsgBox "Error in received statement", , "Error"
            Exit Sub
        End If
    Next
    MsgBox out_str
End Sub
FormulaParserLib usage in C/C++
www.maxdz.com
Rambler's Top100