Option Explicit
Dim Op1, Op2                ' 即将要输入的数字
Dim DecimalFlag As Integer  ' 小数点有无
Dim NumOps As Integer       ' 运算的数
Dim LastInput               ' 即将输入符号的种类
Dim OpFlag                  ' 保留运算
Dim TempReadout' [C] ' 表示取消,变数初期化
Private Sub Cancel_Click()
    Readout = Format(0, "0.")
    Op1 = 0
    Op2 = 0
    Form_Load
End Sub' [CE] 输入取消                                    (1)这个ce键有什么用呢?
Private Sub CancelEntry_Click()
    Readout = Format(0, "0.")                 (2)括号里这么写的意义?
    DecimalFlag = False
    LastInput = "CE"                        [color=#FF0000 ]  (3)这句话有意义吗,ce可以这么使用??[/color]End Sub' [.] 按小数点时
' 即将输入演算符、表示 "0." 初期化
' 即将输入的是演算符以外、表示追加小数点。
Private Sub Decimal_Click()
    If LastInput = "NEG" Then                        (4)neg代表的是负数吗?这个neg以及nums是什么???        
    Readout = Format(0, "-0.")
    ElseIf LastInput <> "NUMS" Then
        Readout = Format(0, "0.")
    End If
    DecimalFlag = True
    LastInput = "NUMS"
End Sub' form初期化程序
'所有变数都初期化
Private Sub Form_Load()
    DecimalFlag = False
    NumOps = 0
    LastInput = "NONE"                              (5)这个语句里lastinput等于
                                                                                      的都是固定的吗?
    OpFlag = " "
    Readout = Format(0, "0.")
    'Decimal.Caption = Format(0, ".")
End Sub' 按键数值0到9
' 表示追加新数字。
Private Sub Number_Click(Index As Integer)
    If LastInput <> "NUMS" Then
        Readout = Format(0, ".")
        DecimalFlag = False
    End If
    If DecimalFlag Then                                   
        Readout = Readout + Number(Index).Caption
    Else
        Readout = Left(Readout, InStr(Readout, Format(0, ".")) - 1) + Number(Index).Caption + Format(0, ".")                                                     (6)这么长给解释一下呗 嘿嘿???    End If
    If LastInput = "NEG" Then Readout = "-" & Readout
    LastInput = "NUMS"
End Sub' 按键演算符(+,-,*,/)
' 即将输入数字、增加NumOps 
' 只有一个运算数的时候、设定Op1
 ' 有两个运算数的时候、Op1 与现在的演算结果
' Op1 作为设定表示
Private Sub Operator_Click(Index As Integer)
    TempReadout = Readout
    If LastInput = "NUMS" Then
        NumOps = NumOps + 1                                    (7)这句话不明白 啥意思呢?    End If
    Select Case NumOps
        Case 0
        If Operator(Index).Caption = "-" And LastInput <> "NEG" Then
            Readout = "-" & Readout
            LastInput = "NEG"
        End If
        Case 1
        Op1 = Readout
        If Operator(Index).Caption = "-" And LastInput <> "NUMS" And OpFlag <> "=" Then
            Readout = "-"
            LastInput = "NEG"
        End If
        Case 2
        Op2 = TempReadout
        Select Case OpFlag
            Case "+"                                     (8)case"+"这么写就代表选择运算符是+号吗?                
            Op1 = CDbl(Op1) + CDbl(Op2)
            Case "-"
                Op1 = CDbl(Op1) - CDbl(Op2)
            Case "X"
                Op1 = CDbl(Op1) * CDbl(Op2)
            Case "/"
                If Op2 = 0 Then
                   MsgBox "ゼロでは除算できません。", 48, "電卓"
                Else
                   Op1 = CDbl(Op1) / CDbl(Op2)
                End If
            Case "="
                Op1 = CDbl(Op2)
            Case "%"
                Op1 = CDbl(Op1) * CDbl(Op2)       (9)这个时候不是要乘上0、01吗?cdbl(op2)在哪体现0.01了?            
        End Select
        Readout = Op1
        NumOps = 1
    End Select
    If LastInput <> "NEG" Then
        LastInput = "OPS"                          (10)ops又是什么呢??        OpFlag = Operator(Index).Caption
    End If
End Sub' 输入%号的时候
' 计算最初运算数的百分数
Private Sub Percent_Click()
    Readout = Readout / 100
    LastInput = "Ops"
    OpFlag = "%"
    NumOps = NumOps + 1
    DecimalFlag = True
End Sub
[size=11px]谢谢了 能告诉我就个答案就告诉几个呗 我刚学 看什么都是问题 这些从msdn也搜索不到[/size]

解决方案 »

  1.   

    1). [CE]类似 计算器中的 取消
    2). Format(0, "0.")是将 0 按照 “0."格式化
    3). LastInput = "CE" 记录最后一次操作的含义
    4). neg是操作为:取反。nums是操作为:输入数值
    5). 将lastinput付初值 为“NONE” 
    6). Left(Readout, InStr(Readout, Format(0, ".")) - 1) 取得小数点左侧的数据7). NumOps = NumOps + 1 是统计操作数的个数
    8). "+"代表选择运算符是+号
    9). 不知道
    10) 表示操作的意思!
      

  2.   

    1). [CE]类似 计算器中的 取消   知道取消的意思 这个健与c有什么差别吗?
    3). LastInput = "CE" 记录最后一次操作的含义   但是CE可以这样直接使用吗?
         lastinput的使用方法 蒙 怎么就可以直接等于按键代号吗 还可以等于一些其他?
      

  3.   

    Case "%" 
      Op1 = CDbl(Op1) * CDbl(Op2)   
    应该小数是化百分数的运算,操作数乘100,CDbl(Op1) 和CDbl(Op2) 中 有1 个应是100---不一定对
      

  4.   

    1). [CE]类似 计算器中的 取消   知道取消的意思 这个健与c有什么差别吗?
    3). LastInput = "CE" 记录最后一次操作的含义   但是CE可以这样直接使用吗?
         lastinput的使用方法 蒙 怎么就可以直接等于按键代号吗 还可以等于一些其他?
      

  5.   

    1). [CE]类似 计算器中的 取消   知道取消的意思 这个健与c有什么差别吗?
    3). LastInput = "CE" 记录最后一次操作的含义   但是CE可以这样直接使用吗?
         lastinput的使用方法 蒙 怎么就可以直接等于按键代号吗 还可以等于一些其他?
      

  6.   

    ' [C] ' 表示取消,变数初期化 
    ' [CE] 输入取消  这不是写的很清楚么???
    你用下计算器,这个也很难理解??