VB 循环判断问题

先要实现: 判断timer1.enabled=false

若是:判断timer2.enabled=false
若是:判断timer3.enabled=false

第1个回答  2014-12-15
if timer1.enabled=false then

if if timer2.enabled=false then msgbox "timer2 未开启"
if if timer3.enabled=false then msgbox "timer3 未开启"
end if追问

您知道如何循环判断4个timer控件中,只要有3个为假,则剩下一个立即为假吗?

追答

环判断4个timer控件中,只要有3个为假,则剩下一个立即为假
Dim t(3) As Timer

Set t(0) = Timer1
Set t(1) = Timer2
Set t(2) = Timer3
Set t(3) = Timer4
Dim ft As Long, c As Long
For i = 0 To 3
If t(i).Enabled Then ft = i
c = c - (Not t(i).Enabled)
Next
If c >= 3 Then t(ft).Enabled = False

Debug.Print Timer1.Enabled
Debug.Print Timer2.Enabled
Debug.Print Timer3.Enabled
Debug.Print Timer4.Enabled

追问

谢谢您的耐心回答~!

第2个回答  2014-12-15

像这种的,最佳方法就是老老实实的一层一层判断嵌套。

if timer1.enabled=false then
    if if timer2.enabled=false then
        if if timer3.enabled=false then
            'Do what you want
        endif
    endif
end if

追问

您知道如何循环判断4个timer控件中,只要有3个为假,则剩下一个立即为假吗?(按照您说的,为什么我的报错啊!)

追答

4选3问题可以用一个辅助变量来解决。

示例如下:

Dim N as Integer
N = 4
If (条件1) Then N = N - 1
If (条件2) Then N = N - 1
If (条件3) Then N = N - 1
If (条件4) Then N = N - 1
If N <= 1 Then '至少三个条件命中

本回答被提问者采纳

vb循环问题
系统首先执行For语句,把1赋予变量K ==> 因为步长为负数,判断 K >=2吗?不 ==> 循环结束。同样可见,循环体内的语句“Print “你好!””一次也没有被执行,其实没有发生循环。所以,你的问题是步长为负数,一开始循环控制变量为1,而循环控制变量每循环一次应该是减小的,现在已经小于终止值5了...

求解VB的for,do,多重循环结构题
编写程序以解决VB的for,do,多重循环结构问题。首先定义一个函数,其操作步骤如下:1. 使用for循环从1到9,打印两个空格加上星号,星号的数量等于当前循环的索引值。2. 使用do循环检查一个数是否为0,若非0则将当前数添加到列表中。3. 创建一个函数用于判断一个数是否为素数。从2循环到这个数的平...

VB中计数循环问题,求解
我们一步一步分析:先看:For j = 1 To 4 a = a + 1 Next j 因为循环4次,所以这个结果是4 再看:For j = 1 To 4 If j Mod 2 <> 0 Then a = a + 1 End If a = a + 1 Next j 增加的部分就是当j = 1和j = 3,一共两次,所以结果在原来4的基础上加2 ,得到 6.最后看...

vb循环判断语句条件成立,居然还往下继续循环
另外如果你的代码中用了on error resume next,也应该先删除或注释掉,否则代码出什么问题你都不知道(前面的代码出错,却让后面的代码背黑锅)

VB循环语句问题!!急求!!!
do while (1=1)………loop,这个循环会一直执行下去,那么就需要在循环体中加入语句,满足条件时跳出循环,如 do while (1=1)……if i=10 then exit do end if ………loop 那么,exit do 之后的语句就会比其前的语句少执行一次。第二个问题,双重循环与现实中的很多事物都有相似之处,所以其...

vb for循环中if判断问题
end if是用在多行的if语句中的,这样子:if allfenlei(c) = "" then exit for end if 如果你把exit for放到then后面的话,这就是单行的,不用end if 来结束了。对了,单行的后面一样可以跟else的

vb6.0 for循环问题
选中Text4,修改其Name属性为Text1并设置其Index属性为3;这样就可以用For循环判断了:For i = 0 To 3 if Text1(i).Text="" Then Msgbox "第" & i+1 & "个文本框的内容为空!"else Msgbox "第" & i+1 & "个文本框的内容不空!"End If Next i ...

vb do loop 循环的问题
首先判断a是否小于1,如果成立,则执行" a=a+b* print a "Do while a < 1 a = a + b *2 pirnt a loop 这一段就是循环语句 但因a的初始值是2,当执行 do while a<1时, 这个显然不成立,所以这题是不会执行 a = a + b *2 pirnt a 这两个语句的,而是直接跳到end...

在VB程序中Do While Loop问题
do while loop 循环的执行步骤:首先判断,当满足while后面的表达时,执行do。。。loop之间的代码,执行完毕,再次判断,满足继续do...loop,不满足,则结束do循环。那么,本题首先判断y>4 由于y=4并不大于4,y>4为假,跳过do...loop循环,执行print x x=1 所以显示为1,选A 你选B,如果是do...

VB 循环判断问题
if timer1.enabled=false then if if timer2.enabled=false then msgbox "timer2 未开启"if if timer3.enabled=false then msgbox "timer3 未开启"end if

相似回答