AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Code-Bibliothek Library: Dateien / Laufwerke Delphi Überprüfen ob zwei Dateien gleich sind
Thema durchsuchen
Ansicht
Themen-Optionen

Überprüfen ob zwei Dateien gleich sind

Ein Thema von Daniel B · begonnen am 5. Jul 2003 · letzter Beitrag vom 2. Jan 2004
 
Daniel
(Co-Admin)

Registriert seit: 30. Mai 2002
Ort: Hamburg
13.920 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Überprüfen ob zwei Dateien gleich sind

  Alt 2. Jan 2004, 17:59
Zusatz von unserem User "merovingian":



In dem Beitrag werden die Dateien nur in einen Stream geladen und der Größe verglichen. Dabei wir der Inhalt aber nicht überprüft. Mit dieser Funktion wird beides berücksichtigt:

Delphi-Quellcode:
function CompareFiles(const SrcPath1,SrcPath2:String):Integer;
var File1,File2:TFileStream;
    lCnt:Integer;
    Buff1,Buff2:Byte;
begin
try
 try
  Result:=0
  File1:=TFileStream.Create(SrcPath1,fmOpenRead or fmShareExclusive);
  File2:=TFileStream.Create(SrcPath2,fmOpenRead or fmShareExclusive);
  if File1.Size = File2.Size then
   begin
    for lCnt:=0 to (File1.Size-1) do
     begin
      File1.ReadBuffer(Buff1,1);
      File2.ReadBuffer(Buff2,1);
      if Buff1<>Buff2 then
       begin
        Result:=1;
        Exit;
       end;
     end;
   end
                             else
   begin
    Result:=1;
    Exit;
   end;
 except
  Result:=-1;
  end;
finally
 File1.Free;
 File2.Free;
end;
end;
Zitat:
Ergebnisse der Funktion:

0 -> Die Datein sind gleich
1 -> Die Datein sind ungleich
-1 -> Es ist ein Fehler aufgetreten
----------------------------------------------------------------------------------------------------

Andererseits bieten sich jedoch auch noch einige bekannt Hash-Verfahren wie SHA1, CRC32, CRC64, MD4, MD5 usw. an.
Daniel R. Wolf
mit Grüßen aus Hamburg
  Mit Zitat antworten Zitat
 

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:14 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz