![]() |
Delphi-Version: 6
Nach Dateien in einem Ordner Suchen
Hallo, ich möchte einen Ordner nach allen Dateien durchsuchen und mit denen irgendwas machen. Dafür habe ich eine Funktion zusammengegoogelt und die macht eigentlich auch, was ich möchte.
Code:
Allerdings meckert delphi
procedure TForm1.SearchFiles(filepath: string);
var MySearch: TSearchRec; FindResult: Integer; begin FindResult:=FindFirst(filepath+'\*.*', faAnyFile, MySearch); if (MySearch.Name<>'.')and(MySearch.Name<>'..') then begin Memo1.Lines.Add(MySearch.Name); prepareFile(filepath, MySearch.Name, true); end; while FindNext(MySearch)=0 do begin if (MySearch.Attr<>faDirectory) and (MySearch.Name<>'.') and (MySearch.Name<>'..') then begin Memo1.Lines.Add(MySearch.Name); prepareFile(filepath, MySearch.Name, true); end; end; end;
Code:
Die Zeile kann ich auch nicht ausblenden, dann funktioniert es nicht mehr. Kann ich den Hinweis irgendwie beheben oder einfach ignorieren? Danke!
[Hinweis] meeh.pas(85): Auf 'FindResult' zugewiesener Wert wird niemals benutzt
|
AW: Nach Dateien in einem Ordner Suchen
Der Compiler sagt dass die Zuweisung an die Variable "FindResult" (und damit die gesamte Variable) überflüssig ist, nicht die gesamte Zeile!
|
AW: Nach Dateien in einem Ordner Suchen
Zitat:
Besser wäre folgender Code:
Code:
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).
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; |
AW: Nach Dateien in einem Ordner Suchen
Zitat:
aber im Grunde wird damit auch gesagt, dass der Entwickler vergessen hat diese Variable zu benutzen, also das Ergebnis der Suche auszuwerten, ob überhaupt was gefunden wurde. (siehe mein Vorredner) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:23 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