procedure TForm1.MSComm1Comm(Sender: TObject);
var
  iRecv,i : integer;
  ovTemp  : oleVariant;
  vTemp   : variant;
  s,sTemp : string;
  //sASCII
  byTemp  : byte;
begin
  iRecv   :=  MSComm1.InBufferCount;
  ovTemp  :=  MSComm1.Input;
 // sASCII  :=  '';
  s       :=  '';
  if Rbn_Hex.Checked  then
     begin
       vTemp   :=  VarArrayCreate([0,iRecv],varByte);
       vTemp   :=  ovTemp;
       for i := 0 to iRecv - 1 do //½«½ÓÊÕµ½Êý¾Ýת»»Îª×Ö·û´®
       begin
         byTemp := vTemp[i];
         sTemp := Trim(Format('%2x',[byTemp]));
         if Length(sTemp) = 1 then
         sTemp := '0' + sTemp;
         s := s + ' ' + sTemp;
       end  ;
     end
  else
    s :=ovTemp;
   ShowMessage(s);
 
  end;
end;