VB程序学习代码记录20160718

计算面积 子过程

Private Sub Command1_Click()
    area Text1.Text, Text2.Text
End Sub

Private Sub area(length, width)
    Label1.Caption = length * width
End Sub

按值传递参数

Private Sub test(ByVal a As Integer, ByVal b As Integer)
    a = a + 20: b = b + 10
    Print "a=" & a, "b=" & b
End Sub
Private Sub command1_click()
    Dim num1 As Integer, num2 As Integer
    num1 = 10: num2 = 10
    Print "num1=" & num2, "num2=" & num2
    Call test(num1, num2)
    Print "num1=" & num1, "num2=" & num2
End Sub

按地址传递参数

Private Sub test(a As Integer,b As Integer)
    a = a + 20: b = b + 10
    Print "a=" & a, "b=" & b
End Sub
Private Sub command1_click()
    Dim num1 As Integer, num2 As Integer
    num1 = 10: num2 = 10
    Print "num1=" & num2, "num2=" & num2
    Call test(num1, num2)
    Print "num1=" & num1, "num2=" & num2
End Sub

数组参数

Private Function average(age() As Integer, n As Integer) As Integer
    Dim i As Integer, aver As Integer, sum As Integer
    For i = 0 To n - 1
        sum = sum + age(i)
    Next i
    aver = sum / n
    average = aver
End Function
Private Sub command1_click()
    Dim employees() As Integer
    ReDim employees(6)
    For i = 0 To 5
        employees(i) = InputBox("请输入第" & CStr(i + 1) & "个员工年龄.", , "输入")
        Text1 = Text1.Text & "第" & CStr(i + 1) & "个员工年龄为:" & employees(i) & Chr(13)
    Next i
    Text2 = average(employees, 6)
End Sub

对象参数

Private Sub objectena(obj1 As Object, obj2 As Object)
    obj1.Enabled = False
    obj2.Enabled = False
End Sub
Private Sub form_load()
    objectena Text1, Command1
End Sub

嵌套过程实现数据排序的实例

Private Sub numbers_change(a, b)
    Dim num1 As Integer
    num1 = a: a = b: b = num1
End Sub
Private Sub numbers_sort(arr As Variant)
    Dim l As Long, i As Long, j As Long
    For i = 0 To UBound(arr)
        For j = i + 1 To UBound(arr)
            If arr(j) < arr(i) Then
                Call numbers_change(arr(j), arr(i))
            End If
        Next j
    Next i
    For i = 0 To UBound(arr)
        Debug.Print arr(i)
    Next i
End Sub
Private Sub form_load()
    Dim myarr
    myarr = Array(89, 79, 123, 5, 78)
    Call numbers_sort(myarr)
End Sub

按F8键,通过单步调试,可以看清程序执行过程。

递归

Function f(n As Integer) As Single
    If n > 1 And n <= 30 Then
        f = n * f(n - 1)
    Else
        f = 1
    End If
End Function
Private Sub command1_click()
    Text2.Text = f(Val(Text1.Text))
End Sub

使用Property Let 过程和Property Get过程简历Class1类的标记属性。

Private i As Integer
Public Property Let mark(ByVal newvalue As Integer)
    i = newvalue
End Property
Public Property Get mark() As Integer
    mark = i
End Property

利用子过程或函数过程,求1-5的阶乘。(修改为输入不大于30的数值)

Function f(n As Integer) As Single
    If n > 0 And n <= 30 Then
        f = n * f(n - 1)
    Else
        f = 1
    End If
End Function

Private Sub Command1_Click()
    Text1.Text = InputBox("请输入您需要的阶乘", , "")
    Text2.Text = f(Val(Text1.Text))
End Sub

第一年在银行存款230元,以后每年存230元,用递归方法计算50年后存款总额。(修改自行输入存款金额和存款年限)

Private Function f(n As Long, j As Long)
        f = n * j
End Function

Private Sub Command1_Click()
    Text1.Text = InputBox("请输入存款金额", , "")
    Text2.Text = InputBox("请输入存款年限", , "")
    Label1.Caption = f(Val(Text1.Text), Val(Text2.Text))
End Sub

获取字符串长度

Function Clen(ByVal mystr As String) As Integer
    Clen = LenB(StrConv(mystr, vbFromUnicode))
End Function

Private Sub Command1_Click()
    MsgBox "字符串长度为:" & Clen(Text1.Text)
