Einzelnen Beitrag anzeigen

Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.755 Beiträge
 
Delphi 10.4 Sydney
 
#1

Listenreihenfolge bei dir und auch bei Findfirst/FindNext

  Alt 5. Aug 2006, 17:55
Einen schönen Nachmittag,

für einen Bildbetrachter lese ich alle Dateien eines Verzeichnisses ein
und schreibe sie in eine recordbasierte Datei..

Die Datei befülle ich in einer Schleife
mit FindFirst und FindNext.

Delphi-Quellcode:
function TForm1.getPictures(StartDir:String;recursive:Boolean):Integer;
var
  SearchRec : TSearchrec;
begin
  result := 0;
  if FindFirst(StartDir+'\*.jpg',faAnyFile,SearchRec) = 0 then
    begin
       imageSet.filePath:=ExtractFilePath(StartDir);
       imageSet.fileName:=ExtractFileName(SearchRec.Name);
       write(BatchFile,ImageSet);
       inc(result);
       While FindNext(SearchRec) = 0 do
         begin
           imageSet.filePath:=ExtractFilePath(StartDir);
           imageSet.fileName:=ExtractFileName(SearchRec.Name);
           write(BatchFile,ImageSet);
           inc(result);
         end;
       FindClose(SearchRec);
    end;

    if recursive then
      if (FindFirst(StartDir+'*.*',faDirectory,SearchRec)=0) then
        begin
          repeat
            if (SearchRec.Name<>'.') and (SearchRec.Name<>'..') then
              getPictures(StartDir+SearchRec.Name,true);
          until FindNext(SearchRec)<>0;
          FindClose(SearchRec);
        end;

end;

Mein Problem ist, die Dateien werden nicht in
der korrekten Reihenfolge eingelesen.

Die gleiche Reihenfolge sehe ich aber auch
wenn ich wenn ich dem Verzeichnis das dir Kommando
ausführe:
Zitat:
19.05.2004 05:50 599.986 AU010026.jpg
19.05.2004 05:50 1.219.131 AU010027.jpg
19.05.2004 05:50 1.033.227 AU010028.jpg
19.05.2004 05:50 915.389 AU010029.jpg
19.05.2004 05:50 693.484 AU010030.jpg
19.05.2004 05:50 651.635 AU010031.jpg
19.05.2004 05:50 608.949 AU010032.jpg
19.05.2004 05:50 1.011.843 AU010033.jpg
19.05.2004 05:50 949.296 AU010035.jpg
19.05.2004 05:50 761.439 AU010036.jpg
19.05.2004 05:50 898.526 AU010037.jpg
19.05.2004 05:50 898.624 AU010038.jpg
19.05.2004 06:04 684.055 AU020035.jpg
19.05.2004 06:03 445.374 AU020002.jpg
19.05.2004 06:03 913.236 AU020003.jpg
Die rot markierte Datei sollte meines Erachtens erst einiges später
in der Liste auftauchen.

Im explorer werden die Dateien in der richtigen Reihenfolge aufgelistet.

Hat da jemand eine Lösung dazu, oder ist es das beste die
Dateinamen in eine StringList zu schreiben und diese zu sortieren?

OS ist w2k SP4

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat