| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2749 人关注过本帖
标题:[求助]static/dim/redim/public定义数组有何区别?
只看楼主 加入收藏
glober609
Rank: 1
等 级:新手上路
帖 子:73
专家分:0
注 册:2005-3-7
收藏
 问题点数:0 回复次数:3 
[求助]static/dim/redim/public定义数组有何区别?

Private Sub cmd_Click() Static i ' dim i 有什么样的变化?他们的区别是什么? If i = 0 Then i = 1 i = i + 1

If i > 7 Then Exit Sub Load opt1(i) opt1(i).Caption = "option" & i + 1 opt1(i).Top = opt1(i - 1).Top + 480

opt1(i).Visible = True

End Sub '好像static只有在过程结束后,才释放变量。

搜索更多相关主题的帖子: static dim public 定义 Sub 
2005-03-15 09:26
yms123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
收藏
得分:0 
Static是静态的意思顾名思义这里面的数只会累加不会改变。

例如:

dim i as integer

i=1

i=1

这个例子里i最后是1


Static i as integer

i=1

i=1

这个例子里i就有可能会是2而不是1。

原因就在于Static的变量第一次赋值后,第2次并不会被覆盖而被累加。此种变量的左右一般用作计数器,比如求数据库中数据的总和就会用到。
2005-03-15 22:20
yms123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
收藏
得分:0 
dim与redim dim定义数组可以不用指定数组的元素个数比如 dim ary() as integer 而redim就可以随时指定dim未指定数组元素个数。 redim ary(5) as integer 注意的是两处红色标记redim与dim数据类型必须一致。
2005-03-15 22:25
glober609
Rank: 1
等 级:新手上路
帖 子:73
专家分:0
注 册:2005-3-7
收藏
得分:0 

非常感谢! dim:主要用于窗体模块或者标准模块中,定义窗体或者标准模块数组,不能用于过程中。 redim:用于过程中。 static:用于过程中。 public:用在标准模块中,定义全局变量。 看看下面的例子: '1、dim Private Sub Form_Click() Dim i As Integer

i = i + 1 Print i, '答案永远是1 End Sub '2、static Private Sub Form_Click() static i As Integer

i = i + 1 Print i, '答案1、2、3。。。。每单击一次窗体,i就会自动累加一次;直到该过程结束,i才会被释放出来。 End Sub

2005-03-16 08:13
快速回复:[求助]static/dim/redim/public定义数组有何区别?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.051854 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved