VB计算器的加减乘除如何编写的

要像WINDOWS自带的那个一样,只有一个文本框的

Private Sub Command1_Click()

n = Val(Text1.Text)

m = Val(Text2.Text)

Label1.Caption = Command1.Caption

s = n + m

Text3.Text = CStr(s)

End Sub

Private Sub Command2_Click()

n = Val(Text1.Text)

m = Val(Text2.Text)

Label1.Caption = Command2.Caption

s = n - m

Text3.Text = CStr(s)

End Sub

Private Sub Command3_Click()

n = Val(Text1.Text)

m = Val(Text2.Text)

Label1.Caption = Command3.Caption

s = n * m

Text3.Text = CStr(s)

End Sub

Private Sub Command4_Click()

n = Val(Text1.Text)

m = Val(Text2.Text)

Label1.Caption = Command4.Caption

s = n / m

Text3.Text = CStr(s)

End Sub

追问

不是这种,就是像WINDOWS自带的那个计算器一样只有一个文本框的

追答

Dim n As Integer
Dim ysf As String
Dim m As Integer
Dim k As Integer
Private Sub Command1_Click(Index As Integer)
For i = 0 To 3
If Command1(i).Value = True Then
ysf = Command1(i).Caption
Text1.Text = ""
k = k + 1
End If
Next i
End Sub

Private Sub Command2_Click()
If ysf = "+" Then
s = n + m
ElseIf ysf = "-" Then
s = n - m
ElseIf ysf = "*" Then
s = n * m
ElseIf ysf = "/" Then
s = n / m
End If
Text1.Text = CStr(s)
End Sub

Private Sub Command3_Click(Index As Integer)
For i = 0 To 9
If Command3(i).Value = True Then
Text1.Text = Text1.Text & Command3(i).Caption
End If
Next i
If k = 0 Then
n = Val(Text1.Text)
Else
m = Val(Text1.Text)
End If
End Sub

Private Sub Command4_Click()
Text1.Text = ""
k = 0
End Sub
我是将数字键0-9编写在command3控件数组中,+、-、*、/编写在command1控件数组中,=号编写在command2中,“清除”写在command4中

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-08-31
第2个回答  2011-08-31
用+、-、*、/、\(整除)
第3个回答  2011-08-31
简单的加减乘除计时器的思路:
两个变量保存第一操作数和第二操作数,另一个变量保存运算符号。比如:
dim opt1 as single, opt2 as single
dim strSign as string
用一个文本框作为输入面板,在用户输入数字并按加/减/乘/除后保存面板数值到opt1,保存运算符号到strSign,接下来的输入显示之前将清空面板,按等号后将当前面板的数值保存到opt2,并调用运算过程Calculate,面板显示运算结果;并将结果保存到opt1中。
过程 Calculat(varOpt1,varOpt2,varSign) 根据参数传入的两个操作数和运算符号计算并返回结果。
第4个回答  2011-08-31
像自带的那个直接输入很麻烦,用鼠标点按钮的简单。
第5个回答  2011-08-31
今天我也在想这个问题,给你提供一些思路吧,数字用按钮来做。按钮里添加click事件里把按钮对应的数字的值传给一个变量,然后按加减乘除的按钮时先前的变量来操作。

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网