读书人

PB怎么实时读取COM端口的数据

发布时间: 2012-12-26 14:39:29 作者: rapoo

PB如何实时读取COM端口的数据
一个打卡机,想做刷卡机用,实时读取卡里面的卡号,怎么做啊
open
ole_comm.object.CommPort = 3
ole_comm.object.Settings = "2400,n,8,1"
ole_comm.object.InputLen = 0
ole_comm.object.InputMode=0
ole_comm.object.InBufferSize = 90
ole_comm.object.OutBufferSize = 60
ole_comm.object.SThreshold = 1
ole_comm.object.RThreshold = 1
ole_comm.object.Handshaking = 0
ole_comm.object.PortOpen = True
ole_comm.object.InBufferCount = 0
ole_comm.object.DTREnable = true


common

sle_1.text = string(ole_comm.object.input)

没有反应,common方法都不进
[解决办法]
问:我想在PowerBuilder中实现对有关串口的编程,这该如何实现呢?
答:可以利用微软公司提供的通讯控件mscomm32.ocx来实现,使用方法如下:
选择菜单Controls→OLE→Insert Control→Microsoft Communications Control,加入后我们点击其OLE Control Properties,可以设置它的基本属性如通讯端口(C)、设置参数 (S) 等,当然我们也可以在程序中动态设置。以下是一段脚本例子:
  String ls_data
  ole_1.object.CommPort = 1 //使用COM1端口
  ole_1.object.Settings = "9600,N,8,1" //设置或返回串行端的波特率、奇偶校验位、 数据位数、停止位
  ole_1.object.InputLen = 0 //初始化Input
  ole_1.object.PortOpen = True //打开端口
  ole_1.Object.Output = "h" //向COM口发送字符
  Do
     Yield() //等待数据
  LOOP Until ole_1.Object.InBufferCount >= 1
  ls_Output = ole_1.Object.Input //取数据
  ole_1.object.PortOpen = FALSE //关闭端口


→我是小木鱼(Lag)


也可以去厂家网站上找开发手册和例子!

[解决办法]
你确定连接的是com3端口吗?
[解决办法]
这个等于是查询,不行的 网上的我都查过,都没有,我现在就是说要做通过COM刷卡
[解决办法]
是的 我电脑没有com口,用的USB TO COM
补充:用打卡机自带软件测试没问题!
[解决办法]
转换的com经常出现支持不好的情况的,,
自带软件可能是采用的轮询机制,就是楼上朋友给的那种方式,你可以去下个纯pb的com控制程序看看~~
如果是直接com口的话,一般用mscomm控件有消息就会触发oncomm事件的~~
[解决办法]
问题是现在的电脑都没有
[解决办法]
就用mscomm32没问题的
[解决办法]
顶顶!!买个刷卡系统好了,我优惠点卖给你
[解决办法]
mscomm使用问题,读取应该是事件
[解决办法]
有没有例子啊 单位不买刷卡的啊
就是要自己实现类似 打卡机自带软件的“时时考勤”功能


引用:
mscomm使用问题,读取应该是事件


能不能给个详细一点点的程序啊
[解决办法]
在补充有的使用自带软件时,当启动实时打开功能是,打卡机会“灯”一声,使用我怀疑需要向打卡机发送什么数据。但是厂家又不通过开发资料。能不能这方面谁了解帮我看看。
[解决办法]
在补充一点使用自带软件时,当启动实时打开功能时,打卡机会“灯”一声,所以我怀疑需要向打卡机发送什么数据。但是厂家又不提供开发资料。这方面谁了解能不能帮我看看。
[解决办法]
先用串口 调试工具尝试发送应答和看能否收到终端的应答再着手下一步了,

二进制流和字符串型数据都做尝试
[解决办法]
Free Serial Port Monitor

读书人网 >PB

热点推荐