没办法,被lz和这些高手雷到了,lz你的编程机制有问题,先了解什么叫对象过程吧,vb不是c语言,过程函数和函数放置的位子无关。
Dim a As Integer
Private Sub Command1_Click()
If Timer1Enabled = False Then
a = 20
Timer1Enabled = True
MeCaption = "20秒后关机"
Else
MeCaption = "取消关机"
Timer1Enabled = False
End If
End SubPrivate Sub Form1_Load()
Timer1Enabled = False
Timer1Interval = 1000
End SubPrivate Sub Timer1_Timer()
a = a - 1
If a = 0 Then
Timer1Enabled = False
Unload Me
Shell "cmd /c shutdown -s -t 0"
End Sub
如图,建立文本框数组 txtLed(0) ~ txtLed(8) ,依次填入 1~ 9
程序如下:
Dim start_led As Long, end_led As Long, loop_count As Long
Public Function Flicker() As Boolean
Static i As Long, last_led As Long
If i < start_led Then i = start_led
txtLed(last_led)BackColor = vbWhite '将前一盏灯变回白色
txtLed(i)BackColor = vbRed '将当前灯变成红色
last_led = i
i = i + 1
If i > end_led Then
i = start_led
Flicker = True '完成一个循环
Else
Flicker = False '循环没有完成
End If
End Function
Private Sub Timer1_Timer()
If loop_count < 4 Then
start_led = 0 '从一号灯开始
end_led = 8 '到九号灯结束
If Flicker() Then loop_count = loop_count + 1
ElseIf loop_count < 9 Then
start_led = 2 '从三号灯开始
end_led = 6 '到七号灯结束
If Flicker() Then loop_count = loop_count + 1
End If
End Sub
循环语句包括For-Next、While-Wend、Do-Loop语句。
暂且先给你介绍一下这些语句的简单用法:
For-Next语句:
循环体
Next
当循环变量的值在初值到终值范围内时,执行一次循环体中的语句块,并使初值增加一个步长。当循环变量的值不在初值到终值范围内时,就退出循环,执行Next后面的语句。For循环语句执行的流程图。其中,
Step 步长 可省略,省略时,步长=1
例如:
Private Sub Form_Activate()
For i = 1 To 5 Step 1
Print i
Next
End Sub
在这个例子中,运行程序后,窗体上会写出如下文字:
1
2
3
4
5
解析:
变量i由初值1到终值5共循环5次,每次循环时,输出i,并且将i的值加上步长的值1所以,但第二次循环式,i的值就变为2循环5此后,i的值变为5再循环时i就变为6,便超过了终值5,因此循环结束,VB开始运行Next语句之后的代码。
Do-Loop语句:
Do
循环体
[Exit Do]
Loop
循环体会在Do 与 Loop 之间不停循环。Exit Do 语句可有可无,是为了设定当满足一定条件后,运行Exit Do 语句,即退出循环。
如:
Private Sub Form_Activate()
Dim i As Integer
i = 1
Do
Print i
i = i + 1 '每次循环时都使i的值增加1
If i > 5 Then Exit Do '当i的值大于5(即循环5此后)时,退出循环
Loop
End Sub
其运行效果与上面的例子相同。
以上说明绝对不是复制的,给点辛苦分也行,谢谢~~
把if条件换下就可以了,试试下面的程序
For j = 1 To Rows '行
For i = 1 To Columns '列
If j / Scan <> Int(j / Scan + 199) Then
Print #1, "("
Print #1, Str(Int(j / Scan + 099)) + Pin1 + CStr(i)
Print #1, Designator + CStr(Columns (j - 1) + i) + "-1"
'Else
'Print #1, Designator + CStr(Columns (j - 1) + i) + "-1"
End If
If j / Scan <> Int(j / Scan + 199) Then
Print #1, ")"
End If
Next
Next
以上就是关于VB如何实现主程序循环全部的内容,包括:VB如何实现主程序循环、VB中如何在循环中实现循环、VB循环语句等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)