| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1260 人关注过本帖
标题:如何用vb实现如下功能啊?求高手们指导,实在感激不尽!!!
只看楼主 加入收藏
滇之东北
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2013-5-26
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:11 
如何用vb实现如下功能啊?求高手们指导,实在感激不尽!!!
我想用vb窗口来显示当前单片机所读出来的温度,然后根据温度判断不同颜色的灯亮,我是这样写的,
Private Sub MSComm1_OnComm()
    Dim rec As String
    Select Case
    Case comEvReceive
        rec = MSComm1.Input
        Text2.Text = rec + ℃
        MSComm1.InBufferCount = 0
    If ("25" <= (Text2.Text) < "27") Then
        Shape1.BackStyle = 1
        Shape1.BackColor = vbGreen
    End If
    If ("27" <= Text2.Text < "29") Then
        Shape2.BackStyle = 1
        Shape2.BackColor = vbGreen
    End If
    If (Text2.Text >= "29") Then
        Shape3.BackStyle = 1
        Shape3.BackColor = vbGreen
    End If
    End Select
End Sub
可是怎么都不按要求来执行啊。
图片附件: 游客没有浏览图片的权限,请 登录注册

在温度低于29摄氏度的时候还是第三个灯亮,改变温度,都只是第三个灯在亮,我是新手,求高手们指导,感激不尽。
搜索更多相关主题的帖子: 如何 
2013-05-26 16:26
wxflw
Rank: 6Rank: 6
等 级:侠之大者
帖 子:325
专家分:435
注 册:2012-1-29
收藏
得分:2 
要先把text2中的“℃”去掉才呢过判断吧?你不如直接把“rec”变量值代替text2的值进行判断来的方便吧

学习--------------学习-------------------学习--------------------!!
2013-05-26 18:01
滇之东北
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2013-5-26
收藏
得分:0 
回复 2楼 wxflw
还是不行,还是和原来一样的效果。
2013-05-26 19:13
Artless
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:4211
专家分:28888
注 册:2009-4-8
收藏
得分:1 
If (rec>= "29") Then

无知
2013-05-26 19:44
wxflw
Rank: 6Rank: 6
等 级:侠之大者
帖 子:325
专家分:435
注 册:2012-1-29
收藏
得分:1 
那个25.29.27这几个数值还要用引号吗?我遇到直接给的数值都不用引号引起来的,直接处理那个变量


试试这一个看
 rec = format(MSComm1.Input)
        Text2.Text = rec + ℃
        MSComm1.InBufferCount = 0
    If 25 <= rec < 27 Then
        Shape1.BackStyle = 1
        Shape1.BackColor = vbGreen
    End If

[ 本帖最后由 wxflw 于 2013-5-26 20:10 编辑 ]

学习--------------学习-------------------学习--------------------!!
2013-05-26 19:55
wxflw
Rank: 6Rank: 6
等 级:侠之大者
帖 子:325
专家分:435
注 册:2012-1-29
收藏
得分:2 
版主,为什么那个判断要用()这个啊?

学习--------------学习-------------------学习--------------------!!
2013-05-26 20:11
bczgvip
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:66
帖 子:1310
专家分:5312
注 册:2009-2-26
收藏
得分:2 
Private Sub MSComm1_OnComm()
    Dim rec As String
    dim fTemp as double
    Select Case
    Case comEvReceive
        rec = MSComm1.Input '还有其他参数吧?
        fTemp = val(rec)
        Text2.Text = rec + ℃ '你确定这个没错么?或是变量?
        MSComm1.InBufferCount = 0
    If (25 <= (fTemp) < 27) Then
        Shape1.BackStyle = 1
        Shape1.BackColor = vbGreen
    End If
    If (27 <= fTemp < 29) Then
        Shape2.BackStyle = 1
        Shape2.BackColor = vbGreen
    End If
    If (fTemp >= 29) Then
        Shape3.BackStyle = 1
        Shape3.BackColor = vbGreen
    End If
    End Select
End Sub
2013-05-26 20:28
滇之东北
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2013-5-26
收藏
得分:0 
回复 7楼 bczgvip
谢谢版主,通过您给的程序改进,有了一些效果,当温度低于29摄氏度处于27-29摄氏度之间,第三个灯不亮了,而此时第一个灯还在亮,是怎么回事呢?效果图为
图片附件: 游客没有浏览图片的权限,请 登录注册
,非常感谢版主,我是新手,忘版主多多指教。
2013-05-27 09:49
滇之东北
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2013-5-26
收藏
得分:0 
回复 5楼 wxflw
很感谢您的帮助,可是弄了之后还是没啥变化,真心谢谢您的帮助。
2013-05-27 09:51
Artless
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:4211
专家分:28888
注 册:2009-4-8
收藏
得分:2 
以下是引用bczgvip在2013-5-26 20:28:02的发言:

Private Sub MSComm1_OnComm()
    Dim rec As String
    dim fTemp as double
    Select Case
    Case comEvReceive
        rec = MSComm1.Input '还有其他参数吧?
        fTemp = val(rec)
        Text2.Text = rec + ℃ '你确定这个没错么?或是变量?
        MSComm1.InBufferCount = 0
    If (25 <= (fTemp) < 27) Then
        Shape1.BackStyle = 1
        Shape1.BackColor = vbGreen
        Shape2.BackStyle = 0
        Shape3.BackStyle = 0
        Shape2.BackColor =-2147483633
        Shape3.BackColor =-2147483633
    End If
    If (27 <= fTemp < 29) Then
        Shape2.BackStyle = 1
        Shape2.BackColor = vbGreen
        Shape1.BackStyle = 0
        Shape3.BackStyle = 0
        Shape1.BackColor =-2147483633
        Shape3.BackColor =-2147483633
    End If
    If (fTemp >= 29) Then
        Shape3.BackStyle = 1
        Shape3.BackColor = vbGreen
        Shape1.BackStyle = 0
        Shape2.BackStyle = 0
        Shape1.BackColor =-2147483633
        Shape2.BackColor =-2147483633
    End If
    End Select
End Sub
忘了是字符的

无知
2013-05-27 13:54
快速回复:如何用vb实现如下功能啊?求高手们指导,实在感激不尽!!!
数据加载中...
 
   



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

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