Thema: Delphi Datei binär einlesen

Einzelnen Beitrag anzeigen

Benutzerbild von nailor
nailor

Registriert seit: 12. Dez 2002
Ort: Karlsruhe
1.989 Beiträge
 
#12
  Alt 25. Dez 2002, 23:23
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
Michael N.
http://nailor.devzero.de/code/sharpmath/testing/ --- Tests, Feedback, Anregungen, ... aller Art sehr willkommen!
::: don't try so hard - it'll happen for a reason :::
  Mit Zitat antworten Zitat