实例说明
利用static定义一个静态变量,实现在一个过程中累计计数的功能。
关键技术
静态变量
在一个过程中定义变量时,如果使用Dim关键词,那么该变量的“存活期”是其所属过程内,如果使用Static关键词定义变量,那么该变量的“存活期”是所有时间。
设计过程
1,按照下图设计界面
2,编写程序代码
Private Sub Command1_Click()
Static i As Integer
i = i + 1
Print "第" & i & "次点击"
End Sub
Private Sub Command2_Click()
Me.Cls
End Sub
3,运行程序,单击“计数”按钮,观察效果
思考
Dim与Static区别?
通过这个程序,我们可以发现Static定义一个变量后,其变量的值不会因为过程的完成而被初始化,其在内存中是一直存在的,除非程序被关闭。相反,使用Dim定义的变量,其值只存在过程之中,当过程结束时,其值就会被系统收回。
过程中Static定义变量和窗体模块中Dim定义变量的区别?
实际上,两者之间的唯一区别是,在窗体模块中使用Dim定义的变量,可以被该窗体中的所有过程使用。而使用Static在过程中定义的变量,只能在该过程中使用,不可以被其它过程使用。例如,将上面例子改为下面这样,那么可以在“清空”按钮事件中使用变量j。