回 帖 发 新 帖 刷新版面

主题:在Foxpro中如何用Mscomm发送16进字符A9?

请问专家:在Foxpro中如何用Mscomm发送16进字符串?
我要发送的是170个16进数字,从DBF中读取:A9 00 00 00 10 00 00 30 34 36 00 00 等,接收为文本。现在无法发送A9,其他正常。


              谢谢!

回复列表 (共19个回复)

11 楼


不行!我发帖前就是用你类似的方法.

12 楼


我用VB解决了问题(从网上东拼西凑)。

13 楼

[quote]
由于中文操作系统的原因,CHR()无法识别ASCII大于127的字符,VB有二进制变量,但VFP没有。我现在准备用VB编个发送小程序,用VFP调用。zfh630528你能否帮我编一个,具体发送和接受的内容我自己修改,我的EMAIL:107041038@qq.com,谢谢![/quote]

VFP 提供了二进制变量!!!

14 楼

版副:你好!能否讲详细点,多谢!!!!!!!

15 楼


是啊,请讲解一下VFP的二进制变量。谢谢!

16 楼

1楼,请再用这个方法试试:Thisform.olecontrol1.Output=CREATEBINARY(CHR(ASC(0hA9)))
试后,请把结果在此贴中告知,谢谢!

17 楼

Thisform.olecontrol1.Output=CREATEBINARY(CHR(ASC(0hA9))) 错的。
ASC(0hA9)的语法也错的。
cbl518 只说了“VFP 提供了二进制变量!!!”,没有解决方案!
在 Visual FoxPro 中,二进制数据可以包含在字符串中,用 CRETEBINARY()函数将它转换为二进制字符串形式,但在中文操作系统中Foxpro用Mscomm不能发送二进字符串!,英文操作系统我没有试过。估计此路不通!!

18 楼

噢,我忘了告诉我了,我用的是VFP9.0中文汉化版,已经试验了,可以发送“A9”......,AScii码大于128的字符。Thisform.olecontrol1.Output=CREATEBINARY(CHR(ASC(0hA9))) 是可以的。实际上,Thisform.olecontrol1.Output=0hA9即可。


19 楼


OK
 谢谢!

我来回复

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