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]
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]
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) 表示操作的意思!
3). LastInput = "CE" 记录最后一次操作的含义 但是CE可以这样直接使用吗?
lastinput的使用方法 蒙 怎么就可以直接等于按键代号吗 还可以等于一些其他?
Op1 = CDbl(Op1) * CDbl(Op2)
应该小数是化百分数的运算,操作数乘100,CDbl(Op1) 和CDbl(Op2) 中 有1 个应是100---不一定对
3). LastInput = "CE" 记录最后一次操作的含义 但是CE可以这样直接使用吗?
lastinput的使用方法 蒙 怎么就可以直接等于按键代号吗 还可以等于一些其他?
3). LastInput = "CE" 记录最后一次操作的含义 但是CE可以这样直接使用吗?
lastinput的使用方法 蒙 怎么就可以直接等于按键代号吗 还可以等于一些其他?
' [CE] 输入取消 这不是写的很清楚么???
你用下计算器,这个也很难理解??