VB,为什么我在Public Sub Form_Load()中定义的变量在Private Sub Timer1_Timer()中不能用
PrivateSubForm_Load()DimmAsDoublem=5Timer1.Enabled=TrueEndSubPrivateSubTimer1_Timer()...
Private Sub Form_Load()
Dim m As Double
m = 5
Timer1.Enabled = True
End Sub
Private Sub Timer1_Timer()
MsgBox m
Print m
End Sub
什么都显示不出来,该怎么办?
msgbox出来了,但什么都没显示。
如果是动态数组(dim m() as integer),要Redim怎么办,而且它还要赋值,不能放外面。
不是恶意代码,只是一个例子 展开
Dim m As Double
m = 5
Timer1.Enabled = True
End Sub
Private Sub Timer1_Timer()
MsgBox m
Print m
End Sub
什么都显示不出来,该怎么办?
msgbox出来了,但什么都没显示。
如果是动态数组(dim m() as integer),要Redim怎么办,而且它还要赋值,不能放外面。
不是恶意代码,只是一个例子 展开
展开全部
如果是动态数组(dim m() as integer),要Redim怎么办,而且它还要赋值,不能放外面。
如果放在外面应该这样声明
private m as integer 或者 public m as integer
数组同理可得:
private m() as integer 或者 public m() as integer
Redim 的用法如下:
比如已经存在m(1).m(0)=1,m(1)=2
这样你可以这样做 Redim m(2) as integer.这样Redim m(0),m(1)的值就没有了.ReDim Preserve m(2),这样就可以保留m(0),m(1)的值,还多了一个m(2)可以用.
你这里显示出对话框,但没有任何提示内容,是因为你的m没有声明,所以m是various型,没有任何数据,因此显示为空值. 你这个水平,应该写不出什么恶意代码,呵呵.
如果放在外面应该这样声明
private m as integer 或者 public m as integer
数组同理可得:
private m() as integer 或者 public m() as integer
Redim 的用法如下:
比如已经存在m(1).m(0)=1,m(1)=2
这样你可以这样做 Redim m(2) as integer.这样Redim m(0),m(1)的值就没有了.ReDim Preserve m(2),这样就可以保留m(0),m(1)的值,还多了一个m(2)可以用.
你这里显示出对话框,但没有任何提示内容,是因为你的m没有声明,所以m是various型,没有任何数据,因此显示为空值. 你这个水平,应该写不出什么恶意代码,呵呵.
展开全部
public M as double
Private Sub Form_Load()
m = 5
Timer1.Enabled = True
End Sub
Private Sub Timer1_Timer()
MsgBox m
Print m
End Sub
Timer的属性Interval是表示间隔的,你这个事恶意代码,会每隔设定时间弹出窗口,M定义成Public就可以在全局引用了
动态数组定义
有一个Byte数组A,如果我们知道这个数组上限最大只能是4,就用Dim
Dim A As Byte(4)
但如果我们不能事先确定它的大小,或者需要在运行时改变它的大小就要用动态数组
Dim A As Byte()
ReDim A(4)'这样改变大小时会清空原来的数据
ReDim Preserve A(4)'这样改变大小时会保留原来的数据
Private Sub Form_Load()
m = 5
Timer1.Enabled = True
End Sub
Private Sub Timer1_Timer()
MsgBox m
Print m
End Sub
Timer的属性Interval是表示间隔的,你这个事恶意代码,会每隔设定时间弹出窗口,M定义成Public就可以在全局引用了
动态数组定义
有一个Byte数组A,如果我们知道这个数组上限最大只能是4,就用Dim
Dim A As Byte(4)
但如果我们不能事先确定它的大小,或者需要在运行时改变它的大小就要用动态数组
Dim A As Byte()
ReDim A(4)'这样改变大小时会清空原来的数据
ReDim Preserve A(4)'这样改变大小时会保留原来的数据
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
[Dim m As Double]只在【Private Sub Form_Load()】范围内起作用。
要实现你所说的功能,可将代码改为:
Private m As Double
Private Sub Form_Load()
m = 5
Timer1.Enabled = True
End Sub
Private Sub Timer1_Timer()
MsgBox m
Print m
End Sub
要实现你所说的功能,可将代码改为:
Private m As Double
Private Sub Form_Load()
m = 5
Timer1.Enabled = True
End Sub
Private Sub Timer1_Timer()
MsgBox m
Print m
End Sub
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Dim m As Double'定义全局变量,才可以使用,否则不能
Private Sub Form_Load()
m = 5'设置
Timer1.Enabled = True
End Sub
Private Sub Timer1_Timer()
MsgBox m
Print m
End Sub
Private Sub Form_Load()
m = 5'设置
Timer1.Enabled = True
End Sub
Private Sub Timer1_Timer()
MsgBox m
Print m
End Sub
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Timer控件有一个属性你没有设吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询