Sub ChartoVal
NN=0
MM=0
VL=""
Mark="+-*/"
Len= Text.GetLength(cal)
For i=1 To Len
V= Text.GetSubText(cal,i,1)
If Text.IsSubText(Mark,V)="False" And V<>" " Then
Vl=text.Append(Vl,V)
ElseIf Text.IsSubText(Mark,V)="True" then
NN=NN+1
Val[NN]=VL
VL=""
MM=MM+1
Function[MM]=V
endif
EndFor
NN=NN+1
Val[NN]=VL ' last value
EndSub
Sub Multidevide
For k=1 To MM
If Function[k]="/" Then
res=Val[K]/Val[K+1] ' A / B
Val[K+1]=res
Val[K]=""
Function[k]=""
ElseIf Function[k]="*" Then
res=Val[K]*Val[K+1] ' C*D
Val[K+1]=res
Val[K]=""
Function[k]=""
endif
EndFor
endsub
Sub TWresult
NewCal=""
For L=1 To NN
Newcal=Newcal+Val[L]+Function[L]
EndFor
endsub
Sub Plusminus
Len= Text.GetLength(Newcal)
NN=0
MM=0
VL=""
For i=1 To Len
V= Text.GetSubText(Newcal,i,1)
If Text.IsSubText("+-",V)="False" Then
Vl=text.Append(Vl,V)
ElseIf Text.IsSubText("+-",V)="True" then
NN=NN+1
NewVal[NN]=VL ' if start mark is "-" then NewVal[1]="" , NewFunction[1]="-"
VL=""
MM=MM+1
NewFunction[MM]=V
endif
EndFor
NN=NN+1
NewVal[NN]=VL ' last value
'----------------------------------------------------------------------------------------
res=0
NewFunction[0]="+" ' if start function is NULL
For j=MM To 0 Step -1
If NewFunction[j]="+" Then
res=res+newval[j+1]
ElseIf NewFunction[j]="-" Then
res=res-newval[j+1]
EndIf
EndFor
EndSub