Board logo

标题: [电脑] 请教一个VB循环和判断的问题。。。 [打印本页]

作者: shixn    时间: 2009-8-31 23:36     标题: 请教一个VB循环和判断的问题。。。

目的是循环判断一个数,结果如果为真,就进入下一循环判断,如果为非就原地等待。。
试着这么写了一下,运行后弹出提示说缺少for
...
for i = 0 to 9
if SpeedFlag(i) = 1 then next i
...
不晓得应该怎么办好了。。加激骚求助!!
作者: helin    时间: 2009-9-1 09:46     标题: 回复 1# 的帖子

for i = 0 to 9
if SpeedFlag(i) <> 1 then
..................
end if
next

没有next i这样写的
作者: boostloki    时间: 2009-9-1 18:12

oh my god
作者: cc0128    时间: 2009-9-1 18:20

雷到我了。

我大概写下,不一定语法是对的。
类似这样

for i=0 to  9

while (not   FlagS)   and i <> x  do ‘x 就是你要的数
loop

next i
作者: cc0128    时间: 2009-9-1 18:21

引用:
原帖由 helin 于 2009-9-1 09:46 发表
for i = 0 to 9
if SpeedFlag(i)  1 then
..................
end if
next

没有next i这样写的
确定在vba里面有next i。
作者: sowo    时间: 2009-9-1 18:31

原地等待是什么意思,next i这样的写法没错
作者: aaafffei    时间: 2009-9-1 19:32

Dim i As Integer
Set i = 1
Do While i
    If flag(i) = 1 Then
        i = i + 1
    Else
        'here type you what you want to execute in i<>1
    End If
Loop
作者: xiejia31    时间: 2009-9-1 21:10

不考虑循环体的问题 那么用GOTO指针指向就可以了。 有的循环体自带退出循环定义。 用DO循环 exit do

[ 本帖最后由 xiejia31 于 2009-9-1 21:12 编辑 ]
作者: bobykid    时间: 2009-9-1 21:57

引用:
原帖由 shixn 于 2009-8-31 23:36 发表
目的是循环判断一个数,结果如果为真,就进入下一循环判断,如果为非就原地等待。。
试着这么写了一下,运行后弹出提示说缺少for
...
for i = 0 to 9
if SpeedFlag(i) = 1 then next i
...
不晓得应该怎么办好 ...
Dim i as integer
for i = 0 to 9
if SpeedFlag(i) = 1 then goto xxxx
next i

xxxx:              'xxxx必须跟for语句在同一sub或者function里面
作者: shixn    时间: 2009-9-1 23:59



明白了。。。激骚陆续奉上!!!
作者: sambfish    时间: 2009-9-2 00:04

VB......VB的语句结构基本都忘记了....内牛满面.....

使用GOTO语句是非常不好的事情....VB太不严谨了....
作者: aaafffei    时间: 2009-9-2 00:44

引用:
原帖由 sambfish 于 2009-9-2 00:04 发表
VB......VB的语句结构基本都忘记了....内牛满面.....

使用GOTO语句是非常不好的事情....VB太不严谨了....
我虽然也不是expert,但是也不用goto好多年了。




欢迎光临 TGFC Lifestyle (http://club.tgfcer.com/) Powered by Discuz! 6.0.0