Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi FindNext findet nur jede 2. Datei ?!? (https://www.delphipraxis.net/98746-findnext-findet-nur-jede-2-datei.html)

Bastler 31. Aug 2007 16:18


FindNext findet nur jede 2. Datei ?!?
 
Hallo;

Ich habe Folgenden Code:

Delphi-Quellcode:
if SelectDirectory('Wähle das Verzeichnis','',ordner) then
  begin
  FindFirst(ordner+'\*.JPG', faAnyFile, sr);
  liste.Add(sr.Name);
  repeat
    begin
    if FindNext(sr) = 0 then;
    liste.Add(sr.Name);
    end;
  until FindNext(sr) <> 0;
  liste.Add(sr.Name);
  FindClose(sr);
  end;
Nur in der Liste (liste) steht nachher nur jede 2. Datei, wenn ich 72 Bilder in dem Ordner hab sind nachher nur 36 gelistet...

Kann mir wer erklären warum?

mkinzler 31. Aug 2007 16:19

Re: FindNext findet nur jede 2. Datei ?!?
 
Du ruft .FindNext auch 2 mal pro Schleifendurchlauf auf.

SirThornberry 31. Aug 2007 16:20

Re: FindNext findet nur jede 2. Datei ?!?
 
die erklärung ist einfach. Du rufst 2 mal FindNext auf.

Zudem solltest du auch das Ergebnis von FindFirst auswerten. Und FindClose brauchst du nur auswerten wenn FindFirst erfolgreich war.

Delphi-Quellcode:
if (FindFirst(...) = 0) then
begin
  repeat
    //do anything
  until FindNext(...) <> 0;
  FindClose(...);
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:07 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-2025 by Thomas Breitkreuz