Registriert seit: 23. Jan 2008
3.686 Beiträge
Delphi 2007 Enterprise
|
Re: CRC-16 berechnen
1. Mär 2010, 12:18
Was am Ende dabei raus kommt ist beim Input noch egal. Um einen String entsprechend nutzbar zu machen würde ich so vorgehen:
Delphi-Quellcode:
var
s: String; // Hier stehen die Hex-Werte drin
data: packed array of byte;
i: Integer;
begin
SetLength(data, Length(s) div 2);
for i := 0 to (Length(s) div 2)-1 do
data[i] := Byte(StrToInt('$'+s[i*2+1]+s[i*2+2]));
// Aufruf dann mit
foo := InternetCRC(@data[0], Length(data));
end;
Edit: Ausbesserung. Typische Falle: Strings sind 1-basiert... grrrrr!
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
|