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
|
Function FindOwnAllFiles(AFolder,AExt: String;Recursif : Boolean) : TListFichier;
procedure RechercherFichiers(Lst : TListFichier ;NomDossier,exten : string ; Recursif : Boolean );
var
hFind : TSearchRec;
begin
NomDossier := slach(NomDossier); // Attention au '\' ;-)
if FindFirst( NomDossier + exten, FaAnyFile, hFind ) = 0 then
begin
repeat
if (hFind.Name <> '.') and (hFind.Name <> '..') then
begin
{ c'est un fichier on l'ajoute a la structure }
if ( hFind.Attr and faDirectory ) <> faDirectory then
Lst.AddEnreg( hFind.Name, NomDossier, hFind.Size, hFind.Time ) // Ajoute fichier à la liste
else { c'est un dossier on va voir dedans }
if Recursif Then
RechercherFichiers(Lst,(slach(NomDossier) + hFind.Name),exten,Recursif);
end;
until FindNext(hFind) <> 0;
Application.ProcessMessages;
FindClose(hFind);
end;
end;
begin
result := TListFichier.Create;
RechercherFichiers(result,AFolder,AExt,Recursif);
end; |
Partager