Check Sum 计算方式:02H之后至03H之前,所有BYTE相加,所得值取2的补数,各位大姐大哥们帮个忙吧.如:02H O6H [Check Sum 2Byte] 03H   function sCheckGroup(S:String):String;
    var
       i:Integer;
       r:String;
       sum:Integer;
       a:Byte;
       b:Byte;
    begin
       r:='';
       sum:=0;
       a:=0;
       b:=0;
       for i:=1 to Length(S) div 2 do
       begin
           if(i mod 2=1) then
           sum:=sum+sUHex(s[i])*16+sUHex(s[i+1]);
       end
       //SysUtils.b
       //a:= sum div 256;
       a:=255-(sum Div 256);
       b:=255-(sum Mod 256);       if(b=255) then
       begin
          b:=0;
          if(a=255) then a:=0;
       end
       Result:= sHex(a div 16)+ sHex(a Mod 16)+sHex(b div 16)+sHex(b mod 16);
    end;   function sHex(i:Byte):String;
   begin
     case i of
        0:Result:='0';
        1:Result:='1';
        2:Result:='2';
        3:Result:='3';
        4:Result:='4';
        5:Result:='5';
        6:Result:='6';
        7:Result:='7';
        8:Result:='8';
        9:Result:='9';
        10:Result:='A';
        11:Result:='B';
        12:Result:='C';
        13:Result:='D';
        14:Result:='E';
        15:Result:='F';
     end;
   end;