一段接收串口数据delphi7升级到XE11乱码,注意char的处理

procedure TForm1.BitBtn1Click(Sender: TObject);
var  sheard:AnsiString;
     b:Byte;
     d:DWORD;
     d1:PDWORD;
     ab:array[0..4] of Byte;
begin
   // ok sheard:=AnsiChar($55)+AnsiChar($AA)+AnsiChar($4C);
   SetLength(sheard,3);
   sheard[1]:=AnsiChar($55);
   sheard[2]:=AnsiChar($AA);
   sheard[3]:=AnsiChar($ff);

   sheard[1]:=AnsiChar($55);
   sheard[2]:=AnsiChar($AA);
   sheard[3]:=AnsiChar($ff);

    b:=Ord(sheard[1]);
     self.Memo1.Lines.Add( IntToStr(b) );
      b:=Ord(sheard[2]);
       self.Memo1.Lines.Add( IntToStr(b) );
       b:=Ord(sheard[3]);
        self.Memo1.Lines.Add( IntToStr(b) );
   ab[0]:=$F0;
   ab[1]:=$E9;
   ab[2]:=$89;
   ab[3]:=$00;
   d1:=pdword(@ab);
   d:=pdword(@ab)^;
   self.Memo1.Lines.Add( IntToStr(d) );
   self.Memo1.Lines.Add( IntToStr(d1^) );
end;

猜你喜欢

转载自blog.csdn.net/ljklxlj/article/details/143008844