Пример как это можно делать (конечно можно компактнее и без использования потоков, но это для затравки...на готовеньком так сказать).
Код:
function CRCFromHEXString(HexString: string): LongWord;
var
MS: TMemoryStream;
i: Integer;
begin
MS := TMemoryStream.Create;
for i := 1 to Length(HexString) div 2 do
MS.Write(StrToInt('$' + Copy(HexString, (i - 1)* 2, 2)), SizeOf(Byte));
Result := Crc32Stream(MS);
MS.Free;
end;
CRC32 для MemoryStream
__________________
Грамотно поставленный вопрос содержит не менее 50% ответа.
Грамотно поставленная речь вызывает уважение, а у некоторых даже зависть.
|