yuanshi3 发表于 2012-2-18 14:00:29

怎么获取到HScroll1.Value的时刻变化值,然后传到下位机

我用VB做了个小软件,点击电机“正转”(协议为:&HAA &H1 &HXX &HFF,其中&HXX对应滚动条的速度),然后我拖动滚动条,改变电机“速度”,这个&HXX 要实时改变并连同这个&HAA &H1 &HXX &HFF协议发到下位机去,请问怎么做啊?
注:&HXX 范围在0-6000,发送时为十六进制。

54anson 发表于 2012-2-18 15:26:59

HScroll控件可以提供change事件吧

yuanshi3 发表于 2012-2-18 22:35:16

回复【1楼】54anson 小a
-----------------------------------------------------------------------

有change,但是不是我所需要的,实现不了这个

Dalong357 发表于 2012-2-18 23:40:25

在change事件里发送"&HAA&H1&"+.value.Tostring+ "&H1& &HFF",至少C#是这么做的

weixinal 发表于 2012-2-18 23:41:50

加一个timer,设定合适的出发间隔,timer里面读取value

yuanshi3 发表于 2012-2-18 23:51:56

回复【4楼】weixinal
-----------------------------------------------------------------------

麻烦您帮忙详细点指点下吧

yuanshi3 发表于 2012-2-19 10:33:11

自己继续琢磨下

yuanshi3 发表于 2012-2-19 21:06:24

这样用滑块改变速度往下位机发送 合理吗?尤其是VB做这个

weixinal 发表于 2012-2-19 21:49:11

读取滑块的值和计算速度都放在一个定时器里面,vb空间库里有的

yuanshi3 发表于 2012-2-19 22:17:35

回复【8楼】weixinal
-----------------------------------------------------------------------

麻烦您说具体点吧?

chinabn 发表于 2012-2-20 09:24:01

8楼的思路已经非常详细了。
师傅带进门,修行在个人。

yuanshi3 发表于 2012-2-20 14:03:07

现在的问题主要是我点击“正转”,直接点击“调速”,就能实时调速了。而不是我先点到某个速度后,再点击“正转”。问问想这样前者应该怎么做?

weixinal 发表于 2012-2-22 15:11:18

网上so一下vb的定时器嘛,我没时间,要不给你写详细的,你看看这篇文章吧,希望能给你提示

1.设定时器控件(例如“Timer1”)的启动你已经解决;
2.设有一个控件(例如Label控件“提醒内容控件”)用于显示提醒内容,其Enabl属性为False;
3.双击Timer1图标,在代码窗口书写如下子过程:
Private Sub Timer1_Timer()
   If 提醒内容控件.Visible = False Then'定时器首次动作
    提醒内容控件.Visible = True          '显示提醒内容
    Timer1.Interval = 60000             '设置60秒后定时器再次动作
   Else                                 '定时器再次动作
    提醒内容控件.Visible = False         '关闭提醒
    Timer1.Enabled = False            '关闭定时器
   End If
End Sub


http://cache.amobbs.com/bbs_upload782111/files_52/ourdev_721114KFYQUO.jpg
控件工具栏里的定时器 (原文件名:vb定时器.jpg)

http://cache.amobbs.com/bbs_upload782111/files_52/ourdev_721115Y632UN.jpg
(原文件名:拖动到窗体里.jpg)

waterx3 发表于 2012-2-22 15:18:48

Scroll、 Change 事件

yuanshi3 发表于 2012-2-22 15:21:37

这个我搞定了,谢谢weixinal ,非常感谢
页: [1]
查看完整版本: 怎么获取到HScroll1.Value的时刻变化值,然后传到下位机