vb static
Private Sub fun()
Static a As Integer
A=a+1
Print a;
End Sub
Private Sub Command1_Click()
Dim m As Integer
For m=1 To 3
Call fun
Next m
End Sub
最后结果是1 2 3
但其中不是有Static a As Integer吗
它的意思不是代表每次调用fun()都是因为Static这个而使a的初值为0吗?这样就应该是1 1 1 了啊
static只是第一次初始化时使a为0
后面a的值就不是0,而是一直保存着了
第一次a=1
保留到下次a=a+1=1+1=2
同理第三次为3
Dim X
Private Sub Form_Click()
X = 2
For K = 3 To 5
AB
s = s + X
Next K
Print s
End Sub
Private Sub AB()
Dim X
X = X + 2
End Sub
根据这个看又好像是dim才是每次调用AB()都是因为dim这个而使x的初值为0
到底是dim还是static每次被调用时使其函数内的变量的初值为0呢
LZ:你的理解是错误的:
Static 语句
在过程级别中使用,用于声明变量并分配存储空间。在整个代码运行期间都能保留使用 Static 语句声明的变量的值。
说明
模块的代码开始运行后,使用 Static 语句声明的变量会一直保持其值,直至该模块复位或重新启动。可以在非静态的过程中使用 Static 语句显式声明只在该过程内可见,但具有与包含该过程定义的模块相同生命期的变量。
理解变量的范
相关问答:
我有厂家做的ASP的监控录像(DVR)的局域网播放的源程序与控件,想要用ASP.net做一个视频回放的程序(利用他的控件)但不知如下去做,望各位指点。
先搞清楚他们的控件是怎么用的,
然后就直接用好了.
不过,如 ......
大家好,问个vb打印问题
printer.print "dsff"
.....
....
Printer.EndDoc
打印成功后我将执行
sqlstr = "update vc_yh set pr=' 已打印 ', ......
从网页通过inet控件的Inet1.GetChunk读取其代码,然后想转换为汉字,转换代码如下
Private Sub Inet1_StateChanged(ByVal State As Integer)
Dim strRecText As String
Dim st ......
要采集的页面:http://city.qzone.qq.com/html/user/searchpro.htm#mod=0&act=city&cd=120000&pg=1
我想把搜索出来的QQ都采集出来,该怎么做。看了下代码好像不是普通的那种,网址里把1改成2没用 ......