for i=1 to 25
select case i
case 1
....
case 2
.....
case 25
end select
next i
我有25个数据采集模块,想实现逐个采集数据.一直循环下去.
我这个循环语句有点问题
并不能逐个采集数据.请问该如何修改呢?
select case i
case 1
....
case 2
.....
case 25
end select
next i
我有25个数据采集模块,想实现逐个采集数据.一直循环下去.
我这个循环语句有点问题
并不能逐个采集数据.请问该如何修改呢?
For i = 1 To 20
Select Case i
Case 1
Debug.Print "1"
Case 2
Debug.Print "2"
Case 3
Debug.Print "3"
Case 4
Debug.Print "4"
Case 5
Debug.Print "5"
Case 6
Debug.Print "6"
Case 7
Debug.Print "7"
Case 8
Debug.Print "8"
Case 9
Debug.Print "9"
Case 10
Debug.Print "10"
Case 11
Debug.Print "11"
Case 12
Debug.Print "12"
Case 13
Debug.Print "13"
Case 14
Debug.Print "14"
Case 15
Debug.Print "15"
Case 16
Debug.Print "16"
Case 17
Debug.Print "17"
Case 18
Debug.Print "18"
Case 19
Debug.Print "19"
Case 20
Debug.Print "20"
End Select
Next i
End Sub
for i=1 to 25
select case i
case 1
....
case 2
.....
case 25
end select
i=i+1
next i
for i=1 to 25
select case i
case 1
....
case 2
.....
case 25
end select
i=i+1
next i
loop while 1
for i=1 to 25
select case i
case 1
....
case 2
.....
case 25
end select
i=i+1
next i
loop while 1
i = 0
do while(true)
i = (i mod 25) + 1
select i
case 1:
........
case 2:
........
case 3:
........
case 4:
........
case 5:
........
case 6:
........ ...... case 24:
........
case 25:
........
end select
doevents
i = i + 1
loop
Select Case i
Case 1
Debug.Print 1
Case 2
Debug.Print 2
Case 3
Debug.Print 3
......
......
Case 25
Debug.Print 25
End Select
Next i
Loop While 1
这里需要用select case来判断吗?
直接用I不就行了.
next
我不知道你的25个过程是怎么写的.
如果代码一样的话,可以写个通用函数,参数是序号.
public function 函数名(byval ID as long ) as booleanend functionfor i=1 to 25
call 函数名(i)
next
难道在:function 函数名(byval ID as long ) 中,就不用 Select Case 了?
请看清楚,我说的是“在 函数名(byval ID as long ) 中”,也就是说在这个函数的内部。你看楼主的代码,在 For 循环中要进行 Select(楼主在这里的逻辑有问题另当别论)。多写一个函数,也不过是“把这段移到函数中”而已,实质是一样的。
从运行效率角度来说,效率还会降低。
采集方法(i)
nextsub 采集方法(int i)
直接利用变量i进行采集
end sub以上的方法至少省略了select判断。如果循环数据达到一定量的时候,优势就可以体现了。
for i=1 to 25
直接利用变量i进行采集
next 但是不建议这么写。因为维护起来比较麻烦。
注意,你没有 STEP 1, 表示你每次的步距是1,如
for i=1 to 25 step 1
....................
就好了!
for循环的时候step默认就是1,写不写都没有关系。
select case i
case 1
....
case 2
.....
case 25
end select
next i
这样写可以啊 只是效率差了点
FOR里面再用SELECT来判断当前的循环变量是画蛇添足的做法.
FOR I=1 TO 25
GETDATA(I)
NEXT
这样形式的过程和楼主所表示的是同一个东西.