1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
|
Procedure ScruteDossier(Dossier:string;filtre:string;attributs:integer;recursif:boolean; eff:boolean);
var
DossierTrouve:string;
Resultat:Integer;
SearchRec:TSearchRec;
begin
If Dossier[length(Dossier)]='\' then Dossier:=copy(Dossier,1,length(Dossier)-1);
if (eff=true) then
ScruteFichier(Dossier,filtre,attributs,true)
else ScruteFichier(Dossier,filtre,attributs,false);
if recursif then
begin
Resultat:=FindFirst(Dossier+'\'+'*.*',FaDirectory,SearchRec);
while Resultat=0 do
begin
if (SearchRec.Name<>'.') and (SearchRec.Name<>'..')
and ((SearchRec.Attr and faDirectory)>0)then
begin
DossierTrouve:=Dossier+'\'+SearchRec.Name;
// attention, souvent un memo est trop petit pour contenir tous les fichiers d'un disque dur !
// si vous avez Delphi3 choisisez un TRichEdit vous serez moins limité
if recursif then
if (eff=true) then
ScruteDossier(DossierTrouve,filtre,attributs,recursif,true)
else ScruteDossier(DossierTrouve,filtre,attributs,recursif,false);
Application.ProcessMessages;
end;
Resultat:=FindNext(SearchRec);
end;
end;
FindClose(SearchRec);
end; |
Partager