很简单的四则运算 就是加减乘除 自己看数看了两个星期 还是蒙 也做不出来
Option Explicit  Dim y(1 To 30000)   As Long    
 Dim Z As Long
  
Private Sub Command14_Click()
    keika.Text = 0
End SubPrivate Sub bt1_Click()
    If keika.Text = 0 Then
    keika.Text = 1
    Else
    
    keika.Text = keika.Text * 10 + 1
    End If
    
    
End SubPrivate Sub bt2_Click()
   If keika.Text = 0 Then
    keika.Text = 2
    Else
    
    keika.Text = keika.Text * 10 + 2
    End If
End SubPrivate Sub bt3_Click()
    If keika.Text = 0 Then
    keika.Text = 3
    Else
    
    keika.Text = keika.Text * 10 + 3
    End If
    
End SubPrivate Sub bt4_Click()
     If keika.Text = 0 Then
    keika.Text = 4
    Else
    
    keika.Text = keika.Text * 10 + 4
    End If
    
End SubPrivate Sub bt5_Click()
      If keika.Text = 0 Then
    keika.Text = 5
    Else
    
    keika.Text = keika.Text * 10 + 5
    End If
    
End SubPrivate Sub bt6_Click()
     If keika.Text = 0 Then
    keika.Text = 6
    Else
    
    keika.Text = keika.Text * 10 + 6
    End If
    
End SubPrivate Sub bt7_Click()
     If keika.Text = 0 Then
    keika.Text = 7
    Else
    
    keika.Text = keika.Text * 10 + 7
    End If
    
End SubPrivate Sub bt8_Click()
      If keika.Text = 0 Then
    keika.Text = 8
    Else
    
    keika.Text = keika.Text * 10 + 8
    End If
    
End SubPrivate Sub bt9_Click()
      If keika.Text = 0 Then
    keika.Text = 9
    Else
    
    keika.Text = keika.Text * 10 + 9
    End If
    
End SubPrivate Sub c_Click()
     keika.Text = 0
End SubPrivate Sub Form_Load()
     keika.Text = 0
     
End SubPrivate Sub plus_Click()
    Dim x As Long
    If keika.Text = 0 Then
    keika.Text = x
    Else
    x = x + y
    End If
    keika.Text = 0
    Z = 1
         
End SubPrivate Sub suu_Click()
     Dim x As Long
  
   x = keika.Text
    
    Select Case Z
        Case 1
           
           
       keika.Text = x + y
          '后出的数字 +以前的数字
           
        Case 2
           keika.Text = x * y
           '后出的数字 *以前的数字
    End Select
     
        
        \\
    
      
      
      
End Sub
这个只是部分 就只有加法部分 这部分也算不除1加1的得数 哪地方错了  这个就是最基本 有个加得数

