回 帖 发 新 帖 刷新版面

主题:pb如何捕获COM口开关事件,mscomm控件?

本人正在用pb开发一数据采集软件,想通过在串口上接一开关控制某二针脚的通断,想通过开关控制进行数据采集,请问如何实现?本人原打算用mscomm控件,但无法触发oncomm事件,是否代码有问题?代码如下:
窗口open事件:
ole_MSComm.object.CommPort=1
ole_MSComm.object.Settings="9600,N,8,1"
ole_MSComm.object.PortOpen=true
ole_MSComm.object.Rthreshold=1
ole_MSComm.object.Inputlen=0
oncomm事件
//choose case ole_MSComm.object.CommEvent
//        case 1
//            messagebox("","1")
//        case 2
//            messagebox("","2")
//        case 3
//            messagebox("","3")
//        case 4
//            messagebox("","4")
//        case 5
//            messagebox("","5")
//        case 6
//            messagebox("","6")
//        case 7
//            messagebox("","7")
//        case else
//            messagebox("",string(ole_MSComm.object.CommEvent))
//    end choose

回复列表 (共3个回复)

沙发

我对PB与硬件接口方面不精通,但是我想,你是不是脚本不应该写在OPEN事件中呢?
你不是需要触发oncomm事件吗?试试别的事件看看吧~

板凳

大哥,你咋知道我跟你碰到了一抹一样的问题呢〉?期待答案!!

3 楼

string condition,condition1,condition2
if trim(ddplb_1.text)="" then
    condition1="3>2"                   //此时无措
    condition2="3>2"
else
    condition1="d_icompany='"+ddplb_1.text+"'"
   condition2 ="d_ocompany='"+ddplb_1.text+"'"     //expression is not valid
end if
condition=condition1+" or "+condition2
MessageBox("Result", condition, Exclamation!)  //显示:
//d_icompany="aa"or d_ocompany="aa"
dw_1.setfilter(condition)
dw_1.filter()
dw_1.retrieve()
MessageBox("Result", condition, Exclamation!)
what's wrong????

我来回复

您尚未登录,请登录后再回复。点此登录或注册