5,388
社区成员
发帖
与我相关
我的任务
分享
procedure TForm1.mscm1Comm(Sender: TObject);
var
vTmp: Variant;
Buffer: OLeVariant;
i: integer;
RXDlen: Integer;
Temp: string;
MSCommTXD: TMSComm;
ChaobData: array[0..5000] of byte; //接收字节数组
begin
LastTickCount := GetTickCount;
MSCommTXD := TMSComm(Sender);
if (MSCommTXD.CommEvent <> 2) then
Exit;
RXDlen := MSCommTXD.InBufferCount;
if RXDlen > 0 then
Buffer := MSCommTXD.Input;
MSCommTXD.InBufferCount := 0; //清空接收缓冲区
vTmp := VarArrayCreate([0, RXDlen], varByte);
vtmp := Buffer;
for i := 0 to RXDlen - 1 do begin
ChaobData[i] := vtmp[i];
G_Buffer := G_Buffer + chr(ChaobData[i]);
end;
end;