萌新最近在自学vb,今天遇到问题了,书上也找不到答案,求助
vb吧
全部回复
仅看楼主
level 5
流孞 楼主
2018年09月27日 14点09分 1
level 5
流孞 楼主
如图,第一张是给的示范,第二张图是我做的,代码是复制的,结果示范的程序能正常运行,我照抄的就提示变量未定义,是怎么回事啊[委屈]
2018年09月27日 14点09分 2
level 5
流孞 楼主
这里是代码:
Dim start, finish, money As Integer
Private Sub Command1_Click()
If Option1(0).Value = False And Option1(1).Value = False And Option1(2).Value = False And Option1(3).Value = False Then
MsgBox "请选择选手", , "信息提示"
Else
For i = 0 To 3
If Option1(i).Value = True Then
Exit For
Else
If i = 3 Then
Exit Sub
End If
End If
Next i
money = money - 20
Label2.Caption = money
Command1.Enabled = False
Do
no = Int(Rnd * 4)
wit = Int(Rnd * 21) + 23
Image1(no).Move Image1(no).Left + wit, Image1(no).Top
pause (0.03)
Loop Until Image1(no).Left + Image1(no).Width > finish
If Option1(no).Value = True Then
MsgBox Option1(no).Caption + "赢了!"
money = money + 60
Label2.Caption = money
Else
MsgBox "你输了!"
End If
If money = 0 Then
MsgBox "你已经没赌注了!"
Else
Command1.Enabled = True
End If
For i = 0 To 3
Option1(i).Value = False
Image1(i).Left = start
Next i
End If
End Sub
Private Sub Command2_Click()
End
End Sub
Private Sub Form_Load()
Randomize Timer
start = Image1(0).Left
finish = 6000
money = 100
Label2.Caption = money
End Sub
Sub pause(x)
w = Timer
Do While Timer - w <= m
wait = DoEvents
Loop
End Sub
2018年09月27日 14点09分 3
level 5
流孞 楼主
提示的第一个未定义变量是第一个for循环的“i”,的确没看到定义,但是为啥示范里就可以正常运行···[疑问]
2018年09月27日 14点09分 4
level 11
正好前天晚上我也做了一个
2018年09月27日 14点09分 5
前辈有遇到这种问题么
2018年09月27日 14点09分
@流孞 前辈到不至于,我也是小白
2018年09月27日 14点09分
level 11
提示变量未定义是你的option explicit惹的祸(翻译就是“要求显示声明"),把这句去了就行
2018年09月27日 14点09分 6
试了下果然这样···果然我看得还不仔细[狂汗],感谢指导[哈哈]
2018年09月27日 14点09分
level 10
正确的
解决方法,不是“去掉 Option Explicit ”[汗]
既然IDE已经提示了变量未定义,
你应该按需要和用途,把用到的变量进行正确的声明。
其次就是注意一下“被提示”的变量是否拼写错了。
比如你这个,提示 变量i 没有定义,
你就要在Private Sub Command1_Click()过程中、使用变量i之前,
写上变量声明 dim i as long 或dim i as integer
若遇到类似情况,解决方法自然“类似”。
你那份“示范代码”,纯粹就是个小白写的,简直误人子弟!
[狂汗]
没兴趣细看,就说一句:他的第1行变量声明
Dim start, finish, money As Integer
这种写法就是不规范的!
应该写成这样的“格式”:
Dim start As Integer , finish As Integer, money As Integer
2018年09月27日 16点09分 7
嗯嗯,后面自己把变量定义了下。再问下他的不规范格式会有什么影响么?自学没老师教好多细节都不知道
2018年09月28日 00点09分
level 15
使用了控件数组,
2018年09月28日 00点09分 8
恩,控件数组我倒也是用了的,可能主要原因还是定义没对
2018年09月28日 00点09分
1