njlz0707mm 发表于 2010-8-7 21:38:22

【用cport控件的时候,如何设置delphi的接收缓冲区?】我要等接收到5个字符后组成字符串

【用cport控件的时候,如何设置delphi的接收缓冲区?】我要等接收到5个字符后组成字符串再处理,而不是收一个字节就处理一下。

我以前用到的语句是
procedure TForm1.ComPort1RxChar(Sender: TObject; Count: Integer);
var
str:string;
begin
Comport1.Readstr(str,5);
Memo1.Text:=Memo1.Text + str+ '*';
end;

串口收到的是“a”

这时Memo1.Text 上显示的是 a*a*a*a*a...

现在我想的是Memo1.Text上显示的是 aaaaa*aaaaa*aaaaa*aaaaa*aaaaa*aaaaa...

【拜托各位高手详细解答,以前一直用的Mscomm控件,我就是想知道如何像Mscomm那样设置Cport的阀值】

BG4RFF 发表于 2010-8-19 23:07:39

先缓冲,判断缓冲是不是有5个,有5个加米清缓冲,说的有点简单哦

njlz0707mm 发表于 2010-8-20 13:17:12

回复【1楼】BG4RFF
-----------------------------------------------------------------------

那不是收到一次就要判断一次,看是不是满足5个字节。

这样好像就没有用到相关阀值的概念了呀,只是多了一个 计数变量与if语句
页: [1]
查看完整版本: 【用cport控件的时候,如何设置delphi的接收缓冲区?】我要等接收到5个字符后组成字符串