求DELPHI用串口控件收发数据的小例子.

T97102003 2005-04-18 04:56:33
rt
...全文
820 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
delphfan 2005-04-18
  • 打赏
  • 举报
回复
www.2ccc.com上有例子,可以看下,我把那个例子改掉,加了些其他的功能,它的结构也有点问题,另外它支持UNICDOE,对汉字好象有问题,你可以下了后修改,用WIDESTRING实现汉字的正常收发和显示,
我改了后发传真可以了...
xinqingbucuo 2005-04-18
  • 打赏
  • 举报
回复
.属性



●CommName:表示 COM1、 COM2等串口的名字;



●BaudRate:根据实际需要设定的波特率,在串口打开后也可更改此值,实际波特率随之更改;



●ParityCheck:表示是否需要奇偶校验;



●ByteSize:根据实际情况设定的字节长度;



●Parity:奇偶校验位;



●StopBits:停止位;



●SendDataEmpty:这是一个布尔型属性,为 true时表示发送缓存为空,或者发送队列里没有信息;为 false时表示发送缓存不为空,或者发送队列里有信息。



2.方法



●Startcomm方法用于打开串口,当打开失败时通常会报错。错误主要有 7种:⑴串口已经打开;⑵打开串口错误;⑶文件句柄不是通信句柄;⑷不能够安装通信缓存;⑸不能产生事件;⑹不能产生读进程;⑺不能产生写进程;



●StopComm方法用于关闭串口,没有返回值;



●WriteCommData(pDataToWrite: PChar;dwSizeofDataToWrite:Word )方法是个带有布尔型返回值的函数,用于将一个字符串发送到写进程,发送成功返回 true,发送失败返回 false。执行此函数将立即得到返回值,发送操作随后执行。该函数有两个参数,其中 pDataToWrite是要发送的字符串, dwSizeofDataToWrite是发送字符串的长度。



3.事件



●OnReceiveData :procedure (Sender: TObject;Buffer: Pointer;BufferLength: Word) of object



当有数据输入缓存时将触发该事件,在这里可以对从串口收到的数据进行处理。 Buffer中是收到的数据, BufferLength是收到的数据长度。



●OnReceiveError : procedure(Sender: TObject; EventMask : DWORD)



当接收数据出现错误时将触发该事件。



xinqingbucuo 2005-04-18
  • 打赏
  • 举报
回复
自己在网上搜索一下,spcomm或者是mscomm的用法 说明,然后自己试着写一下,很简单的,本来我打算吧我写的例子给你的但是好像找不到了
chenylin 2005-04-18
  • 打赏
  • 举报
回复
procedure TFrmSwitchCheck.Comm1ReceiveData(Sender: TObject; Buffer: Pointer; BufferLength: Word);
var
i:Integer;
recvstr,Codestr:String; //串口接收到的字符串
recvbuf:array[1..65536] of Char; //Com信息缓存
begin
recvstr:='';
move(buffer^,pchar(@recvbuf)^,bufferlength);
for i:=1 to bufferlength do
Case recvbuf[i] of
#10,#13,#32..#127:recvstr:=recvstr+recvbuf[i];
end;
recvstr:=Trim(recvstr);
end;

