这段代码为什么没有进入红色部分?

piaomiao163 2011-05-19 10:26:50
我测试的时候再红色部分加了msgbox测试 但是根本就没有对话框弹出 也就是程序没有进入红色的部分


Private Sub star_Click()
'MsgBox "1111"
For j = 0 To hunm - 1
For i = 0 To wnum - 1
Image1(j * wnum + i).Move 65 * 15 * i, j * 65 * 15, 64, 64
'Image1(j * wnum + i).Top = j * 65 * 15
Next
Next
'MsgBox "22222"
For i = 0 To wnum * hnum - 1 '数组的初始化
a(i) = 0
Next

For i = 0 To wnum * hnum - 1
If a(i) = 0 Then
myvalue = Int((20 * Rnd) + 1) ' 生成 1 到 20 之间的随机数值。
'Debug.Print myvalue
'MsgBox myvalue
a(i) = myvalue

Do Until a(myvalue2) = 0
myvalue2 = Int(((wnum * hnum - 1) * Rnd) + 1)
Loop
a(myvalue2) = myvalue
End If
Next

'开始加载图片
For i = 0 To wnum * hnum - 1
Image1(i).Picture = LoadPicture(App.Path & "\image\pic (" & a(i) & ").jpg")
'Debug.Print a(i)

Next
Form1.BackColor = &H80000009 '改变窗口背景颜色
End Sub
...全文
130 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
ningweidong 2011-05-20
  • 打赏
  • 举报
回复
怎么可能进不去,是你自己写错了吧
flfq 2011-05-19
  • 打赏
  • 举报
回复
以后请在每个模块的第一行加上

Option Explicit


就不会再提这种问题了
flfq 2011-05-19
  • 打赏
  • 举报
回复

Const hnum = 10 '每列的图标个数

For j = 0 To hunm - 1


另外lz的结贴率实在让人无语
simon__sun 2011-05-19
  • 打赏
  • 举报
回复

stop
For j = 0 To hunm - 1
For i = 0 To wnum - 1
停下后F8 单步调试看看 HUNM的值
piaomiao163 2011-05-19
  • 打赏
  • 举报
回复
可以在自己的机子上面跑一下下面的代码 看看是否进入了

Const wnum = 20 '每行的图标个数
Const hnum = 10 '每列的图标个数
Dim a(wnum * hnum - 1) As Integer

Private Sub Form_Load()
Form1.Width = 1300 * 15
Form1.Height = 740 * 15
End Sub

Private Sub star_Click()
'MsgBox "1111"
For j = 0 To hunm - 1
For i = 0 To wnum - 1
Image1(j * wnum + i).Move 65 * 15 * i, j * 65 * 15, 64, 64
'Image1(j * wnum + i).Top = j * 65 * 15
Next
Next
'MsgBox "22222"
For i = 0 To wnum * hnum - 1 '数组的初始化
a(i) = 0
Next

For i = 0 To wnum * hnum - 1
If a(i) = 0 Then
myvalue = Int((20 * Rnd) + 1) ' 生成 1 到 20 之间的随机数值。
'Debug.Print myvalue
'MsgBox myvalue
a(i) = myvalue

Do Until a(myvalue2) = 0
myvalue2 = Int(((wnum * hnum - 1) * Rnd) + 1)
Loop
a(myvalue2) = myvalue
End If
Next

'开始加载图片
For i = 0 To wnum * hnum - 1
Image1(i).Picture = LoadPicture(App.Path & "\image\pic (" & a(i) & ").jpg")
'Debug.Print a(i)

Next
Form1.BackColor = &H80000009 '改变窗口背景颜色
End Sub

piaomiao163 2011-05-19
  • 打赏
  • 举报
回复
hunm,wnum 是常量 按钮点击了 下面的for都成功进入了
booksoon 2011-05-19
  • 打赏
  • 举报
回复
hunm,wnum是个什么变量,全局变量?调用过程时其值是什么?
flfq 2011-05-19
  • 打赏
  • 举报
回复
你点击这个按钮了吗?
piaomiao163 2011-05-19
  • 打赏
  • 举报
回复

Private Sub star_Click()
'MsgBox "1111"
For j = 0 To hunm - 1
For i = 0 To wnum - 1
Image1(j * wnum + i).Move 65 * 15 * i, j * 65 * 15, 64, 64
'Image1(j * wnum + i).Top = j * 65 * 15
Next
Next
'MsgBox "22222"
For i = 0 To wnum * hnum - 1 '数组的初始化
a(i) = 0
Next

For i = 0 To wnum * hnum - 1
If a(i) = 0 Then
myvalue = Int((20 * Rnd) + 1) ' 生成 1 到 20 之间的随机数值。
'Debug.Print myvalue
'MsgBox myvalue
a(i) = myvalue

Do Until a(myvalue2) = 0
myvalue2 = Int(((wnum * hnum - 1) * Rnd) + 1)
Loop
a(myvalue2) = myvalue
End If
Next

'开始加载图片
For i = 0 To wnum * hnum - 1
Image1(i).Picture = LoadPicture(App.Path & "\image\pic (" & a(i) & ").jpg")
'Debug.Print a(i)

Next
Form1.BackColor = &H80000009 '改变窗口背景颜色
End Sub
z_wenqian 2011-05-19
  • 打赏
  • 举报
回复
很明显是 hunm 这个变量写错了, 应该是 hnum.

因为写错了,所以 For j = 0 To hunm - 1 这个循环根本就不会运行。

为杜绝类似错误发生,应该加上 Option Explicit 。
熊孩子开学喽 2011-05-19
  • 打赏
  • 举报
回复
请问这个hunm 等于几?
xc_aspnet 2011-05-19
  • 打赏
  • 举报
回复


断点调试!

7,762

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