在默认地情况下,Mscomm控件的数据接收模式是文本,所以要接收字节数据前要设置接收模式。MSComm1.InputMode := comInputModeBinary ;在触发MscommOnComm事件里,定义一个Variant变量。 var varInput :Variant; I:integer; begin if Mscomm1.CommEvent =2 then begin varInput:=MSComm2.Input; for I:=0 to VarArrayHighBound(varInput,1) do //从第一个字节到这个一维数组的最后一位 begin {在此处加入处理这些数据的代码} end; end; end; {以上代码,我在一个软件中实际使用中,应该没有错误。若高手们有其他更好的办法,希望能不吝赐教}
var varInput :Variant;
I:integer;
begin
if Mscomm1.CommEvent =2 then
begin
varInput:=MSComm2.Input;
for I:=0 to VarArrayHighBound(varInput,1) do
//从第一个字节到这个一维数组的最后一位
begin
{在此处加入处理这些数据的代码}
end;
end;
end;
{以上代码,我在一个软件中实际使用中,应该没有错误。若高手们有其他更好的办法,希望能不吝赐教}
可我不知道怎么给分啊。