Hier zunächst mal eine ganz saubere Prozedure um Dateien aufzulisten:
Delphi-Quellcode:
function BuildFileList(const Path: string; const Attr: Integer; const List: TStrings): Boolean;
var
SearchRec: TSearchRec;
R: Integer;
begin
Assert(List <> nil);
R := FindFirst(Path, Attr, SearchRec);
Result := R = 0;
List.BeginUpdate;
try
if Result then
begin
while R = 0 do
begin
if (SearchRec.Name <> '.') and (SearchRec.Name <> '..') then
List.Add(SearchRec.Name);
R := FindNext(SearchRec);
end;
Result := R = ERROR_NO_MORE_FILES;
end;
finally
SysUtils.FindClose(SearchRec);
List.EndUpdate;
end;
end;
Nimm diese Procedure und alles wird gut!
Delphi-Quellcode:
var
pfad:string;
begin
pfad := DriveComboBox1.Drive+':\*.*';
pfad := changeFileExt(pfad, Edit1.Text);
BuildFileList(pfad,faAnyFile, ListBox1.Items);
Siehst du auch den Unterschied zwischen SucheDir() und BuildFileList() ????
BuildFileList() ist
universell einsetzbar; du kannst die Funktion nehmen und einfach
in ein anderes Delphi-Projekt übernehmen.