书名:《Delphi串口及语音传真高级编程》(北京航空航天大学出版社.温锦山.唐柱鹏) PDF格式扫描版,全书分为9章,共420页。2002年4月出版。 内容简介 本书是一本介绍Delphi串口及语音传真编程的专著。从介绍Modem直接IO、TAPI编程出发,到介绍全球著名的组件Async Professional(APRO)的属性、方法、事件以及丰富的实例,特别是对语音、传真编程方法进行了深入的剖析,详尽地介绍了APRO的功能。    本书的精华是结合我国电信标准和Modem硬件的实际情况,部分修改了APRO组件的代码,用语音识别的方法解决了在“语音”模式中不能判断对方是否挂机、无人接听、忙音、静音等(“数据”模式本来就可以判断),修正了“传真”模式中部分内置Modem上不能收发传真的错误,成功地解决了国内语音、传真编程中的核心问题。    本书有丰富的实例,是作者多年来对电信编程的心得,是为解决实际问题而编写的,汇集了作者的经验和技巧。本书是电信应用编程中的得力助手,可为对Delphi语音、传真编程感兴趣者提供帮助,亦可供广大编程人员及各大专院校师生参考。 目录 第1章 引 言  1.1 delphi组件和vcl  1.2 delphi开发数据库  1.3 oop结构  1.3.1 类  1.3.2 类定义  1.3.3 类的特性  1.3.4 重载的方法和构造函数  1.3.5 继 承  1.4 windows注册表编程  1.5 多线程技术  1.5.1 线程的概念  1.5.2 线程的挂起和继续  1.5.3 多线程同步执行  1.5.4 tthread线程类  1.6 多媒体应用编程  1.7 调制解调器基础  1.7.1 pc串口的针脚分配  1.7.2 调制解调器工作原理  1.7.3 调制解调器的流控制 . 1.7.4 at命令 第2章 直接io及tapi编程  2.1 串行口api函数  2.1.1 常用的串行通信操作函数  2.1.2 delphi下的具体实现方法  2.2 mscomm32控件  2.2.1 用mscomm32.ocx代替繁琐的api函数调用  2.2.2 mscomm控件的安装  2.2.3 mscomm的主要属性和事件  2.2.4 mscomm32的使用例子  2.2.5 程控机计费系统的接收模块  2.3 tapi简介  2.3.1 关于tapi  2.3.2 tsp  2.3.3 tapi提供的服务与tapi硬件的关系  2.4 tapi实例  2.4.1 tapi通信的基本步骤  2.4.2 tapi函数  2.4.3 利用tapi编写实用的程序  2.5 第三方组件简介  2.5.1 turbopower apro  2.5.2 voice modem library组件  2.5.3 其他组件及控件  2.5.4 apro的优点 第3章 apro基本控件  3.1 端口操作控件  3.1.1 tapdcomport控件  3.1.2 comportform的例子  3.1.3 tapdwinsockport控件  3.1.4 tapdwinsockport的例子  3.2 拨号控件  3.2.1 tapdrasdialer控件  3.2.2 tapdrasstatus控件  3.2.3 拨号连接的例子  3.3 ftp文件传输控件  3.3.1 tapdftpclient控件  3.3.2 tapdftplog控件  3.3.3 ftp客户操作的例子  3.4 数据传输控件  3.4.1 tapddatapacket控件  3.4.2 数据包处理的例子  3.4.3 tapdscript控件  3.4.4 脚本编程的例子  3.5 modem控件  3.5.1 tapdsmodem控件  3.5.2 tapdslcontroller控件  3.5.3 tapdstatuslight控件  3.5.4 tapdsmodem的例子  3.6 终端控件  3.6.1 tadterminal控件  3.6.2 tadttyemulator控件  3.6.3 tadvt100emulator控件  3.6.4 termdemo的例子 第4章 传真控件  4.1 传真文件格式转换  4.1.1 tapdfaxconverter控件  4.1.2 传真文件转换源代码  4.2 收发传真控件  4.2.1 tapdsendfax控件  4.2.2 tapdreceivefax控件  4.2.3 tapdfaxstatus控件  4.2.4 tapdfaxlog控件  4.2.5 收发传真的例子  4.3 浏览传真文件控件  4.3.1 tapdfaxviewer控件  4.3.2 浏览传真文件的源代码  4.3.3 tapdfaxunpacker控件  4.3.4 传真文件解压的例子  4.4 传真打印控件  4.4.1 tapdfaxprinter控件  4.4.2 tapdfaxdriverinterface控件  4.4.3 打印状态监视的例子  4.4.4 tapdfaxprinterstatus控件  4.4.5 tapdfaxprinterlog控件  4.4.6 传真文件打印的例子  4.5 传真客户/服务器控件  4.5.1 tapdfaxserver控件  4.5.2 tapdfaxservermanager控件  4.5.3 tapdfaxclient控件  4.5.4 传真任务管理的例子 第5章 tapi控件  5.1 tapdtapidevice控件  5.2 tapdtapistatus控件  5.3 tapdtapilog控件 第6章 apro2.x  6.1 终端仿真控件  6.1.1 tapdterminal控件  6.1.2 tapdbpterminal控件  6.1.3 tapdemulator控件  6.1.4 tapdkeyboardemulator控件  6.2 modem控件  6.2.1 tapdinidbase控件  6.2.2 tapdmodemdbase控件  6.2.3 tapdmodem控件  6.2.4 tapdphonebook控件  6.2.5 tapdphonebookeditor控件  6.2.6 tapdphonenumberselector控件  6.2.7 tapdmodemdialer控件  6.2.8 tapddialerdialog控件  6.2.9 示例代码 第7章 语音自动应答系统  7.1 一个较简单的语音应答程序  7.2 完整的语音自动应答系统  7.2.1 系统概述及整体方案  7.2.2 被更改的控件代码adtapi.pas  7.2.3 主程序窗口  7.2.4 电话号码簿模块  7.2.5 wave格式转换模块  7.2.6 录音文件管理模块  7.2.7 tapi设备管理模块  7.3 疑难解答与调试  7.3.1 疑难解答  7.3.2 调 试 第8章 收发传真系统  8.1 系统概述  8.2 整体方案  8.3 系统应用  8.4 源代码剖析  8.4.1 主程序模块  8.4.2 设计传真页面模块  8.4.3 解压线程  8.4.4 压缩线程  8.5 疑难解答与调试  8.5.1 疑难解答  8.5.2 调 试 第9章 监视串口的windows内核编程  9.1 内核程序编写初步  9.2 实现步骤  9.3 源码分析  9.3.1 动态连接库模块  9.3.2 截取api的公共单元  9.3.3 主程序模块 附 录  附录a 组件的安装  附录b at命令一览表

1,593

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 网络通信/分布式开发
社区管理员
  • 网络通信/分布式开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