1个回答
展开全部
用vb6.0 设置1个Label,16个CommandButton,加减乘除设置为一个控件数组Command1,=设置为一个控件数组Command2,0~9到小数点设置成一个控件数组Command3,各自的Index属性值与对应的数值相同,小数点为10,标签的Caption设为空,16个CommandButton按照界面属性设置Caption 代码是: Dim s(1) As String '存放二个操作数 Dim op, k As Integer 'op存放操作符对应索引值,k对应操作数下标 Dim b As Boolean '控制显示标签的标题的初值是否为空 '上述变量均为窗体级变量,可以被以下各个过程使用 Private Sub Command1_Click(Index As Integer) '点击运算符 k = 1 '准备存放每二个操作数 op = Index '确定按了哪个运算符 Command2.Enabled = True '=按钮有效 b = True '标签中准备显示另一操作数 End Sub Private Sub Command2_Click() '按了=按钮后执行的代码 Select Case op '将数字串转换成单精度数据后进行计算 Case 0: Label1.Caption = Str(CSng(s(0)) + CSng(s(1))) Case 1: Label1.Caption = Str(CSng(s(0)) - CSng(s(1))) Case 2: Label1.Caption = Str(CSng(s(0)) * CSng(s(1))) Case 3: Label1.Caption = Str(CSng(s(0)) / CSng(s(1))) End Select s(0) = "": s(1) = "" b = True '标签中准备显示运算结果 k = 0 '操作数又从头开始 For i = 0 To 3 Command1(i).Enabled = False '各运算符按钮变灰 Next i Command2.Enabled = False '=按钮变灰 End Sub Private Sub Command3_Click(Index As Integer) '按了数字按钮和小数点按钮执行的代码 For i = 0 To 3 '运算符按钮有效 Command1(i).Enabled = True Next i If b Then Label1.Caption = "" '表示是另一操作数 If Index = 10 Then '若是小数点 Label1.Caption = Label1.Caption + "." Else Label1.Caption = Label1.Caption + Chr(48 + Index) End If s(k) = Label1.Caption '存放操作数 b = False '同一个操作数 End Sub Private Sub Form_Load() For i = 0 To 3 '初始时运算符按钮灰色 Command1(i).Enabled = False Next i Command2.Enabled = False '初始时=按钮灰色 s(0) = "" s(1) = "" k = 0 End Sub
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询