Einzelnen Beitrag anzeigen

Achim Kalwa

Registriert seit: 2. Apr 2005
Ort: Lienen
103 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Nach Dateien in einem Ordner Suchen

  Alt 26. Jun 2020, 14:27
Code:
[Hinweis] meeh.pas(85): Auf 'FindResult' zugewiesener Wert wird niemals benutzt
Die Zeile kann ich auch nicht ausblenden, dann funktioniert es nicht mehr. Kann ich den Hinweis irgendwie beheben oder einfach ignorieren? Danke!
Der Compiler hat Recht. Der Inhalt von FindResult zeigt an, ob die Suche mittels FindFirst erfolgreich war oder nicht. Und weil Du diesen Wert nicht prüfst, meckert der Compiler.

Besser wäre folgender Code:
Code:
var
  MySearch: TSearchRec;
  FindResult: Integer;
begin
  FindResult := FindFirst(filepath+'\*.*', faAnyFile, MySearch);
  while FindResult = 0 do
  begin
    if (MySearch.Name<>'.')and(MySearch.Name<>'..') then begin
      Memo1.Lines.Add(MySearch.Name);
      prepareFile(filepath, MySearch.Name, true);
    end;

    FindResult := FindNext(MySearch);
  end;
  FindClose(MySearch);
end;
FindResult wird jetzt bei jedem Schleifendurchgang ausgewertet. Sobald der Wert von 0 abweicht, wird die Schleife beendet. Wichtig ist auch das FindClose(), damit werden intern verwendete Daten korrekt freigegben (hier: ein Handle).
Achim
  Mit Zitat antworten Zitat