mscomm控件怎么用啊,msdn里的帮助都是vb的.
我原用pb写MIS,现在所写系统要和一IC卡读写器相连,通过串口实现对IC卡的读写.但该读写器的通信协议中必须包含有char(0),而pb中将其忽略.故此我想用vc或是vb写一个DLL或是标准控件而用pb来调用.但因为从来没写过此类东西,不知如何下手,特向高手请教:
1.能否可将mscomm控件整合在一起编成一个自制的.ocx?
2.我用vc写了一段程序可读其中的文本信息,但如何取出buf_in中的字符串?
VARIANT vrt,buf_in;
cstring buf_out;
buf_out = "通信协议";
vrt.vt=VT_BSTR;
vrt.bstrVal=buf_out.AllocSysString();
m_comm.SetOutput(vrt);
buf_in = m_comm.GetInput();
3.读入的信息有文本和二进制信息,可一并接收吗?须分两次才行?二进制信息又该怎样接收并取出?
4.vc和vb我都没用过,写这样的东西哪个更好些?
谢谢各位啦!
问题点数:100、回复次数:13Top
1 楼gch()回复于 2000-09-06 08:26:00 得分 0
vc当然更好一些,可参照vc例子vcterm,关于mscomm写的很详细。Top
2 楼oldworm(oldworm)回复于 2000-09-07 17:15:00 得分 0
串行口的读写的东西很多,我也写过一个,到现在安全运行该有两年了,公司现在处理串行口方面的全部软件都是采用我写的那个东西,当然是不能给你的。
mscomm的帮助在windows的help子目录下面有,你自己去找,是个.chm文件。
Top
3 楼oldworm(oldworm)回复于 2000-09-07 17:21:00 得分 0
如果有利可图的话我可以给你一个包装好的DLL,哈哈
Top
4 楼duanyi()回复于 2000-09-07 17:46:00 得分 0
s1977,不用着急,你想到的已经非常多了。我这里有著名通信公司的标准串行通信口DLL,还有例程。如需要请联系!
Top
5 楼duanyi()回复于 2000-09-07 17:49:00 得分 0
另外,s1977,你经常看“计算机世界”吗?上面有一篇专门讲他!!!!!Top
6 楼s1977()回复于 2000-09-07 22:10:00 得分 0
to gch:谢谢你!参看了该例子,虽不全明其意,但我现在已能读写文本信息了,还不知二进制数据该如何操作.
to oldworm:分数要算"利"的话你可以考虑.
to duanyi:多谢!"计算机世界"吗?哪一期?Top
7 楼jerry921(jerry)回复于 2000-09-07 22:18:00 得分 50
我有一个串口的程序,是C++Builder的程序,但我没有用mscomm控件,原因有几个,一个是不好
用,Basic的源程序,觉得太弱智了点,再一点是源程序换一个地方就要费很大力气改设置才能通过编译(要安装控件吗),真的很烦,后来我找了一个串口的编程的书,把串口当一个文件打开操作,在msdn里也有一篇关于串口编程的资料,不过全是英文的,但该资料没有讲SetupComm的用法,所以在NT下使用有点问题,NT下要用该函数设置输入输出缓冲区。如需要我给你源程序,e-mail:jerry921@netbig.comTop
8 楼duanyi()回复于 2000-09-08 08:51:00 得分 0
对了!那个在计算机世界的web上也有,www.ccw.com.cn.你可以查一下.Top
9 楼duanyi()回复于 2000-09-08 15:47:00 得分 50
s1977,为什么不给我加分?????????Top
10 楼s1977()回复于 2000-09-10 14:11:00 得分 0
to duanyi:不好意思,这几天都没有上网。先给50如何,问题还没有解决,毕竟还有朋友在帮我。Top
11 楼s1977()回复于 2000-09-17 21:57:00 得分 0
给分啦!Top
12 楼ivefire()回复于 2000-09-18 14:35:00 得分 0
CString str;
buf_in.vt=VT_BSTR;
str=(CString)buf_in.bstrVal;
这样就行了。
Top
13 楼ivefire()回复于 2000-09-18 14:42:00 得分 0
m_mscomm.setinputmode(1);//以二进制形式读取
然后把读入的数据转化为字符,就这么简单。Top




