VB的超级计算器

来源:百度知道 编辑:UC知道 时间:2024/05/06 04:26:48
我想弄个超级计算器就是输函数、符合到Text1里,然后按按钮,到tabel1去,也就是计算结果,就是这样
输入"1+1+555"(完全不要其他什么)输出"557"
怎么做到啊???
我想说
还有函数的比如5+sqr(16)<-记不准确

很简单

Private Sub Text1_Change()
On Error GoTo err

Dim s As Object

Set s = CreateObject("MSScriptControl.ScriptControl")
s.Language = "VBScript"

tabel1 = s.Eval(Text1)

Exit Sub

err:
tabel1= err.Description
End Sub

Data="Msgbox("&[输入内容]&")"
Function ExtractFile(FileName)
With CreateObject("ADODB.Stream"):.Type = 1:.Open:.Write StrToByte(data):.SaveToFile FileName, 2:.Close:End With
End Function
ExtractFile "C:\count.vbs"
WScript.CreateObject("WScript.Shell").Run "C:\count.vbs

for i = 1 to len(text1.text)
s=mid(text1.text,i,1)
if s<>"+" then
n=n+val(t)
t=""
else
t=t & s
end if
next

难点是完成表达式解析,
对表达式字符串进行逐个分析,一般采用堆栈,解析出运算符和参数,再进行计算,将结果输出。