Zunächst, warum nimmst Du nicht das Beispiel aus der Wikipedia?
Zitat:
CRC-16 Implementierung in der Programmiersprache Pascal/Delphi
Das folgende Pascal Programm berechnet einen CRC-16-Wert über ein Array of Byte und gibt diese aus:
const
Mask: Word = $A001;
var
CRC: Word;
N, I: Integer;
B: Byte;
begin
CRC := $FFFF;
for I := Low(Buffer) to High(Buffer) do
begin
B := Buffer[I];
CRC := CRC xor B;
for N := 1 to 8 do
if (CRC and 1) > 0 then
CRC := (CRC shr 1) xor Mask
else
CRC := (CRC shr 1);
end;
Showmessage(IntToHex(CRC, 4)); (* Ausgabe *)
end;
Und was verstehst Du unter HexEingabe?
Gruß
K-H
Wieso eigentlich ein String als Eingabe? der CRC-Wert wird über eine mehr oder weniger große Anzahl Bytes gebildet.