Registriert seit: 14. Jan 2003
Ort: Boxberg
456 Beiträge
Delphi 10.1 Berlin Professional
|
Re: Wiedereinmal XOR
16. Nov 2006, 17:19
Hallo,
vielleicht hilft Dir das:
Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
var sl :TStringList;
i, x:Integer;
hex :String;
begin
sl:=TStringList.Create();
try
sl.Text:='0x02 <STX>'+#13#10+
'0x0A <CR>'+#13#10+
'0x53 S erstes Zeichen Befehlswort'+#13#10+
'0x54 T ...'+#13#10+
'0x4F O ...'+#13#10+
'0x50 P ...'+#13#10+
'0x4D M ...'+#13#10+
'0x4F O letztes Zeichen Befehlswort'+#13#10+
'0x03 <ETX>'+#13#10+
'0x30 0 <BCC1>'+#13#10+
'0x31 1 <BCC2>'+#13#10+
'0x37 7 <BCC3>'+#13#10+
'0x0D <LF>';
i:=0;
repeat
hex:='$'+Copy(sl.Strings[i], 3, 2);
if (i>0) then x:=x xor StrToInt(hex)
else x:=StrToInt(hex);
Inc(i);
until (Pos('<ETX>', sl.Strings[i])>0);
x:=x xor StrToInt('$'+Copy(sl.Strings[i], 3, 2))
finally
sl.Free();
end; // try
ShowMessage(Format('%0.3d', [x]));
end;
|
|
Zitat
|