| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3557 人关注过本帖, 1 人收藏
标题:遇到困难 求帮助 需要用VB设计红绿灯模拟运行程序
只看楼主 加入收藏
xu070306
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2012-5-23
结帖率:0
收藏(1)
已结贴  问题点数:20 回复次数:9 
遇到困难 求帮助 需要用VB设计红绿灯模拟运行程序
主要内容
用时钟timer控制时间变化,灯的颜色变化使用形状控件shape随时间而改变, 也可以使用图形方法来绘制。
具体要求及应提交材料
用Visual Basic 6.0设计出如图所示的交叉口的平面图,要求区分出车道的划分情况;另外,用不同的颜色表示不同的信号灯放在相应的路口上,设计出相应的程序模拟信号灯运行的情况。界面上应该设置相应的控件设置信号周期时间,各方向的红、绿、黄时间。比如,信号配时情况为:两相位,信号周期为120s,东西向绿灯时间60s,黄灯时间5s,红灯时间55s;南北向绿灯时间55s,黄灯时间5s,红灯时间60s。各信号灯上要加上倒计时(参考实际交叉口信号灯上的倒计时)。示意图如图。
要求要考虑每个进口所能看到的信号(也就是要建4组信号灯)。


帮忙的 可以私聊重谢 我是学生 这是课程设计  QQ346340176



[ 本帖最后由 xu070306 于 2012-5-23 20:01 编辑 ]
搜索更多相关主题的帖子: 时间 运行程序 交叉口 平面图 
2012-05-23 18:51
xu070306
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2012-5-23
收藏
得分:0 
发不起图片
2012-05-23 18:52
xu070306
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2012-5-23
收藏
得分:0 
求帮助@@@@@@@@@@@@@@@@@@@@@@@@@@
2012-05-23 20:01
Artless
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:4211
专家分:28888
注 册:2009-4-8
收藏
得分:4 
啥困难

无知
2012-05-23 23:13
xu070306
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2012-5-23
收藏
得分:0 
回复 4楼 Artless
版主大大 帮忙做下嘛 或者给个QQ  我跟你私聊  可以适当感谢你  因为我是大一的 这些根本没学过 可是老师又叫做 因为学校安排错了  所以只好求助
2012-05-24 10:09
wube
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:23
帖 子:1820
专家分:3681
注 册:2011-3-24
收藏
得分:4 
正常吧大学都这样~老师上课都只会哈啦~出的作业都是跟上课无关的东西~
我大一计算机作业~老师就直接叫我们用简易编译器(名字忘了)~
直接用8个IO输入1或0~配上And Or Xor Not...闸~最后做出数字电子看板显示器~
听都没听过的~谁知道那是啥东西~但是为了学分~最后就是会做得出来~
这就是上大学要培养出来的基本能力~就算没碰过的~还是得做出来~

上大学就是要培养学生自学的能力~找高手帮做很简单~但是就失去学习的意义了~
就算混毕业了~还是得从0开始~该来的还是躲不掉~

不要選我當版主
2012-05-24 12:18
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4947
专家分:30084
注 册:2008-10-15
收藏
得分:4 
图片附件: 游客没有浏览图片的权限,请 登录注册


代码不贴了。说一下实现方法。要自己能写得出才好。

一、控件
1、示范图,直接画个图,然后加载到 Picture1 中。
2、灯。圆形,用 Shape 控件,组不组控件数组随意。
3、倒计时。用 Label 控件。
4、按钮。我这里用的是二个 Check 控件。内容:自动,手动。
   另 手动中所示二个按钮,使用的是 Option 。
   关闭按钮,使用的才是:Command
5、另放一个计时器(timer),Interval :1000 , Enabled :False
二、方法
1、常量:
Const TXDR = 55         '通行东西红灯时间
Const TXLR = 60         '通行南北红灯时间
Const TXH = 5           '通行黄灯时间
2、变量,一个计时用的变量,一个表示状态的变量。
  状态的变量可用或不用,用的话,可以节省CPU处理时间。
