和com口通讯的问题,在线等待。
我写了同com的通讯代码。
oleobject oleobject_1
oleobject_1 = create oleobject
int lianjie
any shuju
lianjie=oleobject_1.connecttonewobject('MSCOMMLib.MSComm')
if lianjie<>0 then
messagebox('错误','未建立ole连接!')
halt
end if
oleobject_1.CommPort=1
oleobject_1.Settings="4800,N,8,1"
oleobject_1.inputlen=0
oleobject_1.PortOpen=true
oleobject_1.output="8680000816"
可是我的win2000就是收不到回应,听说在win2000下不能这样和com口通讯是真的吗,那该怎么办啊,谢谢大家了。
问题点数:50、回复次数:14Top
1 楼xingxing(xingxing)回复于 2002-04-26 16:55:37 得分 0
---- 1、Windows SDK函数介绍
OpenComm int OpenComm(LpszDevControl, CbInQueue,cbOutQueue)
LPCSTR lpszdevcontro l 设备控制信息的地址 UINT CbInQueue 接受队列的大小(以字节为单位)
UINT cbOutQueue 发送队列的大小
返回:如调用成功,返回值标示此打开的设备否则其返回值小于0
·CloseComm Int CloseComm(idComDev)
Int idComDey 要关闭的设备 返回值:调用成功返回0,
否则返回负值
·WriteComm int WriteComm(idComDev,lpvBuf,cbWrite)
int idComDev 通讯设备标示符 const void FAR * lpvBuf 数据缓存区地址 int ,cbWrite 要写的长度
返回值:如果成功返回所写的字节数,否则返回值小于0
·ReadComm Int ReadComm(idComDev,lpvBuf,cbRead)
int idComDev 通讯设备标示符 const void FAR * lpvBuf 数据缓存区地址 int cbRead 要读的字节数
返回值:如果成功返回所读的字节数,否则返回值小于0
·FlushComm Int FluseComm(idComDev,fnQueue)
Int idComDev 通讯设备标示符 Int fnQueue 要刷新的队列 返回值:成功时返回0,否则返回为负
---- 2、示例:
---- 图一(略)为一人事管理系统中的查询窗口。如果想与被查询人拨打电话,可输入该人姓名,在输入
过程中,数据窗口会显示满足要求的所有人姓名,双击该行即将该人电话号码显示于单行编辑窗内,
然后按“拨号”按钮即可。
---- 程序设计如下:
---- 在窗口设计菜单中选取:Declare菜单?Declare External Function 输入:
Function int OpenComm(String Comm, Uint Inqueue,Uint Outqueue)Library “USER.EXE”
Function int CloseComm(int lpt)Library “USER.EXE”
Function int WriteComm(int lpt,String buf,int Size) Library “USER.EXE”
Function int FlushComm(int lpt, int no_que)Library “USER.EXE”
“拨号”按钮的”Clicked” 事件编程如下:
int ret String port_2,ph_code port_2=”Com2” //取单行编辑框内容,并用atdt拨号
ph_code=”atdt”+sle_code+”~r~n” //打开串口
ret=OpenComm(port_2,128,128) //拨号开始
FlushComm(ret,0)
FlushComm(ret,1)
WriteComm(ret,ph_code,len(ph_code))
WriteComm(ret,”~r~n”,2)
CloseComm(ret)Top
2 楼xixi2002(西西)回复于 2002-04-26 17:03:55 得分 0
这篇文章我看过,正准备试Top
3 楼xingxing(xingxing)回复于 2002-04-26 17:11:24 得分 0
那还问!!!Top
4 楼ldy(罗大佑)回复于 2002-04-26 18:51:28 得分 0
可以用MSCOMM32.OCXTop
5 楼xixi2002(西西)回复于 2002-04-26 19:02:01 得分 0
我联接的就是他啊,mscomm32.ocxTop
6 楼xixi2002(西西)回复于 2002-04-26 19:13:18 得分 0
我用outbuffercount()接受发送缓冲区的字节,没有啊,就是说oleobject_1.output="8680000816"没有进入缓冲区啊Top
7 楼xixi2002(西西)回复于 2002-04-26 20:17:37 得分 0
谁告诉我答案啊Top
8 楼swjtu95(老狼)回复于 2002-04-26 20:54:23 得分 0
有个串口通讯控件的源程序,想要的话留个MAILTop
9 楼Xuedong(Xuedong)回复于 2002-04-26 20:55:28 得分 0
我认为应该是这样:
oleobject_1.object.output="8680000816"
Top
10 楼xixi2002(西西)回复于 2002-04-26 21:01:26 得分 0
好的,我的e-mail:xiedong1@21cn.com谢谢大家,不过,我在win2000下没有通过,oleobject_1.object.output="8680000816" 这种方法我试过了不行,
和上面的情况一样。
Top
11 楼lkxhappy(第二梦)回复于 2002-04-26 21:09:21 得分 0
哦,给我一个好嘛
lkxhappy@sina.com ,谢谢了~~
Top
12 楼swjtu95(老狼)回复于 2002-04-26 21:13:56 得分 50
信件已经成功发送到 xiedong1@21cn.com,lkxhappy@sina.com
Top
13 楼lcong(三万英尺)回复于 2002-04-26 21:25:46 得分 0
呵呵,现给我一个吧lcong_001@163.comTop
14 楼lizx(lizx)回复于 2002-04-26 22:49:20 得分 0
给我一个嘛,谢谢!
lizx@21cn.comTop
相关问题
- spcomm串口通讯怪问题,在线等待高手赐教!!!
- 谁用 MSCOMM 和 Delphi 开发过串口通讯程序------在线等待!!!!
- 实时通讯—在线等待(100分)
- 请问想用多线程解决串口通讯问题,应该怎样编写主线程和监视线程?具体如何实现?(在线等待)
- 关于同com通讯的问题,在线等待。
- 语音通讯问题,紧急求助高手, 在线等待~~~~~~~~~~~~
- 在线等待,winsock Server 与 client 通讯程序原码!
- 串口通讯—RE232,通过专线MODEM与单片机通讯
- 100分赠送!关于串口通讯 mscomm 的问题 如果解决问题可另行相分 在线等待!!!!!!
- 通过串口(r232)与计算机通讯,高分等待例程




