用COMMAND,TEXT,上面放上菜单,功能自己去写吧

解决方案 »

  1.   

    '要试用本例请在窗体上加两个按钮数组和一个文本框
    'cmdNumber用来显示数字,cmdOperation用来显示运算符号'这两个变量是用来标志前面一次是按了数字还是运算符'本例只是示意,其他细节请自行完善
    Private blnFlagNumber As Boolean
    Private blnFlagOperation As BooleanPrivate Sub cmdNumber_Click(Index As Integer)
        blnFlagNumber = True
        blnFlagOperation = False
        
        Text1.Text = Text1.Text & cmdNumber(Index).Caption
    End SubPrivate Sub cmdOperation_Click(Index As Integer)
        If blnFlagOperation Then
            '上次按了运算符号还没按数字就不处理
        Else
            blnFlagOperation = True
            blnFlagNumber = False
            '我在这里只是演示,如果要做计算器的话,在这个位置应该根据用户所按的运算符进行运算后,再将结果显示在文本框里
            Text1.Text = Text1.Text & cmdOperation(Index).Caption
        End If
    End Sub
    Private Sub Form_Load()
        blnFlagNumber = False
        blnFlagOperation = False
        
        Text1.Text = ""
    End Sub
      

  2.   

    Dim Num1, Num2 As Double
    Dim StrNum1, StrNum2 As String
    Dim FirstNum As Boolean         '判断是否是数字开头
    Dim PointFlag As Boolean
    Dim Runsign As Integer          '存储运算符号
    Dim SignFlag As Boolean         '判断是否已有运算符号
    Sub ClearData()
    Num1 = 0
    Num2 = 0
    StrNum1 = ""
    StrNum2 = ""
    FirstNum = True
    PointFlag = False
    Runsign = 0
    SignFlag = False
    Label1.Caption = Trim("0.")
    End Sub
    Sub Run()
    Num1 = Val(StrNum2)
    Num2 = Val(StrNum1)
    Select Case Runsign
        Case 1
            equal = Num1 + Num2
        Case 2
            equal = Num1 - Num2
        Case 3
            equal = Num1 * Num2
        Case 4
            If (Num2 = 0) Then
            Err = MsgBox("除数不能为0", vbOKOnly, "错误")
            equal = Num1
            Else
            equal = Num1 / Num2
            End If
    End Select
    If equal > 0 And equal <= 1 Then
    StrNum2 = Trim("0") + Trim(Str(equal))
    ElseIf equal < 0 And equal >= -1 Then
    equal = -equal
    StrNum2 = Trim("-0") + Trim(Str(equal))
    Else
    StrNum2 = Str(equal)
    End If
    StrNum1 = StrNum2
    Label1.Caption = StrNum2
    End SubPrivate Sub blue_Click()
    Form1.BackColor = &HC00000
    End SubPrivate Sub clear_Click()
    Call ClearData
    End SubPrivate Sub Command1_Click(Index As Integer)
    Select Case Index
        Case 0 To 9
            If FirstNum Then
                StrNum1 = Trim(Str(Index))
                FirstNum = False        Else
                StrNum1 = Trim(StrNum1) + Trim(Str(Index))
                If PointFlag Then
                End If
            End If
        Label1.Caption = StrNum1
        Case 10
            If Not PointFlag Then
                If FirstNum Then
                    StrNum1 = Trim("0.")
                    FirstNum = False
                Else
                    StrNum1 = StrNum1 + "."
                End If
            Else
                Exit Sub
            End If
            PointFlag = True
            Label1.Caption = Trim(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
            If Not SignFlag Then
            Label1.Caption = Trim(StrNum1)
            equal = Val(StrNum1)
            FirstNum = True
            PointFlag = False
            Else
            Call Run
            SignFlag = False
            FirstNum = True
            End If
        Case 16
            Call ClearData
        Case 17
            If Val(StrNum1) >= 1 Then
            StrNum1 = "-" + Trim(StrNum1)
            ElseIf Val(StrNum1) < 1 And Val(StrNum1) > 0 Then
            StrNum1 = "-0" + Trim(Str(Val(StrNum1)))
            ElseIf Val(StrNum1) < 0 And Val(StrNum1) > -1 Then
            StrNum1 = "0" + Trim(Str(-Val(StrNum1)))
            ElseIf Val(StrNum1) <= -1 Then
            StrNum1 = Str(-Val(StrNum1))
            Else
            Exit Sub
            End If
            Label1.Caption = StrNum1
    End Select
    End SubPrivate Sub dedfault_Click()
    Form1.BackColor = &H400000
    End SubPrivate Sub exit_Click()
    ext = MsgBox("确实想退出吗?", vbExclamation + vbYesNo, "退出")
    If ext = vbYes Then
    End
    End If
    End SubPrivate Sub Form_Load()
    Num1 = 0
    Num2 = 0
    StrNum1 = ""
    StrNum2 = ""
    FirstNum = True
    PointFlag = False
    Runsign = 0
    SignFlag = False
    End SubPrivate Sub green_Click()
    Form1.BackColor = &HC000&
    End SubPrivate Sub red_Click()
    Form1.BackColor = &HC0&
    End SubPrivate Sub this_Click()
    myexit = MsgBox("简易计算器", vbOKOnly, "关于")
    End Sub
    ---------------------------------
    回去自己看看吧,祝你考试过关。
      

  3.   

    即然有了“计机器”我们为什么不用现成的呢?
    uses shellexecute,this is API function
      

  4.   

    用shell 函数
    shell(这里填写计算器的文件全路径)
    就ok了