AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte Dateien vergleichen
Thema durchsuchen
Ansicht
Themen-Optionen

Dateien vergleichen

Ein Thema von Chrissi91 · begonnen am 8. Apr 2006 · letzter Beitrag vom 10. Apr 2006
Antwort Antwort
Chrissi91
Registriert seit: 28. Jul 2005
Hi ,

ich habe heute morgen in meinen Dateien ein recht simples Programm gefunden, das schon ein wenig älter ist. Ich habe es aktualisiert, verbessert und jetzt einfach mal auf meine Homepage gepackt.

Kurz zum Programm: Das Programm vergleicht 2 Dateien. Als errsten vergleiche ich den Hashwert der beiden Dateien mit Hilfe der Unit FileCompare. Falls es nötig ist, vergleicht der Computer die Dateien nochmal extra.

Falls ihr meint, die Unit FileCompare wäre zu langsam, bitte ich um weitere Vorschläge. Ein paar Erweiterungen wären nicht schlecht. Sonst sieht es so mager aus.

Größe: ~ 231 kb

Website + Erklärung: http://chrissi.kilu.de/vergleichen.php

Direkter Download: http://chrissi.kilu.de/vergleichen.zip

Ich freue mich über euer Feedback unter besonders auf eure Kritik, sonst wird mir heute Abend langweilig, wenn ich nichts zu tun habe.
 
Der_Unwissende
 
#2
  Alt 8. Apr 2006, 17:50
Hi,
möchte ja nicht zulassen, dass dir langweilig wird, deswegen ein paar Anregungen (bzw. Kritik)

Erstmal nun ja, es ist nicht sehr aussagekräftig zu sagen, dass zwei Dateien nicht gleich sind. Es wäre doch irgendwie deutlich interessanter Unterschiede zu sehen (unterschiedliche Größe, Aktualität, insbesondere bei Textfiles die Änderungen, ...)
Hier denke ich könnte man einiges nachbessern.
Natürlich wäre es auch noch eine interessantere Möglichkeit in einem Rutsch gleich mehr als zwei Dateien zu vergleichen (also jetzt x-Dateien mit einer vergleichen).
Mit der Option könntest du natürlich auch gleich eine Duplikatsuche einbinden (mal ganz viel weiter gesponnen).

Ansonsten solltest du noch deine Info auf DoubleBuffered umstellen, flackert etwas stark.

Ja, das wär's auch schon (nichts falsch verstehen, du wolltest heute Abend zu tun haben)

Gruß Der Unwissende
  Mit Zitat antworten Zitat
Benutzerbild von negaH
negaH
 
#3
  Alt 9. Apr 2006, 14:21
Zitat:
Ich freue mich über euer Feedback unter besonders auf eure Kritik, sonst wird mir heute Abend langweilig, wenn ich nichts zu tun habe.
Hi Christopher,

ich hätte da eine Kritik. Wie du oben sagtest hast du die Unit FileCompare.pas verwendet. Ich nehme mal an das du damit die FileCompare.pas aus diesem Forum meinst. Da die essentielle Funktionalität deines Programmes nur auf einem Dateivergleich beruht, also zu 100% auf Unit FileCompare.pas, wäre es fair von dir in deinem Copyrights/Infobox auch auf den wahren Urheber dieser Unit zu verweisen.

Gruß Hagen
  Mit Zitat antworten Zitat
ABCDE
 
#4
  Alt 9. Apr 2006, 15:29
Vielleicht sollte das Programm die ganze Festplatte(n) untersuchen,ob Dateien doppelt vorkommen,und die dann anzuzeigen !

Aber für das was es im Moment machen soll ist es gut!

MFG ABCDE
  Mit Zitat antworten Zitat
Chrissi91
 
#5
  Alt 9. Apr 2006, 16:02
Ähm... das mache ich gerne in der INfobox. Wer war doch gleich der Autor?


