Delphi-Quellcode:
//Dateivergleich
procedure TForm1.Button8Click(Sender: TObject);
var Rein, Raus: TFileStream;
ReinKB, RausKB: array[0..1023] of byte;
x,y,i:integer;
begin
for i := 0 to 1023 do
begin
ReinKB[i] := 0;
RausKB[i] := 0;
end;
try
Rein := TFileStream.Create(LabeledEdit1.Text, fmOpenRead);
except
ShowMessage('Fehler beim Öffnen der Dateien! #002a');
Exit;
end;
try
Raus := TFileStream.Create(LabeledEdit2.Text, fmOpenRead);
except
Rein.Free;
ShowMessage('Fehler beim Öffnen der Dateien! #002b');
Exit;
end;
repeat
begin x := Rein.Read(ReinKB, 1024);
y := Raus.Read(RausKB, x);
if x <> y then
begin
ShowMessage('Unterschiedlich - Dateivergleich negativ, Dateilängen falsch! #003');
Rein.Free;
Raus.Free;
Exit;
end;
for i := 0 to 1023 do
if ReinKB[i] <> RausKB[i] then
begin
ShowMessage('Unterschiedlich - Dateivergleich negativ, Abweichung festgestellt! #004');
Rein.Free;
Raus.Free;
Exit;
end;
end;
until x = 0;
ShowMessage('Gleich - Dateivergleich postiv');
Rein.Free;
Raus.Free;
end;
Wenn der jetzt an #002a oder #002b rausspringt, kann das andere Gründe haben, als dass die Datei von einem anderen Programm geöffnet ist? Also zu groß... oder so was