Delphi网络接口和串口编程

maqianjun 2004-10-18 02:32:33
本人现在新工作是从事Delphi网络接口编程和串口编程的,望各位提供学习的方法和资料
...全文
169 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
hongama 2004-10-19
  • 打赏
  • 举报
回复
一、MSComm控件的主要属性及事件
  (1)CommPort:设置或返回串行端口号,缺省为1。
  (2)Setting:设置或返回串口通信参数,格式为“波特率,奇偶校验位,数
据位,停止位”。例如:MSComm1.Setting:='9600,n,8,1'
  (3)PortOpen:打开或关闭串行端口,格式为:MSComm1.PortOpen:
={True|False}
  (4)InBufferSize:设置或返回接收缓冲区的大小,缺省值为1024字节。
  (5)InBufferCount:返回接收缓冲区内等待读取的字节数,可通过设置该属
性为0来清空接收缓冲区。
  (6)RThreshold:该属性为一阀值,它确定当接收缓冲区内的字节个数达到
或超过该值后就产生代码为ComEvReceive的OnComm事件。
  (7)SThreshold:该属性为一阀值,它确定当发送缓冲区内的字节个数少于
该值后就产生代码为ComEvSend的OnComm事件。
  (8)InputLen:设置或返回接收缓冲区内用Input读入的字节数,设置该属性
为0表示Input读取整个缓冲区的内容。
  (9)Input:从接收缓冲区读取一串字符。
  (10)OutBufferSize:设置或返回发送缓冲区的大小,缺省值为512字节。
  (11)OutBufferCount:返回发送缓冲区内等待发送的字节数,可通过设置该
属性为0来清空缓冲区。
  (12)OutPut:向发送缓冲区传送一串字符。
  如果在通信过程中发生错误或事件,就会引发OnComm事件,并由CommEvent属
性代码反映错误类型,在通信程序的设计中可根据该属性值来执行不同的操作。
CommEvent属性值及其含义如下:
  (1)ComEvSend:值为1,发送缓冲区的内容少于SThreshold指定的值。
  (2)ComEvReceive:值为2,接收缓冲区内字符数达到RThreshold指定的值。
  (3)ComEvFrame:值为1004,硬件检测到帧错误。
  (4)ComEvRxOver:值为1008,接收缓冲区溢出。
  (5)ComEvTxFull:值为1010,发送缓冲区溢出。
  (6)ComEvRxParity:值为1009,奇偶校验错误。
  (7)ComEvEOF:值为7,接收数据中出现文件尾(ASCII码为26)字符。
SPCOMM的属性、方法和事件

1.属性

●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)

当接收数据出现错误时将触发该事件。
sanshiz 2004-10-19
  • 打赏
  • 举报
回复
楼上大哥
小弟在此感谢,
我也下了一次:
不过我还不知道怎么散分,
我的分一直在增加
jpyc 2004-10-19
  • 打赏
  • 举报
回复
网络用

http://soft.56kc.com/FileDown.aspx?FID=411
jpyc 2004-10-19
  • 打赏
  • 举报
回复
http://soft.56kc.com/FileDown.aspx?FID=386

http://soft.56kc.com/Filedown.aspx?FID=167

http://www.56kc.com/web/technology/chuangkou.htm
3xcom 2004-10-18
  • 打赏
  • 举报
回复
串口用spcomm,网口用indy
OracleCoder 2004-10-18
  • 打赏
  • 举报
回复
up
我不懂电脑 2004-10-18
  • 打赏
  • 举报
回复
网络接口TNMUDP
山娃马小三儿 2004-10-18
  • 打赏
  • 举报
回复
正好我都在用,串口我用spcomm,网口我用indy
maqianjun 2004-10-18
  • 打赏
  • 举报
回复
TO:XYZ800316
你有哪些学习资料啊?能不能发给我学学啊?
xyz800316 2004-10-18
  • 打赏
  • 举报
回复
我用的是PComm,自带了很丰富的帮助学习资料。
xyz800316 2004-10-18
  • 打赏
  • 举报
回复
看自带的帮助文档,源代码和Demo!我觉得串口挺好控制的。
maqianjun 2004-10-18
  • 打赏
  • 举报
回复
串口主要用SPComm控件,网络接口UDP协议,望各位提供详细的学习资料

828

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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