Function过程

上一篇中我讲到了VB通用过程中的Sub过程,今天我来讲讲它的“另一半”----Function过程

 

概念

也称函数

与内部函数一样,是一个可以反复使用的程序段,在其他程序段中均可以通过调用来执行这段程序,完成既定工作

 

声明

[Private|Public|Static] Function 函数名([参数表] [AS类型])

      [函数体]

      [<函数名>=<表达式>]

      [Exit Function]

End Function

  • 与Sub过程差不多。但Function过程有返回值。声明Function过程要指明数据类型,实际上是返回值的数据类型,默认为Variant类型
  •  [<函数名>=<表达式>]若省略,则该过程返回一个默认值:数值型函数过程返回0,字符串函数过程返回空字符串。<表达式>的值是函数返回的结果,通过赋值语句将值赋给<函数名>,该值就是Function过程的返回值

 

什么时候使用?

function过程同sub过程一样,都是当不同的事件要执行一段相同的代码,这时就可以使用function过程,减少重复代码的使用,避免冗长

 

优点

防止了程序中代码的反复书写

 

建立

1.在“代码窗口”直接输入Function过程

2.选择“工具”菜单中的添加过程命令定义Function过程,选择“函数类型”

 

调用

1.使用Call语句

Call 函数名(参数1,参数2,……)

2.直接使用函数名

如果直接使用函数名的调用方法有两种形式:

  • 如果函数有返回值,一般如下形式调用:被赋值对象=函数名(实际参数1,实际参数2,……)
  • 如果放弃函数的返回值:函数名 实际参数1,实际参数2,……

 

光说不练假把式,来看看实例吧!

'-----------------------------------------------
'输入三个数求最大值
'-----------------------------------------------

Private Sub Form_Load()
    Dim a%, b%, c%, d%
    Show
    a = Val(InputBox("请输入一个整数"))
    b = Val(InputBox("请输入一个整数"))
    c = Val(InputBox("请输入一个整数"))
    d = Max(a, b)
    Print "三个整数中最大的数是:"; Max(d, c)
End Sub

Function Max(m%, n%) As Integer
    If m > n Then
        Max = m
    Else
        Max = n
    End If
End Function

 

 VB中的Sub过程和Function过程我都讲完了,那你们有没有想过这个问题呢?既然Sub过程和Function过程的用法这么相似,为什么VB通用过程中还要有两个过程呢?一个不就好了吗?非也非也,既然定义了两个,那肯定他们呢就有不同之处啦!

Sub过程和Function过程的区别:

  • Subs是子程序,只作为一个基本的独立语句调用,没有返回值
  • 而function过程也称为函数,有有返回值

注:如果在同一个模块中,同一个变量名不能既用作sub过程又用过function过程

 

 

 

 

发布了42 篇原创文章 · 获赞 18 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_43319713/article/details/104812456