3、响应事件。
  自动,手动,需要响应事件。我的代码主要写在计时器里,所以 这个响应事件很简单。

程序代码:
Private Sub Check1_Click()          '点击自动
If Check1.Value = 1 Then            '如果自动开
    Check2.Value = 0                '手动关
    DoEvents                        '等待手动关响应执行完
    TXjs = 0
    Timer1.Enabled = True           '开定时器
Else                                '否则
    Timer1.Enabled = False          '关定时器
End If    
End Sub

Private Sub Check2_Click()          '点击手动
If Check2.Value = 1 Then            '如果手动关
    Check1.Value = 0                '自动关
    DoEvents                        '等待自动关响应执行完
    TXjs = 0
    Timer1.Enabled = True           '开定时器
Else                                '否则
    Timer1.Enabled = False          '关定时器
End If    
End Sub


4、定时器里。
  首先,计时,每1秒,自加1
  当 计时的结果超过一个周期,置 0
  对 计时结果进行 多分支选择。
          Select Case TXjs
            Case Is < TXDR         '东西红
            Case Is < TXDR + TXH     '东西黄
            Case Is < TXDR + TXH + TXLR '南北红
            Case Is < TXDR + TXH + TXLR + TXH '南北红
            Case Else
                TXjs = 0
        End Select
  每个分支中,单独对四个灯和四个倒计时分别指定。

手动部分,没什么,判断一下,然后直接指定,不解释了。
程序代码:
    If Check2.Value = 1 Then
        If Option1.Value = True Then
            Shape1(0).FillColor = vbRed
            Shape1(1).FillColor = vbRed
            Shape1(2).FillColor = vbGreen
            Shape1(3).FillColor = vbGreen
            'Label1(0).ForeColor = vbRed
            'Label1(1).ForeColor = vbRed
            'Label1(2).ForeColor = vbGreen
            'Label1(3).ForeColor = vbGreen
            
            Label4.Caption = "南北:绿"
            Label5.Caption = "东西:红"
            DoEvents
        Else
            Shape1(0).FillColor = vbGreen
            Shape1(1).FillColor = vbGreen
            Shape1(2).FillColor = vbRed
            Shape1(3).FillColor = vbRed
            'Label1(0).ForeColor = vbGreen
            'Label1(1).ForeColor = vbGreen
            'Label1(2).ForeColor = vbRed
            'Label1(3).ForeColor = vbRed
            
            Label4.Caption = "南北:红"
            Label5.Caption = "东西:绿"
            DoEvents
        End If
        
        Label1(0).Caption = ""
        Label1(1).Caption = ""
        Label1(2).Caption = ""
        Label1(3).Caption = ""
        
    End If


等你实在是想不出时再贴代码吧。

授人于鱼,不如授人于渔
早已停用QQ了
2012-05-24 13:53
jack123son
Rank: 1
等 级:新手上路
帖 子:30
专家分:5
注 册:2011-10-8
收藏
得分:4 
我想用 来做,但是圆圈应该用什么控件来做呢?
2012-05-26 09:43
szylh1314
Rank: 1
等 级:新手上路
帖 子:1
专家分:4
注 册:2012-5-28
收藏
得分:4 
路过 看看
2012-05-28 19:53
苍穹之舞
Rank: 2
等 级:论坛游民
威 望:1
帖 子:62
专家分:35
注 册:2014-10-7
收藏
得分:0 
以下是引用jack123son在2012-5-26 09:43:04的发言:

我想用 来做,但是圆圈应该用什么控件来做呢?

Shape1,就是图形控件,默认是方的,你画出来,在属性里改成圆形
2014-10-24 16:57
快速回复:遇到困难 求帮助 需要用VB设计红绿灯模拟运行程序
数据加载中...
 
   



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

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