Delphi 通信控件 Comm(Spcomm)中
接收数据应调用哪个函数,格式如何 receive.text := // 在MEMO上显示收到的数据
如下我的写法是否正确:
打开通信口: Comm1.startcomm;
关闭通信口: Comm1.stopcomm;
发送数据: Comm1.writecommdata('msend.text',20); // 在MEMO输入的数发送出去
接收数据应调用哪个函数,格式如何 receive.text := // 在MEMO上显示收到的数据
如下我的写法是否正确:
打开通信口: Comm1.startcomm;
关闭通信口: Comm1.stopcomm;
发送数据: Comm1.writecommdata('msend.text',20); // 在MEMO输入的数发送出去
procedure TfrmMain.comMainReceiveData(Sender: TObject; Buffer: Pointer;
BufferLength: Word);
var
nIndex : Integer;
boolZero : Boolean;
arrByte : array [1..8] of Byte;
strReceiveData : string;
begin
//内存移位
Move(Buffer^,arrByte,BufferLength);
strReceiveData := '';
boolZero := True; //从高位到低位转换Buffer
for nIndex := BufferLength downto 1 do
begin
if (boolZero) and (Chr(arrByte[nIndex]) <> '0') then
boolZero := False;
if (boolZero = False) and (Chr(arrByte[nIndex]) <> '=') then
strReceiveData := strReceiveData + Chr(arrByte[nIndex]);
end; //屏幕显示不断刷新
LCDCurrentWeight.Indicatorstring := strReceiveData;
RefreshLCD(LCDTare.Indicatorstring); //毛重是否变化
if FboolIsEnter = False then FstrGrossWeight := strReceiveData;
end;
有没有注意到事件里有个叫Buffer的指针参数,自己慢慢体会一下