Форум: "Потрепаться";
Текущий архив: 2003.04.07;
Скачать: [xml.tar.bz2];
ВнизПодскажите где взять хороший компонент для проверки CRC, Найти похожие ветки
← →
iNew (2003-03-20 09:19) [0]а то скачал какой-то с Torry он всё время говорит что CRC правильное.
← →
Ketmar (2003-03-20 10:18) [1]качай не "какой-то", а рабочий. лучше сам напиши.
Satanas Nobiscum! 20-Mar-XXXVIII A.S.
← →
REA (2003-03-20 10:29) [2]Тебе какое CRC надо? В сети навалом разного кода подсчета CRC.
Вот например: http://pascal.sources.ru/crc/index.htm
← →
han_malign (2003-03-20 11:04) [3]компонент то зачем
(CRC-CCITT is based on the polynomial x^16 + x^12 + x^5 + 1)
unit CRC;
interface
function _CRC_(var aData;aLength : integer;aReversed : boolean = false) : Boolean;
implementation
function _CRC_(var aData;aLength : integer;aReversed : boolean = false) : Boolean;
var CRC, sample, X , i, j : Word;
_data : array[0..65535]of Byte absolute aData;
begin
{ CRC-CCITT is based on the polynomial x^16 + x^12 + x^5 + 1 }
CRC := $FFFF;
for i := 0 to aLength-1 do begin
if(aReversed)then begin
sample:=0;X:=_data[i];
for j:=1 to 8 do begin
sample := (sample shl 1) or (X and 1); X := X shr 1;
end;
end else sample:=_data[i];
CRC := CRC xor (sample shl 8);
for j := 1 to 8 do
if (CRC and $8000) <> 0 then CRC := (CRC shl 1) xor $1021
else CRC := CRC shl 1;
end;
Result := (CRC = $1D0F);
end;
end.
Страницы: 1 вся ветка
Форум: "Потрепаться";
Текущий архив: 2003.04.07;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.007 c