procedure Tfrm_system.MSComm1Comm(Sender: TObject); var i,j:integer; xtemp : Olevariant; xScr : array of byte; xRecData :string; begin edit1.text:=''; i:=mscomm1.InBufferCount; case mscomm1.commEvent of comEvReceive: //接收数据 begin xtemp := mscomm1.Input; SetLength(xScr,i); xScr := xtemp; for j:=0 to i-1 do begin xRecData := xRecData +inttoHex(xScr[j],2); end; edit1.Text:=xrecdata;
var
i,j:integer;
xtemp : Olevariant;
xScr : array of byte;
xRecData :string;
begin
edit1.text:='';
i:=mscomm1.InBufferCount;
case mscomm1.commEvent of
comEvReceive: //接收数据
begin
xtemp := mscomm1.Input;
SetLength(xScr,i);
xScr := xtemp;
for j:=0 to i-1 do
begin
xRecData := xRecData +inttoHex(xScr[j],2);
end;
edit1.Text:=xrecdata;
end;
end;
end;
上有源码
用SPCOMM来数据自己响应消息,不要用Timer,那东西不可靠