Forum: Win32/Win64 API (native code)
Delphi
by himitsu,
30. Nov 2009
FindFirst/FindNext fragt über Umwege beim jeweiligen Dateisystemtreiber nach und liefert das Ergebnis so, wie es von dort kommt.
Und wie du schon sagtest ... BlackBox
Man kann also nicht wissen was passiert und deswegen auch nicht von einem Verhalten ausgehen, welches darin versteckt implementiert ist.
z.B. ist die Sektorgröße nachgewiesen überall 512 Byte (Fesplatten, USB-Sticks,...
Forum: Win32/Win64 API (native code)
Delphi
by himitsu,
30. Nov 2009
Entschuldige erstmal, aber ich hatte da ein nicht vergessen.
Was deinen Code und sein "aktuelles" Funktionieren angeht.
Du hast diesen nur Quellen getestet, welche "zufälliger" Weise geordnet sind (weil es irgendwer so implementiert hat, obwohl er es nicht müßte) und da es dort funktioniert, stellst du hier die Behauptung auf, daß es dann immer funktionieren muß, welches du damit aber nicht...
Forum: Win32/Win64 API (native code)
Delphi
by himitsu,
29. Nov 2009
Das hat insofern damit zu tun, daß die Reihenfolge der Dateien zwar zufällig sortiert und vorallem nicht "statisch" ist.
Bei CD-Laufwerken ist es sortiert, weil die Brennprogramme sortieren
und auf der Festplatte sort meistens der NTFS-FileSystem-Treiber dafür.
Wenn man jetzt aber vor schlimmsten Fall ausgeht, dann ist bei jedem erneuten SuchStart (FindFirst) die Dateiliste in einer...
Forum: Win32/Win64 API (native code)
Delphi
by himitsu,
29. Nov 2009
Ist ja soweit egal, da diese ja zusammengehören.
Das ist zufall und keineswegs Standard.
FindFirstFile/FindNextFile sortieren nicht und die Delphi-Wraper auch nicht.
Es wird nur zufällig vom Dateisystemtreiber sortiert und daß dieser sortieren muß, ist nicht vorgeschrieben.
Forum: Win32/Win64 API (native code)
Delphi
by himitsu,
21. Nov 2009
> Verzeichnisinhalt (gefiltert) auflisten
> Verzeichnisüberwachung einrichten
> > wird datei gelöscht, dann wird sie auch aus der Liste gelöscht (wenn sie da drinnen ist)
> > wird eine Datei erstellt/reinkopiert, dann wird sie mit der Suchmaske verlichen und wenn es stimmt, dann wird sie an die Liste angehängt
Forum: Win32/Win64 API (native code)
Delphi
by himitsu,
21. Nov 2009
FindFirst initialisiert die Suche und stellt quasi intern eine Dateiliste zusammen
und es liefert auch gleich das erste Suchergebnis.
FindNext liefert dann sozusagen die nächste Datei aus dieser Liste.