| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 641 人关注过本帖
标题:我刚学VB 遇到个问题不会 请大家教教我
只看楼主 加入收藏
lykstc
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2007-4-29
收藏
 问题点数:0 回复次数:4 
我刚学VB 遇到个问题不会 请大家教教我

交通灯的 用什么循环让他们无休止的轮流亮

能把代码写出来的 更好

先说声谢谢

搜索更多相关主题的帖子: 代码 交通灯 
2007-04-29 22:00
hyhhd
Rank: 2
等 级:论坛游民
威 望:1
帖 子:502
专家分:44
注 册:2006-5-12
收藏
得分:0 

试试这个:
Private RedTime As Integer '''红灯亮的时间
Private GreenTime As Integer '''绿灯亮的时间
Private YellowTime As Integer '''黄灯亮的时间


Private Sub Cmd_Click()
RedTime = 3 '''红灯亮的时间为3秒
GreenTime = 3 '''绿灯亮的时间为3秒
YellowTime = 1 '''黄灯亮的时间为1秒

Timer1.Interval = 1000 ''''设定timer1每1秒触发一次事件

End Sub

Private Sub Timer1_Timer()
Static IsRed As Boolean
Static IsGreen As Boolean
Static IsYellow As Boolean
Static i As Integer

'''''这里的i代表秒,1就是1秒

If i >= 0 And i < RedTime Then '''控制红灯亮及时间
IsRed = True
IsGreen = False
IsYellow = False

ElseIf i >= RedTime And i < RedTime + GreenTime Then '''控制绿灯亮及时间
IsRed = False
IsGreen = True
IsYellow = False

ElseIf i >= RedTime + GreenTime And i < RedTime + GreenTime + YellowTime Then '''控制黄灯亮及时间
IsRed = False
IsGreen = False
IsYellow = True

Else
i = 0
Exit Sub

End If

Label1(0).Visible = IsRed
Label1(1).Visible = IsGreen
Label1(2).Visible = IsYellow

Label2(0).Visible = IsRed
Label2(1).Visible = IsGreen
Label2(2).Visible = IsYellow

i = i + 1
Label2(0).Caption = i & "秒"
Label2(1).Caption = i - RedTime & "秒"
Label2(2).Caption = i - RedTime - GreenTime & "秒"

End Sub


2007-04-29 23:58
hyhhd
Rank: 2
等 级:论坛游民
威 望:1
帖 子:502
专家分:44
注 册:2006-5-12
收藏
得分:0 
回复:(lykstc)我刚学VB 遇到个问题不会 请大家教教...
这是元工程:
erbF9FUz.rar (2.13 KB) 我刚学VB 遇到个问题不会 请大家教教我



2007-04-30 00:01
cike_1111
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2007-4-30
收藏
得分:0 

看看我做的!
**********************************************
程序需要控件

from*1 =from1
text*3 = text1,text2,text3
timer*1 = timer1

程序设置部分:
设置时间间隔为1秒

代码部分[直接复制下列代码到窗体中]
=================
Private Sub Form_Load()
Text1 = ""
Text2 = ""
Text3 = ""

End Sub

Private Sub Timer1_Timer()
Static a As Integer
a = a + 1
If a = 7 Then a = 1
If a >= 1 And a <= 2 Then
Text1.BackColor = vbRed
Text2.BackColor = vbWhite
Text3.BackColor = vbWhite
End If
If a >= 3 And a <= 4 Then
Text1.BackColor = vbWhite
Text2.BackColor = vbYellow
Text3.BackColor = vbWhite
End If
If a >= 5 And a <= 7 Then
Text1.BackColor = vbWhite
Text2.BackColor = vbWhite
Text3.BackColor = vbGreen
End If

End Sub
====================
通俗语言翻译以上代码

窗体载入的时候:
清空3个文本框的内容
结束

时间内的代码
声明静态一个静态变量 a
每执行一给代码 a 的结果+1
当a = 7 的时候 a 再次 = 1
如果a 的值> = 1 并且 < = 2 那么 文本1的背景为 红 色 其他为白色
如果a 的值> = 3 并且 < = 4 那么 文本2的背景为 黄 色 其他为白色
如果a 的值> = 5 并且 < = 6 那么 文本3的背景为 绿 色 其他为白色
结束

*********************************************
这样写看明白了么???



欢迎到cike技术交流群 一起交流学习 16874787

2007-04-30 02:28
lykstc
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2007-4-29
收藏
得分:0 

太感谢你们了

2007-05-01 08:56
快速回复:我刚学VB 遇到个问题不会 请大家教教我
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.039882 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved