VB-Homepage Tipp 146

Bitgenaues Vergleichen von Dateien

Das eine Datei, die die selbe Größe, das selbe Datum und die selbe Uhrzeit wie eine andere Datei hat, trotzdem nicht identisch sein muß und wie man dies prüfen kann, das ist das Thema des Tipps.

Dazu definieren Sie ein neues Projekt und fügen folgenden Code zum Beispiel unter der Click Aktion eines Commandbuttons ein.

Open "compare1.txt" For Binary As #1 'hier Pfad zur ersten Datei modifizieren
Open "compare2.txt" For Binary As #2 'hier Pfad zur zweiten Datei modifizieren

issame% = True

If LOF(1) <> LOF(2) Then
   issame% = False
Else
   whole& = LOF(1) \ 10000
   part& = LOF(1) Mod 10000
   buffer1$ = String$(10000, 0)
   buffer2$ = String$(10000, 0)
   start& = 1
  
   For x& = 1 To whole&
      Get #1, start&, buffer1$
      Get #2, start&, buffer2$

      If buffer1$ <> buffer2$ Then
         issame% = False
         Exit For
      End If

      start& = start& + 10000
   Next

   buffer1$ = String$(part&, 0)
   buffer2$ = String$(part&, 0)

   Get #1, start&, buffer1$
   Get #2, start&, buffer2$

   If buffer1$ <> buffer2$ Then issame% = False
End If

Close

If issame% Then
   MsgBox "Dateien identisch", 64, "Info"
Else
   MsgBox "Dateien nicht identisch", 16, "Info"
End If

Verfeinern kann man dies natürlich noch um die variable Eingabe der Pfade über eine Textbox oder gar eine Dateiauswahl über DirListBox und FileListBox.


Tipp-Download

Quelle :

Zurück zur Übersichtsseite