Delphi - объектно-ориентированный язык программирования, разработанный компанией Borland в 1995 году. Он основан на языке программирования Pascal, но имеет более расширенные возможности и добавлены новые функции.
Delphi является интегрированной средой разработки (IDE), которая позволяет разрабатывать программное обеспечение для различных платформ, включая Windows, macOS, Android и iOS. Delphi достигает многоплатформенности с помощью...
functionCompareFiles(Filename1,FileName2:string
):longint; { Сравнение файлов возвращает номер несовпадающего байта, (байты отсчитываются с 1)или: 0 - не найдено отличий, -1 - ошибка файла 1 -2 - ошибка файла 2 -3 - другие ошибки } const
Buf_Size=16384; var
F1,F2:TFileStream; i:longint; Buff1,Buff2:PByteArray; BytesRead1,BytesRead2:integer; begin
Result:=0; try
F1:=TFileStream.Create(FileName1,fmShareDenyNone); except
Result:=-1; exit; end
; try
F2:=TFileStream.Create(FileName2,fmShareDenyNone); except
Result:=-2; F1.Free; exit; end
; GetMem(Buff1,Buf_Size); GetMem(Buff2,Buf_Size); try
if
F1.Size> F2.Size then
Result:=F2.Size+1 else
if
F1.SizeF1.Position) and
(Result=0) do
begin
BytesRead1 :=F1.Read
(Buff1^,Buf_Size); BytesRead2 :=F2.Read
(Buff2^,Buf_Size); if
(BytesRead1=BytesRead2) then
begin
for
i:= 0 to
BytesRead1-1 do
begin
if
Buff1^[i]< > Buff2^[i] then
begin
result:=F1.Position-BytesRead1+i+1; break; end
; end
; end
else
begin
Result:=-3; break; end
; end
; end
; except
Result:=-3; end
; F1.Free; F2.Free; FreeMem(Buff1,Buf_Size); FreeMem(Buff2,Buf_Size); end
;