Folgendendes nutz ich um auf C:\ nach allen Dateien zu suchen die test.txt
heißen:
Delphi-Quellcode:
procedure SearchFiles(Ext,StartDir: string;Recursive: Boolean; List: TStrings);
var Rec: TSearchRec;
i: integer;
Dir : string;
begin
Dir := StartDir;
if AnsiLastChar(Dir) <> '\' then
Dir := Dir + '\';
i := FindFirst(StartDir+'*',faAnyFile,Rec);
while i = 0 do
begin
Application.ProcessMessages; //optional
if Pos(Ext,Rec.Name) > 0 then
List.Add(Dir+Rec.Name);
if ((Rec.Attr and faDirectory) > 0) and (Rec.Name <> '.') and
(Rec.Name <> '..') and Recursive then
begin
if AnsiLastChar(Rec.Name) <> '\' then
Rec.Name := Rec.Name + '\';
SearchFiles(Ext,StartDir+Rec.Name,Recursive,List);
end;
i := FindNext(Rec);
end;
FindClose(Rec);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
SearchFiles('test.txt','C:\',true,ListBox1.Items);
end;
jetzt das problem, ich will nicht nur auf C:\ danach suchen sondern auf allen vorhandenen Festplatten (nicht auf Disketten / CD-Laufwerken !)
Wie mache ich das am besten ?!