type
public
procedure ZnajdzPlik(Sciezka,NazwaPliku:String);
end;
procedure TForm1.ZnajdzPlik(Sciezka,NazwaPliku:String);
var
FSearchRec,DSearchRec:TSearchRec;
FindResult:integer;
function GetDirectoryName(Dir:String):String;
begin
if Dir[Length(Dir)]<>'\' then
Result:=dir+'\'
else
Result:=Dir;
end;
function IsDirNotation(AdirName:String):Boolean;
begin
Result:=(AdirName='.') or (AdirName='..');
end;
begin
Sciezka:=GetDirectoryName(Sciezka);
FindResult:=FindFirst(Sciezka+NazwaPliku,
faAnyFile+faHidden+faSysFile+faReadOnly ,FSearchRec);
try
while FindResult = 0 do
begin
Memo1.Lines.Add(Sciezka+FsearchRec.Name);
FindResult:=FindNext(FSearchRec);
end;
FindResult:=FindFirst(Sciezka+'*.*',faDirectory,DSearchRec);
while FindResult=0 do
begin
if ((DSearchRec.Attr and faDirectory)=faDirectory) and
not IsDirNOtation(DSearchRec.Name) then
ZnajdzPlik(Sciezka+DSearchRec.Name,NazwaPliku);
FindResult:=FindNext(DSearchRec);
end;
finally
FindClose(FSearchRec);
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
ZnajdzPlik('c:\','*.exe');
end;
jak to zrobić żeby wyszukać plik na wszystkich napędach i dyskach w komputerze ??