是的,MSCOMM控件不能发送大于128的ASCII码,但是,我们仍然可以通过别的方法来实现ASCII码的发送。考虑到一个BYTE型的数据是8位的,即恰好是2^8=256的,所以,我们可以通过把大于128的ASCII码转换成BYTE型,然后再传即可。例,欲传ASCII码为139的字符 Dim bytAscii as byte bytAscii=139 mscomm1.output=bytAcsii如果是有多个字符的话,可以使用动态的BYTE数组。
发送 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
Dim bytAscii as byte
bytAscii=139
mscomm1.output=bytAcsii如果是有多个字符的话,可以使用动态的BYTE数组。
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