Zitat von ABCDE:
Vielleicht sollte das Programm die ganze Festplatte(n) untersuchen,ob Dateien doppelt vorkommen,und die dann anzuzeigen !

Aber sonst ist es gut!

MFG ABCDE
Das kann aber bei zweistelligen Gigabytezahlen ganzschön lange dauern. ^^
  Mit Zitat antworten Zitat
Benutzerbild von negaH
negaH
 
#6
  Alt 9. Apr 2006, 19:44
Bei sagen wir mal 100.000 Dateien a 25Mb Größe jede, benötigen wir ca. 1 Sekunde pro hash und ca. 256 Bytes pro Datei als datensatz. Macht eine DB von 24Mb und eine Dauer von 28 Stunden um die Hashs zu ziehen. Der eigentliche Vergleich auf Duplikate geht dann enorm schnell über den Vergleich der Hashs. Diese Angaben sind eher überschätzt und ich vermute das das viel schneller geht, denn wer hat schon 100.000 Dateien a 25Mb größe auf der Platte ?

Also durchaus machbar.

Gruß Hagen
  Mit Zitat antworten Zitat
ABCDE
 
#7
  Alt 9. Apr 2006, 20:22
Ihr habt ja recht...
Aber nur zwei Dateien überprüfen?
  Mit Zitat antworten Zitat
ichbins

 
Delphi 2005 Personal
 
#8
  Alt 9. Apr 2006, 20:39
Bei 2 Dateien geht es schneller wenn man den Dateiinhalt dierekt vergleicht.

Denn der Hash-Algorithmus liest ja auch die komplette Datei ein, und macht dann noch Berechnungen damit. Ausserdem, muss man wenn die Hashes gleich sind, trotzdem noch den Inhalt prüfen, da ja zu einer Wahrscheinlichkeit von 1:2^256 die Dateien verschieden sind.
Michael Enßlin
  Mit Zitat antworten Zitat
Der_Unwissende
 
#9
  Alt 9. Apr 2006, 21:07
Zitat von ichbins:
Bei 2 Dateien geht es schneller wenn man den Dateiinhalt dierekt vergleicht.

Denn der Hash-Algorithmus liest ja auch die komplette Datei ein, und macht dann noch Berechnungen damit. Ausserdem, muss man wenn die Hashes gleich sind, trotzdem noch den Inhalt prüfen, da ja zu einer Wahrscheinlichkeit von 1:2^256 die Dateien verschieden sind.
Hm, zum eigentlichen Hashalgorithmus wurde doch hier noch gar keine Annahme gemacht. Ob der also wirklich die ganze Datei durchläuft oder nicht ist somit nicht gesagt.
Zudem sagte Hagen doch etwas von 256 Byte (nicht Bit), damit wären dass doch ein wenig mehr als 2^256 Verschiedene Möglichkeiten (bei idealen Annahmen), aber selbst 1 : 2^256 ist ausreichend unwahrscheinlich um den direkten Vergleich zu lassen

Gruß Der Unwissende
  Mit Zitat antworten Zitat
Benutzerbild von negaH
negaH
 
#10
  Alt 10. Apr 2006, 05:47
Durch die Aussage das er FileCompare.pas benutzt wurden alle Rahmenbedinungen wie Algo. etc. pp. schon festgelegt. Diese Unit kannst du hier in der CodeLib downloaden. Die 256 Bytes beziehen sich auf den Speicherverbrauch eines Datensatzes zur Datei der den Hash, Dateigröße und Position auf der HD speichert.

Das ein direkter Vergleich zweier Dateien immer schneller ist als ein vorheriger Vergleich mit einer hashfunktion ist nicht zwngsläufig der Fall. Bei meinen Tests habe ich festgestellt das meistens der Hashvergleich denoch schneller ist, auch wenn mit einer Wahrscheinlichkeit von 1 / (2^32 * 2^128) die Möglichkeit eines Duplikates existiert.

Gruß Hagen
  Mit Zitat antworten Zitat
Antwort Antwort


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 00:56 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz