FindAllFiles/fr
│
English (en) │
español (es) │
suomi (fi) │
français (fr) │
polski (pl) │
русский (ru) │
Unité: Lazarus FileUtil.
Voir aussi :
- http://lazarus-ccr.sourceforge.net/docs/lcl/fileutil/findallfiles.html
- http://lazarus-ccr.sourceforge.net/docs/lcl/fileutil/tfilesearcher.html
procedure FindAllFiles(AList: TStrings; const SearchPath: String;
SearchMask: String = ''; SearchSubDirs: Boolean = True; DirAttr: Word = faDirectory);
function FindAllFiles(const SearchPath: String; SearchMask: String = '';
SearchSubDirs: Boolean = True): TStringList;
findallfiles recherche les fichiers correspondants au masque de recherche dans le dossier SearchPath et ses sous-dossiers si spécifié, puis remplit une StringList avec les noms de fichier résultants.
Le masque peut être un masque simple comme vous pouvez l'utiliser avec les fonctions FindFirst/FindNext, ou il peut consister en une liste de masques, séparés par le point-virgule (;).
Les espaces dans le masque sont traités comme des litéraux.
Il y a deux versions surchargées de cette routine. La première est une procédure et suppose que que la StringList passées en paramètre a déjà été créée. La seconde est une fonction qui crée la StringList en interne et la retourne comme retour de fonction. Dans les deux cas, la StringList doit être détruite par la procédure appelante.
Exemple:
uses
...
FileUtil
...
var
PascalFiles: TStringList;
begin
//No need to create the stringlist; the function does that for you
PascalFiles := FindAllFiles(LazarusDirectory, '*.pas;*.pp;*.p;*.inc', true); //find e.g. all pascal sourcefiles
try
ShowMessage(Format('Found %d Pascal source files',[PascalFiles.Count]));
finally
PascalFiles.Free;
end;
IMPORTANT NOTE:
La fonction "FindAllFiles" crée la StringList en interne. Cela peut sembler pratique à première vue, mais il est très facile de créer des fuites de mémoire de cette façon :
// NE FAITES JAMAIS CELA !!!! - Il n'y a aucune façon de détruire la StringList crée par FindAllFiles.
Listbox1.Items.Assign(FindAllFiles(LazarusDirectory, '*.pas;*.pp;*.p;*.inc', true));