![]() |
FindNext Reihenfolge
Hallo,
Ich möchte zwei Ordner vergleichen. Dazu verwende ich FindNext (und was so dazugehört). Allerdings gibt FindNext den Inhalt der zwei Ordner in unterschiedlicher Reihenfolge aus, was dazu führt, dass mein optimierter Algorithmus nicht funktioniert. Kann ich das ändern? Und nach welcher Gesetzmäßigkeit liest FindNext die Dateien? Wenn ich ein und den selben Ordner mit einander vergleiche hat er die gleiche Reihenfolge, was auch logisch ist, da es ja der selbe Ordner ist. Jetzt nehme ich aber einen anderen Ordner, mit dem selben Inhalt: Hier hat der Inhalt aber eine andere Reihenfolge... Warum? |
Re: FindNext Reihenfolge
Auch wenn man wohl annehmen kann, daß FindNext nach den Namen geht, so ist die keineswegs festgelegt. FindNext ist übrigens ein Wrapper für die API-Funktion
![]() Du kannst also die o.g. Annahme machen, solltest dir aber im Klaren sein, daß Windows auch irgendwann mal die Dateien nach Datum, Mondphase, Sternzeichen oder File-ID zurückgeben könnte. |
Re: FindNext Reihenfolge
Seit CP/M und DOS Zeiten werden die Einträge in der Reihenfolge zurück geliefert, wie sie in der Zuordnungstabelle gefunden werden - und das ist meist quer durcheinander. Norton SpeedDisk hatte damals z.B. die Einträge für die einzelnen Ordner alphabetisch sortiert in den Zuordnungstabellen, damit das Betriebssystem nicht mehr so lange sortieren musste beim anzeigen.
|
Re: FindNext Reihenfolge
Zitat:
Zitat:
|
Re: FindNext Reihenfolge
Zitat:
|
DP-Maintenance
Dieses Thema wurde von "Daniel" von "Object-Pascal / Delphi-Language" nach "Windows API / MS.NET Framework API" verschoben.
|
Re: FindNext Reihenfolge
was hindert einen daran das Ergebnis von FindFirst etc. in eine Stringlist zu packen, diese zu sortieren und dann zu vergleichen?
|
Re: FindNext Reihenfolge
Moin Patrick,
ich kenne jetzt Deinen Algorithmus nicht, und weiss natürlich auch nicht die Kriterien des Vergleiches, aber warum nimmst Du nicht das Ergebnis aus Verzeichnis 1 und versuchst diese Datei bzw. dieses Verzeichnis in Verzeichnis 2 zu finden, um es mal vereinfacht auszudrücken. Entweder es ist da oder nicht. In ersterem Falle kannst Du dann noch nach weiteren Kriterien vergleichen. So bist Du völlig unabhängig von der Reihenfolge. |
Re: FindNext Reihenfolge
Zitat:
@SirThornberry So habe ich es bei meinem alten Algorithmus gemacht, allerdings ist der langsam und bei weitem nicht so hübsch, wie der neue. @Christian Seehase Also mein Algorithmus gleicht zwei Ordner so ab, dass er mir nacher sagt, wo welche Datei zu viel ist bzw. welche wo neuer ist. Mit diesen Informationen kann ich z.B. ein Backup meiner Eigenen Dateien machen, ohne jedesmal alles auf eine Backup-Festplatte kopieren zu müssen. Somit kopiere ich nur noch Dateien, die vom Änderungs-Datum her neuer sind, oder Dateien, die neu dazu gekommen sind. |
Re: FindNext Reihenfolge
Und wes Grundes denkst du, sei es ineffektiv es so zu machen wie andere oben vorschlugen (besonders gefällt mir Christians Idee dabei)? Weißt du eigentlich wieviel das OS macht, während es "nichts" macht? Glaube mir, da ist das Auflisten mehrerer Dateien einfach lächerlich dagegen.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:51 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 by Thomas Breitkreuz