哪个朋友可以用VB做出只有1个文本框1个按钮的计算器,文本框内输入+,-,*,/,和()的运算,点按钮结果显示在文本框上,会的朋友教下--感激不尽

解决方案 »

  1.   

    可以调用excel实现'-----------------------------------
    Function result(ByVal x As String)
      Dim myobj As Object
      Set myobj = CreateObject("excel.sheet")
      Set myobj = myobj.Application.ActiveWorkbook.ActiveSheet
      myobj.Range("a1").Formula = "= " & x
      result = myobj.Range("a1").Value
      If Err.Number > 0 Then MsgBox Err.Description
      Set myobj = Nothing
    End Function
    Private Sub Command1_Click()
      Dim x As String
      x = Text1.Text
      Text2 = result(x)
    End Sub
    Private Sub Form_Load()
      Text1.Text = "312*9345"
    End Sub'在excel20003+vb+winxp下成功
      

  2.   

    可以考虑用Microsoft Script Control
      

  3.   

    '添加 Text1Private Sub Text1_KeyPress(KeyAscii As Integer)
     If KeyAscii = 13 Then Call calc(Text1)
    End SubSub calc(tmpstr As String)
       Set sc = CreateObject("ScriptControl")
       sc.Language = "VBScript"
       Text1.Text = sc.Eval(tmpstr)
       Set sc = Nothing
    End Sub
      

  4.   

    用ScriptControl非常简单,不过如果真要用,还是用专业的数学软件的好。
      

  5.   

    在不使用Microsoft Script Control的情况下也自己用栈的算法编程实现,不难的。
      

  6.   

    晕倒, 为何一个问题为何老是要发N个帖 ?...................VbScript 你不喜欢, 下面这个你再不能接受的话, 我想你只有去找 彼尔 啦......... 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 Long Private Sub Command1_Click() 
       ExecuteLine "RtnVal = " & Text1.Text 
       ExecuteLine "clipboard.settext RtnVal" 
       Text1.Text = Clipboard.GetText 
    End Sub Public Function ExecuteLine(sCode As String, Optional fCheckOnly As Boolean) As Boolean 
       ExecuteLine = EbExecuteLine(StrPtr(sCode), 0&, 0&, fCheckOnly) = 0 
    End Function 
      

  7.   

    这个都差不多的,只要将里面的操作符和操作数以字符串方式分离后就都一样了。
    推荐一个示例程序,可以直接用,还有源代码,LZ一定试下。
    http://download.csdn.net/detail/txzsp/3781512