如何使用mscomm控件发送 值>128 的字符?

alexshao1978 2003-12-12 10:38:37
使用MSCOMM控件,但是发现使用 MSCOMM1.OUTPUT = CHR(139)时发送的不是139而是0,不明白如何发送二进制数据,请各位大虾指教
...全文
56 3 打赏 收藏 举报
写回复
3 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
lnwwh 2003-12-23
发送
dim dynamicbyte() as byte
..
..
redim dynamicbyte(1 to n)
for i = 1 to n
dynamicbyte(i) = var(i)
next i
mscomm1.output = dynamicbyte
接收
dim getbyte() as byte
..
..
getbyte = mscomm1.input
for i = lbound(getbyte) to ubound(getbyte)
var(i) = getbyte(i)
next i
  • 打赏
  • 举报
回复
mendoor 2003-12-14
是的,MSCOMM控件不能发送大于128的ASCII码,但是,我们仍然可以通过别的方法来实现ASCII码的发送。

考虑到一个BYTE型的数据是8位的,即恰好是2^8=256的,所以,我们可以通过把大于128的ASCII码转换成BYTE型,然后再传即可。

例,欲传ASCII码为139的字符
Dim bytAscii as byte
bytAscii=139
mscomm1.output=bytAcsii

如果是有多个字符的话,可以使用动态的BYTE数组。
  • 打赏
  • 举报
回复
flc 2003-12-14
关注
学习
  • 打赏
  • 举报
回复
相关推荐
发帖
控件
加入

1431

社区成员

VB 控件
申请成为版主
帖子事件
创建了帖子
2003-12-12 10:38
社区公告
暂无公告