Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.02.12;
Скачать: CL | DM;

Вниз

Побайтовое сравнение файлов   Найти похожие ветки 

 
XeON ©   (2006-01-22 15:30) [0]

Доброго всем времени суток. Народ, подскажите пожалуйста, как мне побайтово сравнить 2 файла? А затем результат сравнения (номер байта и сам байт) куда-нибудь записать (например в тип Record)? Пробовал через BlockRead - не получается...


 
Lamer@fools.ua ©   (2006-01-22 15:36) [1]

>Пробовал через BlockRead - не получается...

И как именно не получается?


 
Desdechado ©   (2006-01-22 15:41) [2]

fc файл1 файл2 /b >результат


 
Zeqfreed ©   (2006-01-22 16:51) [3]

XeON ©   (22.01.06 15:30)

function AreFilesEqual(const fn1, fn2 : String) : Boolean;
var
 f1, f2 : Integer;
 fs1, fs2 : Cardinal;
 r1, r2, toread, read1, read2 : Integer;
 buf1, buf2 : array[0..10239] of Byte;
begin
 Result := false;

 f1 := FileOpen(fn1, fmShareDenyNone);
 f2 := FileOpen(fn2, fmShareDenyNone);
 fs1 := GetFileSize(f1, nil);
 fs2 := GetFileSize(f2, nil);

 read1 := 0;
 read2 := 0;
 if (fs1 = fs2) then begin
  repeat
   toread := Min(fs1 - read1, SizeOf(buf1));

   r1 := FileRead(f1, buf1, toread);
   r2 := FileRead(f2, buf2, toread);

   read1 := read1 + r1;
   read2 := read2 + r1;

   if (r1 <> toread) or (r2 <> toread) or (not CompareMem(@buf1, @buf2, toread)) then Exit;
  until ((read1 = fs1) and (read2 = fs2));

  Result := true;
 end;

 FileClose(f1);
 FileClose(f2);
end;


Вроде все правильно написал ;)


 
Fay ©   (2006-01-23 09:19) [4]

2 Zeqfreed ©   (22.01.06 16:51) [3]
(r1 <> toread) or (r2 <> toread) не говорит о различии файлов.



Страницы: 1 вся ветка

Текущий архив: 2006.02.12;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.049 c
2-1137957807
Сайбель Алексей
2006-01-22 22:23
2006.02.12
RichEdit style fsBold


15-1137669430
boriskb
2006-01-19 14:17
2006.02.12
Я здесь сисадминов встречал...


1-1136877372
SarDoX
2006-01-10 10:16
2006.02.12
Вывод таблицы


15-1137654352
WondeRu
2006-01-19 10:05
2006.02.12
Составление 3D-карты из двух аэро(космо)фотоснимков.


1-1136814083
Gear
2006-01-09 16:41
2006.02.12
Как программно установить файл инсталляции с расширением msi?