解决方案 »

  1.   

    没看懂你后面的Private Sub plus_Click() 和Private Sub suu_Click() 的具体意思,可以解释一下要实现什么功能么?
      

  2.   

    Private Sub plus_Click() 这句是点击加号时候
    Private Sub suu_Click()   这句是点击等号时候我这个就先算加法都不行呢 
      

  3.   

    Private Sub Command1_Click()
        If keika.Text = 0 Then
        keika.Text = 1
        Else
        
        keika.Text = keika.Text * 10 + 1
        End If
    End SubPrivate Sub Form_Load()
    keika.Text = 0
    End Sub单击一次为1,单击第二次为11,单击第三次为111......
      

  4.   

    按这个代码试试看吧,,
    Dim a As Double
    Dim b As Double
    Dim flag As String
    Dim Result As Double
    Private Sub Command1_Click()
    Text1.Text = Text1.Text * 10 + 1
    End SubPrivate Sub Command10_Click()
    a = Text1.Text
    flag = "+"
    Text1.Text = 0End SubPrivate Sub Command11_Click()
    a = Text1.Text
    flag = "-"
    Text1.Text = 0
    End SubPrivate Sub Command12_Click()
    a = Text1.Text
    flag = "*"
    Text1.Text = 0
    End SubPrivate Sub Command13_Click()
    a = Text1.Text
    flag = "/"
    Text1.Text = 0
    End SubPrivate Sub Command15_Click()
    b = Text1.Text
    Select Case flag
     Case "+":
     Result = a + b
     Case "-":
     Result = a - b
     Case "*":
     Result = a * b
     Case "/":
     Result = a / b
     End Select
    Text1.Text = CStr(Result)
    End SubPrivate Sub Command2_Click()
    Text1.Text = Text1.Text * 10 + 2
    End SubPrivate Sub Command3_Click()
    Text1.Text = Text1.Text * 10 + 2
    End SubPrivate Sub Command4_Click()
    Text1.Text = Text1.Text * 10 + 4
    End SubPrivate Sub Command5_Click()
    Text1.Text = Text1.Text * 10 + 5
    End SubPrivate Sub Command6_Click()
    Text1.Text = Text1.Text * 10 + 6
    End SubPrivate Sub Command7_Click()
    Text1.Text = Text1.Text * 10 + 7
    End SubPrivate Sub Command8_Click()
    Text1.Text = Text1.Text * 10 + 8
    End SubPrivate Sub Command9_Click()
    Text1.Text = Text1.Text * 10 + 9
    End Sub
    Private Sub Command14_Click()
    Text1.Text = 0
    End SubPrivate Sub Form_Load()
    Text1.Text = 0
    End Sub
      

  5.   


        keika.Text = keika.Text * 10 + 1这之类的都val转换
        keika.Text = trim(str(val(keika.Text) * 10 + 1))标准写法。。呵呵
      

  6.   

    恩  有结果了 至少现在最初的运算出现了 我还得改进很多呢  比如按完1后按加号的时候 text框就会出现0  谢谢 
      

  7.   

    介绍一个更好的写法建立14个按钮,按钮的名字都要Command1,设置Index属性,0~9分别对应数字0~9,10为小数点,11为等号,12~14分别对应+、-、*和/。 Dim Num1, Num2 As Single
        Dim StrNum1, StrNum2 As String
        Dim FirstNum As Boolean
        Dim PointFlag As Boolean
        Dim Runsign As Integer
        Dim SignFlag As BooleanPrivate Sub Cancel_Click()
    ClearData
    End Sub    Private Sub Command1_Click(Index As Integer)
        Select Case Index
         Case 0 To 9
         If FirstNum Then
         StrNum1 = Str(Index)
         FirstNum = False
         Else
         StrNum1 = LTrim(StrNum1) + LTrim(Str(Index))
         End If
         Text1.Text = Val(StrNum1)
         Case 10
         If Not PointFlag Then
         If FirstNum Then
         StrNum1 = "0."
         FirstNum = False
         Else
         StrNum1 = LTrim(StrNum1) + LTrim(".")
         End If
         Else
         Exit Sub
         End If
         PointFlag = True
         Text1.Text = Val(StrNum1)
         Case 12 To 15
         FirstNum = True
         PointFlag = False
         If SignFlag Then
         Call Run
         Else
         SignFlag = True
         StrNum2 = StrNum1
         StrNum1 = ""
         End If
         Runsign = Index - 11
         Case 11
         On Error Resume Next
         If Not SignFlag Then
         Text1.Text = StrNum1
         equal = Val(StrNum1)
         FirstNum = True
         PointFlag = False
         Else
         Call Run
         SignFlag = False
         End If
         Case Else
         Call ClearData
        End Select
        End SubPrivate Sub Command2_Click()
        Text1.Text = 0
        Num1 = 0
        Num2 = 0
        StrNum1 = ""
        StrNum2 = ""
        FirstNum = True
        PointFlag = False
        Runsign = 0
        SignFlag = False
    End Sub    Private Sub Form_Load()
        If App.PrevInstance Then MsgBox "请不要多次运行此程序,谢谢!", vbAbortRetryIgnore: Unload Me
        Num1 = 0
        Num2 = 0
        StrNum1 = ""
        StrNum2 = ""
        FirstNum = True
        PointFlag = False
        Runsign = 0
        SignFlag = False
        End Sub
        Sub Run()
         On Error Resume Next
         Dim equal As Single
         Dim equal2 As Double
         Num1 = Val(StrNum2)
         Num2 = Val(StrNum1)
         Select Case Runsign
         Case 1
         equal = Num1 + Num2
         If Num1 >= 65536 Or Num2 >= 65536 Or equal >= 65536 Then
         equal = 0
         equal2 = Num1 + Num2
         End If
         Case 2
         equal = Num1 - Num2
         If Num1 >= 65536 Or Num2 >= 65536 Or equal >= 65536 Then
         equal = 0
         equal2 = Num1 - Num2
         End If
         Case 3
         equal = Num1 * Num2
         If Num1 >= 65536 Or Num2 >= 65536 Or equal >= 65536 Then
         equal = 0
         equal2 = Num1 * Num2
         End If
         Case 4
         equal = Num1 / Num2
         If Num1 >= 65536 Or Num2 >= 65536 Or equal >= 65536 Then
         equal = 0
         equal2 = Num1 / Num2
         End If
         End Select
         If equal = 0 Then a = equal2 Else a = equal
         StrNum2 = Str(a)
         StrNum1 = StrNum2
         Text1.Text = Val(StrNum2)
        End Sub
        Sub ClearData()
         Num1 = 0
         Num2 = 0
         StrNum1 = ""
         StrNum2 = ""
         FirstNum = True
         PointFlag = False
         Runsign = 0
         SignFlag = False
         Text1.Text = 0
        End Sub