在VB中如何实现混合运算

来源:百度知道 编辑:UC知道 时间:2024/05/13 15:12:28
在文本框中输入算式,让它自动计算并得出结果。
详细点好吗

VB代码,输入表达式,返回数值,如果出错(表达式有问题),保存在ERRORIF中
Public Function GetValue(ByVal Expression As String) As Single
Dim IsUnary As Boolean, NextUnary As Boolean
Dim PaNum As Integer 'Number of Brackets
Dim Pos As Integer
Dim LenExpr As Integer
Dim MyStr As String, LeftExpr As String, RightExpr As String
Dim Value As String
Dim MyPos As Integer, MyPrec As Integer
Dim LeftStr As String, RightStr As String
Dim StdSng As Single, SngR As Single
Const StrNote As String = "+-*/%^\"

Expression = Trim$(Expression)
LenExpr = Len(Expression)

If LenExpr = 0 Then Exit Function
IsUnary = True: MyPrec = 11
For Pos = 1 To LenExpr
MyStr = Mid$(Expression, Pos, 1)
NextUnary = False
If MyStr = " " Then NextUnary = IsUnary
If Asc(MyStr) = 40 Then PaNum = PaNum + 1: NextUnary = True

If Asc(MyStr) = 41 Then
PaNum = PaNum - 1
NextUnary = True<