过程与函数的区别在于:是否有返回值。
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 + 100End 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 SubPrivate Sub Command2_Click()Dim i As Integer,total As Single Call fact(8,total) Text1.Text = "8!=" & total End SubPrivate 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中的过程与函数全部内容,希望文章能够帮你解决vb中的过程与函数所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)