Thema: Delphi CRC-16 berechnen

Einzelnen Beitrag anzeigen

Medium

Registriert seit: 23. Jan 2008
3.679 Beiträge
 
Delphi 2007 Enterprise
 
#9

Re: CRC-16 berechnen

  Alt 1. Mär 2010, 11: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)
  Mit Zitat antworten Zitat