End Sub
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
BasicBasic BasicBasic正是微软公司售出的第一套件。 正是微软公司售出的第一套件。 Basic Basic Basic Basic 发展到今天已经有很多版本,如 发展到今天已经有很多版本,如 发展到今天已经有很多版本,如 发展到今天已经有很多版本,如 发展到今天已经有很多版本,如 发展到今天已经有很多版本,如 发展到今天已经有很多版本,如 发展到今天已经有很多版本,如 发展到今天已经有很多版本,如 发展到今天已经有很多版本,如 发展到今天已经有很多版本,如 发展到今天已经有很多版本,如 发展到今天已经有很多版本,如 发展到今天已经有很多版本,如 GW -Basic Basic Basic Basic 、 QuickBasic QuickBasic QuickBasic QuickBasic QuickBasic QuickBasic QuickBasic 、QBasic QBasic QBasic QBasic QBasic 、Visual Basic Visual Basic Visual Basic Visual Basic Visual Basic Visual Basic Visual Basic Visual Basic , 等其中Visual Basic Visual Basic Visual Basic Visual Basic Visual Basic Visual Basic Visual Basic Visual Basic Visual Basic 是最容易学习与应用的程序语 是最容易学习与应用的程序语 是最容易学习与应用的程序语 是最容易学习与应用的程序语 是最容易学习与应用的程序语 是最容易学习与应用的程序语 是最容易学习与应用的程序语 言之一。 虽然最容易学习与使用,但它的功能却非常强大很多应程序都是编写出来言之一。 虽然最容易学习与使用,但它的功能却非常强大很多应程序都是编写出来言之一。 虽然最容易学习与使用,但它的功能却非常强大很多应程序都是编写出来言之一。 虽然最容易学习与使用,但它的功能却非常强大很多应程序都是编写出来言之一。 虽然最容易学习与使用,但它的功能却非常强大很多应程序都是编写出来言之一。 虽然最容易学习与使用,但它的功能却非常强大很多应程序都是编写出来言之一。 虽然最容易学习与使用,但它的功能却非常强大很多应程序都是编写出来言之一。 虽然最容易学习与使用,但它的功能却非常强大很多应程序都是编写出来言之一。 虽然最容易学习与使用,但它的功能却非常强大很多应程序都是编写出来言之一。 虽然最容易学习与使用,但它的功能却非常强大很多应程序都是编写出来言之一。 虽然最容易学习与使用,但它的功能却非常强大很多应程序都是编写出来言之一。 虽然最容易学习与使用,但它的功能却非常强大很多应程序都是编写出来言之一。 虽然最容易学习与使用,但它的功能却非常强大很多应程序都是编写出来言之一。 虽然最容易学习与使用,但它的功能却非常强大很多应程序都是编写出来言之一。 虽然最容易学习与使用,但它的功能却非常强大很多应程序都是编写出来言之一。 虽然最容易学习与使用,但它的功能却非常强大很多应程序都是编写出来言之一。 虽然最容易学习与使用,但它的功能却非常强大很多应程序都是编写出来言之一。 虽然最容易学习与使用,但它的功能却非常强大很多应程序都是编写出来言之一。 虽然最容易学习与使用,但它的功能却非常强大很多应程序都是编写出来言之一。 虽然最容易学习与使用,但它的功能却非常强大很多应程序都是编写出来不是个都能成为比尔盖茨,但你想知道天使用的 不是个都能成为比尔盖茨,但你想知道天使用的 不是个都能成为比尔盖茨,但你想知道天使用的 不是个都能成为比尔盖茨,但你想知道天使用的 不是个都能成为比尔盖茨,但你想知道天使用的 不是个都能成为比尔盖茨,但你想知道天使用的 不是个都能成为比尔盖茨,但你想知道天使用的 不是个都能成为比尔盖茨,但你想知道天使用的 不是个都能成为比尔盖茨,但你想知道天使用的 不是个都能成为比尔盖茨,但你想知道天使用的 不是个都能成为比尔盖茨,但你想知道天使用的 不是个都能成为比尔盖茨,但你想知道天使用的 WindowsWindowsWindows Windows的诸多功能是如何实现吗? 的诸多功能是如何实现吗? 的诸多功能是如何实现吗? 的诸多功能是如何实现吗? 的诸多功能是如何实现吗? 的诸多功能是如何实现吗? 的诸多功能是如何实现吗? 你想要编写自己的应用程 你想要编写自己的应用程 你想要编写自己的应用程 你想要编写自己的应用程 你想要编写自己的应用程 序吗?通过学习 序吗?通过学习 序吗?通过学习 序吗?通过学习 VB 就能写出很多应用程序。 就能写出很多应用程序。 就能写出很多应用程序。 就能写出很多应用程序。 就
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值