vb中的过程与函数

前端之家收集整理的这篇文章主要介绍了vb中的过程与函数前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。


过程与函数的区别在于:是否有返回值。

1、Private:在模块中使用,而Public则可以在全局使用。

2、Static,表示该过程中的局部变量是静态变量,过程结束后不释放局部变量所占的内存单元,即每次调用变量并不进行初始化。

1、程序一般默认为byref传递。

2、Byval、byref传递的区别:用一个实例说明:

(窗体中代码如下:

Private Sub Command1_Click()
   Dim m As Long
   m = 100
   mysub m
   MsgBox "m=" & m
   
End Sub


模块窗体代码

Public Sub mysub(ByVal n As Long)
  n = n + 100
End Sub


其运行结果:100,但是窗体代码不变,将模块中的传递方式改为:byref,则结果为200.

3、Optional:可选的,可缺省的。

例如:编写程序实现5和8的阶乘:

Private Sub Command1_Click()
  Dim i As Integer,total As Single
  Call fact(5,total)
  Text1.Text = "5!=" & total
  
End Sub

Private Sub Command2_Click()
Dim i As Integer,total As Single
  Call fact(8,total)
  Text1.Text = "8!=" & total
  
End Sub

Private Sub fact(n As Integer,total As Single)
  Dim i As Integer
  total = 1
  For i = 1 To n
  total = total * i
  Next
  
End Sub


问题:为什么我们要使用过程?而不直接编写呢?

当然,在上面这道题目中我们完全可以直接编写代码,无需采用过程来实现,但是,如果我们还要在其他窗体里使用fact()过程怎么办?还是每个窗体都定义一次吗?可行吗?那么我们需要定义一个模块窗体,用public把fact()定义在模块里,然后才能保证其他窗体可以调用此过程。

函数必须要有参数。而过程对参数没有强制要求。

猜你在找的VB相关文章