说明:
TCommQueue 是串口数据队列, 即串口数据 FIFO 缓存。
这个类是由串口控件内部使用的, 用户也可以使用这个类。
头文件:
Vcl.VictorComm.h
Fmx.VictorComm.h
相关类或控件:
TYbCommDevice, TVictorComm
继承关系:
TCommQueue 没有继承关系
属性:
属性 |
类型 |
描述 |
Count |
long |
队列当前保存数据的字节数 (只读属性)。
定义:
__property long Count = { read = fGetCount
}; |
QSize |
long |
队列的容量 (字节数)。
定义:
__property long QSize = { read = _BufSize,
write = fSetBufSize };
通过这个属性可以读出队列的容量, 也可以改变队列的容量。
注意: 这个属性必需大于0, 否则不能正常工作。 |
Valid |
bool |
队列是否有效 (FIFO 缓存有效)
定义:
__property bool Valid = { read = fIsValid
};
可能出现队列无效的原因: 内存不足。 |
Remain |
long |
队列当前剩余的字节数。
定义:
__property long Remain = { read = fGetRemain
}; |
方法:
方法 |
描述 |
TCommQueue |
构造函数。
定义:
TCommQueue(long lSize=8192);
参数:
lSize 队列缓存字节数, 默认值 8192.
注意:
由系统自动调用(静态变量)或者通过 new 来调用(动态分配), 不需要直接调用。 |
~TCommQueue |
析构函数。
virtual ~TCommQueue();
注意:
由系统自动调用(静态变量)或者通过 delete 调用(动态分配), 不需要直接调用。 |
In |
进队列 (写入 FIFO 缓存)。
定义:
long In(const char far *s);
long
In(const char far *s, long n);
参数:
s: 进入队列的数据地址
n: 进入队列的数据字节数
(如果不指定 n 值, 相当于 n=1)
返回值:
实际写入队列的字节数, 有可能:
·等于参数
n 值, 所有数据都成功的进入队列
·小于参数 n 值, 原因是缓存已满, 不能容纳所有
n 个字节 |
Out |
出队列 (读出 FIFO 缓存)。
定义:
long Out(char far *s);
long
Out(char far *s, long n);
参数:
s: 要读出的数据存放的地址
n: 要读出数据的最大字节数
(如果不指定 n 值, 相当于 n=1)
返回值:
实际读出的字节数, 有可能: 小于等于参数 n 值, 取决于队列实际保存数据的字节数 |
Clear |
清空队列。
定义:
void Clear(void); |
|