使用该组件一旦安装:
{使用该组件的基本步骤:}
1)将一到'OnReceiveData'事件处理程序。
{1)添加'' OnReceiveData'事件。}
2)呼叫'StartComm'来打开端口。
{2)调用'StartComm'方法打开串口。}
3)使用'WriteCommData'方法写入通讯端口。
{3)使用'WriteCommData'方法向串口写入(发送)数据。}
4)呼叫'StopComm'关闭该端口。
{4)调用'StopComm'方法关闭串口}
物业
========
CommName:字符串
该通讯端口的名称。 该通信端口被命名为'的COM1','COM2 ',...
这个通讯端口必须打开它时存在。
波特率:DWORD的
此通讯端口波特率。 它必须是一个法律价值为您的
串行端口可以接受。
您可以更改此值时,通讯是开放的,
真正的波特率是立即改变。
ParityCheck:布尔
指定是否启用奇偶校验。 如果这个成员是TRUE,
奇偶校验和错误执行报告
(对OnReceiveError处理)。
您可以更改此值时,商业是开放的。
Outx_CtsFlow:布尔
是否CTS(清除到发送)指定的信号进行监控
输出流量控制。 如果这个成员是TRUE和CTS是关闭的,
输出被挂起,直到CTS是再次发送。
CTS是输入引脚。 你可以阅读它从MSR寄存器的状态。 这
通常连接到RTS管脚在另一端。
它通常用于硬件流控制,指示其他
如果最终被等待数据。
您可以更改此值时,商业是开放的。
CTS输入的|的另一端等待数据
------------+------------------------------------- ---
输入OFF |另一端将不会收到任何资料
Outx_DsrFlow:布尔
是否指定的DSR(数据设置就绪)信号监控
输出流量控制。 如果这个成员是TRUE和DSR是关闭的,
输出被挂起,直到DSR是再次发送。
DSR是一个输入引脚。 你可以阅读它从MSR寄存器的状态。 这
通常连接到DTR引脚的另一端。
它通常用于硬件流控制,指示其他
到底是工作(活动,做好准备,等待数据...)
您可以更改此值时,商业是开放的。
DSR输入的|的另一端准备就绪,等待你的数据
------------+------------------------------------- ---------------
输入OFF |另一端是没有准备好,我们不能发送数据输出
DtrControl:(DtrEnable,DtrDiable,DtrHandshake)
指定的DTR(数据终端就绪)流控制。 这个成员
可以是以下值之一:
值含义
------------- ------------------------------------- -----------------
DtrDiable DTR线禁用该设备时
开了,留下它禁用。
DtrEnable DTR线启用该设备时
开了,树叶它。
DtrHandshake启用DTR握手。 当我们的通信端口被打开
和接收数据就绪,DTR为启用。 当
我们的通讯端口是暂停,关闭或有错误
(而不是清除),DTR为禁用。
如果握手启用,它是一个错误
应用程序使用Win32调整行
EscapeCommFunction功能。
DTR是一个输出引脚。 您可以设置它在MCR寄存器状态。
它通常连接到DSR路由针在另一端。
您可以更改此值时,商业是开放的。
DsrSensitivity:布尔;
指定通讯驱动程序是否是敏感的
国家对DSR信号。 如果这个成员是TRUE,则驱动程序忽略
收到的字节,除非调制解调器的DSR输入线为高。
您可以更改此值时,商业是开放的。
真|忽略任何接收到的字节
-------+------------------------------
假|无
TxContinueOnXoff:布尔;
指定是否传输时停止输入缓冲区已满
和司机已经转发了XoffChar字符。 如果这个成员
为TRUE,传输后继续输入缓冲区内已经到来
XoffLim字节被充分和驱动程序已经转发了
XoffChar字符停止接收字节。 如果这个成员为FALSE,
传输不继续下去,直到输入缓冲区内XonLim是
被空和司机已经转发了XonChar字节
人物恢复接待。
您可以更改此值时,商业是开放的。
真|启用或禁用transmisstion没有任何关系与
|输入缓冲区
-------+------------------------------------------ -------------------
假|当XOFF是发送(输入缓冲区将满),停止传输。
|和停止继续下去,直到被发送的Xon(输入缓冲区为空)。
Outx_XonXoffFlow:布尔
指定是否XON / XOFF流控制传输过程中使用。
如果这个成员是TRUE,传输字符时停止XoffChar
并开始接收时再XonChar字符接收。
您可以更改此值时,商业是开放的。
行动|收到的Xoff |收到的Xon
--------+--------------------+-------------------- -------
真|停止传输|恢复发送
|丢弃的Xoff字符|丢弃的Xon字符
--------+--------------------+-------------------- ----------
假|阅读的Xoff字符|阅读中的Xon字符
Inx_XonXoffFlow:布尔
指定是否XON / XOFF流控制过程中使用的接待。
如果这个成员是TRUE,则XoffChar字符发送时
输入缓冲区内XoffLim字节来被充分,以及
XonChar字符输入后,将发送缓冲区内XonLim来
字节为空。
您可以更改此值时,商业是开放的。
|输入缓冲区内出现
+-----------------------------+------------------- -----------
动作| XoffLim字节被全部|被空XonLim字节
--------+-----------------------------+----------- -------------------
真|的Xoff字符发送|发送的Xon字符
--------+-----------------------------+----------- -------------------
假|做什么|什么也不做
ReplaceWhenParityError:布尔
是否与指定奇偶错误接收的字节被替换
所指定的字符ReplacedChar成员。 如果这个成员是
TRUE,而ParityCheck成员为TRUE,更换发生。
您可以更改此值时,商业是开放的。
IgnoreNullChar:布尔
空字节指定是否被丢弃。 如果这个成员是TRUE,
空字节被丢弃时收到。
您可以更改此值时,商业是开放的。
RtsControl:(RtsEnable,RtsDiable,RtsHandshake,TransmissionAvailableControl);
指定的RTS(请求发送)流控制。 如果此值为零,则默认为RTS_CONTROL_HANDSHAKE。 这个成员可以是下列值之一:
值含义
------------------ -------------------------------- -----------------
RtsDiable禁用RTS线路时,该设备
打开,就让它禁用。
RtsEnable启用RTS线路时,该设备
打开和树叶它。
RtsHandshake启用转运站握手。 司机提高
RTS信号线时,“预输入”(输入)缓冲区
不到一个半满,降低了RTS线路
当缓冲区超过四分之三满。
如果握手启用,它是一个错误
申请调整使用的行
Win32的EscapeCommFunction功能。
输入缓冲区|小于1 / 2全|超过3 / 4满
--------------+--------------------+-------------- ------
转运站|输出设置|输出清晰
TransmissionAvailable
该RTS线路将启用指定
如果字节的传输可用。 后
所有缓冲的字节被发送后,RTS线路
将被禁用。
输出缓冲器|有可用字节|没有任何数据
---------------+---------------------+------------ -----
转运站|输出设置|输出清晰
转运站是一个输出引脚。 您可以设置它在MCR寄存器状态。
它通常连接到CTS管脚在另一端。
您可以更改此值时,商业是开放的。
XonLimit:字
指定允许的最小字节数在输入缓冲区
前XON字符发送。
您可以更改此值时,商业是开放的。
例如:
的输入缓冲区的大小是1000字节,XonLimit是100。
和XOFF字符已发送之前。
当在输入缓冲区中的字节从101到100,是XON字符
发送。
XoffLimit:字
指定允许的最大字节数在输入缓冲区
前XOFF字符发送。 最大字节数
这是减去允许的大小值计算,
以字节为单位输入缓冲区。
您可以更改此值时,商业是开放的。
例如:
的输入缓冲区的大小是1000字节,XonLimit是100。
当在输入缓冲区字节从899到900人的Xoff字符
发送。
ByteSize:(_5,_6,_7,_8)
在指定的字节数位传输和接收。
您可以更改此值时,商业是开放的。
奇偶:(无,奇,偶,马克,空间)
指定要使用同等方案。 这个成员可以是一
以下值:
值含义
------- ---------------------
无无校验
奇怪的逻辑琛'1'位(数据位和校验位)为奇数
即使是逻辑'1'位(数据位和校验位)之和是偶数
面膜校验位总是逻辑'1'
空间校验位总是逻辑0
您可以更改此值时,商业是开放的。
StopBits:(_1,_1_5,_2)
指定的停止位数使用。
您可以更改此值时,商业是开放的。
XonChar:属于ANSIChar
指定XON字符为传播价值和
接待。
您可以更改此值时,商业是开放的。
XoffChar:属于ANSIChar
指定为传送XOFF字符值和
接待。
您可以更改此值时,商业是开放的。
ReplacedChar:属于ANSIChar
指定的字符的值,用来代替接收字节
有奇偶校验错误,当ReplaceWhenParityError成员是TRUE,并且
ParityCheck成员为TRUE。
您可以更改此值时,商业是开放的。
手柄:THandle <read-only>
在Comm文件句柄。 从'的CreateFile'函数获得在'StartComm'。
你可以使用另一个API操作它的Win32商科
SendDataEmpty:布尔<run-time&read-only>
真当发送缓冲区是空的,没有任何悬而未决需要在发送邮件
队列。 假如果发送缓冲区不为空或有需要在发送邮件
队列。
方法
======
程序StartComm
开始为这个通讯端口的通信。
如果失败,提高ECommsError例外,ECommsError.Message包含
下面的字符串:
'这个串行端口已经打开,
'错误打开串口:
'文件句柄不是一个通讯句柄'
'无法安装通讯缓冲器
'无法创建事件'
'无法创建读线程
'无法创建写线程
程序StopComm
停止并结束这个通讯端口的所有通信线程。
没有任何回报。
功能WriteCommData(pDataToWrite:PChar类型;
dwSizeofDataToWrite:字):布尔
发送一个字符串到写线程写入通讯。
这个子程序将立即返回。 发送操作将
做背景。
参数:
pszStringToWrite - 字符串写入通讯端口。
nSizeofStringToWrite - 对pszStringToWrite长度。
回报:
TRUE:如果写线程的PostMessage是成功的。
FALSE:如果PostMessage失败或写线程不存在。
功能GetModemState:DWORD的;
获取并返回现在的现代国家。 它们是现代国家
输入引脚从海洋科学研究。
返回值可以是一个或更多的以下代码:
值含义
---------- ---------------------------------------- -------------------
MS_CTS_ON的CTS(明确的发送)信号上。
MS_DSR_ON的DSR(数据设置就绪)信号上。
MS_RING_ON环信号指示灯亮。
MS_RLSD_ON的资料摘要(接收线路信号检测)信号亮起。
该函数失败,如果硬件不支持
控制寄存器的值。
事件处理程序
=============
OnReceiveData:程序(发件人:TObject;
缓冲区:指针;
进行缓冲:字)物体
当
1。 输入缓冲区中包含接收到的数据和
2。 超过限额的大小或
3。 读取超时
事件处理程序被调用
发件人:指向TComm对象提出这个要求
缓冲区:缓冲区,包含收到的数据
进行缓冲:接收数据缓冲区的大小
OnReceiveError:程序(发件人:TObject; EventMask:DWORD的)物体
当错误happend在接收,事件处理程序被调用。
发件人:指向TComm对象提出这个要求
EventMask:从ClearCommError获得的价值在'HandleCommEvent'
一个32位变量,充满了说明面具
类型的错误。 这个参数可以是一个或多个
以下错误代码:
值含义
---------- ---------------------------------------- -------------------
CE_BREAK硬件检测到一个中断条件。 (现在不支持)
CE_DNS视窗95只:并行设备没有被选中。
CE_FRAME硬件检测到帧错误。
CE_IOE一个I / O错误发生在与设备通信。
CE_MODE所请求的模式是不支持,或hFile参数
是无效的。 如果这个值被指定,它是唯一
有效的错误。
CE_OOP视窗95只:并行设备出来的信号,这是
纸。
CE_OVERRUN一个字符缓冲区溢出发生。 下一个字符
丢失。
CE_PTO视窗95只:甲超时发生在一个平行的设备。
CE_RXOVER输入缓冲区溢出。 有或者没有
房间在输入缓冲区,或字符后收到
结尾的文件(EOF)字符。
(第二个条件是不可能发生的Win32下)
CE_RXPARITY硬件检测到奇偶错误。 (不支持)
CE_TXFULL的应用程序试图发送一个字符,但
输出缓冲区已满。 (不支持)
OnRequestHangup:程序(发件人:TObject)物体;
当程序异常终止,该事件处理程序
调用。
OnModemStateChange:程序(发件人:TObject; ModemEvent:DWORD的)物体
当调制解调器的资料摘要(CD)的变化状态(高“ - ”低)或环指标
信号检测,此事件处理程序
调用。
发件人:指向TComm对象提出这个要求
ModemEvent:一个32位变量,充满了一种指示面具
是什么使这一呼吁。 这个参数可以是一个或多个
下面的代码:
值含义
---------- ---------------------------------------- -------------------
ME_CTS的CTS(明确的发送)信号改变状态。
(支持在未来,不支持现在)
ME_DSR的DSR(数据设置就绪)信号改变状态。
(支持在未来,不支持现在)
ME_RING环指示信号检测。
ME_RLSD的资料摘要(接收线路信号检测)信号改变
状态。
呼叫GetModemState方法获取现代国家的真实情况。
合法性
==========
此组件是完全免费的(连同源代码)。