+ -
当前位置:首页 → 问答吧 → [VB]2008如何制作一个小算盘

[VB]2008如何制作一个小算盘

时间:2009-02-20

来源:互联网

我是一个VB的初学者
基本上我可以说什么都不会
所以我想说从基本的小算盘做起

目前我已经用了

1个Textbox1的视窗一个
数字钮0~9各1个
加减乘除 等於 backspace 重新   的按钮各1个

我要的功能这些 其实对高手来说应该很简单
但是对我来说很难 因为vb2008的书上教学是用2个textbox物件
写出textbox.text = val(xxxxxxx) + val(xxxxxxx)
但是我要的是集中在一个textbox物件里

可以的话请大大交我

作者: Z33300033   发布时间: 2009-02-20

从最简单开始做起,方法太多了,

先将按钮功能做完,在尝试做键盘输入,

建议运算部分要写成函数(Function),

有些课本都会只写在Button or TextBox,

事实上,在事件中是撰写内容固定,且不易改变的程式码,

所以要做到小算盘这样,一定要写函数,这样修改程式码也比较好,

例如他一值+的话,可以不用按=,即可一值输入数字按+,

所以你单纯不写函数或副程式,会演变成要用回圈在跑。


以上建议,请看书慢慢学,一步登天 有害健康。

作者: js155036   发布时间: 2009-02-21

喔当然可以一步登天很好,
不过从来没有人成功过,除非你有萝莉的傲骄...(离题了

你就用计算机的思考去想:
我收到这个键应该做些什么?
我是不是该多个变数来存?
是不是该多个判断?

再把想法程式化就解决了。

作者: x33007   发布时间: 2009-02-21

Public Class Form1
    Dim a, b As Single
    Dim op As Integer
    Dim coma As Integer

    Private Sub Button13_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button13.Click
        a = Label1.Text
        op = 1
        Label1.Text = ""
    End Sub
    Private Sub Button14_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button14.Click
        a = Label1.Text
        op = 2
        Label1.Text = ""
    End Sub
    Private Sub Button15_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button15.Click
        a = Label1.Text
        op = 3
        Label1.Text = ""
    End Sub
    Private Sub Button16_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button16.Click
        a = Label1.Text
        op = 4
        Label1.Text = ""
    End Sub
    Private Sub Button12_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button12.Click
        b = Label1.Text
        Select Case op
            Case 1
                Label1.Text = a + b
            Case 2
                Label1.Text = a - b
            Case 3
                Label1.Text = a * b
            Case 4
                If b <> 0 And a <> 0 Then
                    Label1.Text = a / b
                Else
                    Label1.Text = "ERROR"
                End If
        End Select
    End Sub
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        coma = 0
    End Sub
    Private Sub Button11_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button11.Click
        If coma = 0 Then
            Label1.Text = Label1.Text & ","
            coma = 1
        End If
    End Sub
    Private Sub Button10_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button10.Click
        Label1.Text = Label1.Text & "0"
    End Sub
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Label1.Text = Label1.Text & "1"
    End Sub
    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        Label1.Text = Label1.Text & "2"
    End Sub
    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
        Label1.Text = Label1.Text & "3"
    End Sub
    Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
        Label1.Text = Label1.Text & "4"
    End Sub
    Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
        Label1.Text = Label1.Text & "5"
    End Sub
    Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click
        Label1.Text = Label1.Text & "6"
    End Sub
    Private Sub Button7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button7.Click
        Label1.Text = Label1.Text & "7"
    End Sub
    Private Sub Button8_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button8.Click
        Label1.Text = Label1.Text & "8"
    End Sub
    Private Sub Button9_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button9.Click
        Label1.Text = Label1.Text & "9"
    End Sub
    Private Sub Button18_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button18.Click
        End
    End Sub
    Private Sub Button17_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button17.Click
        Label1.Text = ""
        a = 0
        b = 0
    End Sub
End Class

作者: liang3272   发布时间: 2009-03-25

提供你参考一下 简洁有力的做法

Dim op1
Dim op2
Dim numsw As Integer
Dim preop As Integer
Dim numok As Integer
Private Sub cmdnum_Click(Index As Integer)
   
    num = Index
    If numok = 1 Then
        lblshow.Caption = "0"
        numok = 0
    End If
    If lblshow.Caption = "0" Then
        lblshow.Caption = Str(num)
    Else
        lblshow.Caption = lblshow.Caption + Str(num)
    End If
End Sub

Private Sub cmdop_Click(Index As Integer)
    numsw = numsw + 1
    If numsw = 1 Then
        op1 = lblshow.Caption
    Else
        op2 = lblshow.Caption
        Select Case preop
            Case 0
             op1 = Val(op1) + Val(op2)
            Case 1
             op1 = Val(op1) - Val(op2)
            Case 2
             op1 = Val(op1) * Val(op2)
            Case 3
             If Val(op2) = 0 Then
                Print " 除数不可为 0"
             Else
                op1 = Val(op1) / Val(op2)
             End If
        End Select
        lblshow.Caption = op1
        
        numsw = 1
    End If
    preop = Index
    numok = 1
End Sub

Private Sub Command17_Click()
    op1 = lblshow.Caption
        op1 = 1 / Val(op1)
    lblshow.Caption = op1
End Sub

Private Sub Command9_Click()
    lblshow.Caption = -Val(lblshow.Caption)
End Sub

Private Sub Form_Load()
    numsw = 0
End Sub

Private Sub mnus_Click()
    Hide
    Form2.Show Style = 1
End Sub
Private Sub mnuc_Click()
    Hide
    Form3.Show Style = 1
End Sub

作者: 小小亮   发布时间: 2011-09-26

热门下载

更多