Jak zrobić listę wszystkich plików EXE lub COM, znajdujących się na danym dysku ?
Oczywiście w podfolderach też...
Pozdrawiam {browar} .
Jak zrobić listę wszystkich plików EXE lub COM, znajdujących się na danym dysku ?
Oczywiście w podfolderach też...
Pozdrawiam {browar} .
miszczu poszukaj w gotowcach :P :)---=-=[ Delphi 3, 6 ]=-=-
-=-=-==[ LKS ]==-=-=-
-=[ [email protected] ]=-
Miszczu ze 4 razy umieszczalem na tym forum funkcje robiaca ta wystarczylo se zmodyfikowac maske na *.exe a potem na *.com.
function Szukaj(Czego, Gdzie: String): String;
var
tmp: string;
n: Integer;
Katalogi: TStringList;
function FindIt(Dir, Maska: String; Rodzaj: Integer) : String;
var
Found : Integer;
SR: TSearchRec;
L: TStringList;
begin
L := TStringList.Create;
try
if Dir[Length(Dir)]<> '\' then Dir:= Dir + '\';
Found := FindFirst(Dir + Maska, Rodzaj, SR);
while ( Found = 0 ) do
begin
if (SR.Name <> '.') and (SR.Name <> '..') then
L.Add(Dir + SR.Name);
Found := FindNext(SR);
end;
finally
FindClose(SR);
end;
Result:=L.Text;
L.Free;
end;
begin
Katalogi:=TStringList.Create;
Tmp:=FindIt(Gdzie,Czego,faAnyFile);
Katalogi.Text:=FindIt(Gdzie,'.',faAnyFile and faDirectory);
for n:=0 to Katalogi.Count-1 do
begin
Tmp:=Tmp+#13+Szukaj(Czego,Katalogi.Strings[n]);
end;
Katalogi.Clear;
Katalogi.Text:=Tmp;
usuwanie pustych linijek - czasem sie zdarzaja
while Katalogi.IndexOf()>=0 do begin Katalogi.Delete(Katalogi.IndexOf(
));
end;
usuwa katalogi z listy zeby zostaly pliki
for n:=Katalogi.Count-1 downto 0 do
begin
if DirectoryExists(Katalogi.Strings[n]) then Katalogi.Delete(n);
end;
Result:=Katalogi.Text;
Katalogi.Free;
end;
PS funkcja nie jest extra-super ale dziala :)--sys:> logout....
Dzięki {browar}