Difference between revisions of "FindAllFiles"
From Lazarus wiki
Jump to navigationJump to searchm |
|||
Line 14: | Line 14: | ||
'''findallfiles''' looks for files matching the searchmask in the SearchPath directory and if specified its children and returns a stringlist with the resulting filenames. | '''findallfiles''' looks for files matching the searchmask in the SearchPath directory and if specified its children and returns a stringlist with the resulting filenames. | ||
− | The mask can be a | + | The mask can be a single mask like you can use with the FindFirst/FindNext functions, |
+ | or it can consist of a list of masks, separated by a semicolon (;).<br> | ||
+ | Spaces in the mask are treated as literals. | ||
Example: | Example: | ||
Line 23: | Line 25: | ||
... | ... | ||
var | var | ||
− | + | PascalFiles: TStringList; | |
begin | begin | ||
//No need to create the stringlist; the function does that for you | //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 | try | ||
− | + | showmessage(Format('Found %d Pascal source files',[PascalFiles.Count])); | |
− | |||
− | |||
− | |||
− | |||
finally | finally | ||
− | + | PascalFiles.Free; | |
end; | end; | ||
Revision as of 16:46, 3 August 2013
Unit: Lazarus fileutil (UTF-8 replacements for FPC RTL code and additional file/directory handling)
See also:
- http://lazarus-ccr.sourceforge.net/docs/lcl/fileutil/findallfiles.html
- http://lazarus-ccr.sourceforge.net/docs/lcl/fileutil/tfilesearcher.html
function FindAllFiles(const SearchPath: String; SearchMask: String = '';
SearchSubDirs: Boolean = True): TStringList;
findallfiles looks for files matching the searchmask in the SearchPath directory and if specified its children and returns a stringlist with the resulting filenames.
The mask can be a single mask like you can use with the FindFirst/FindNext functions,
or it can consist of a list of masks, separated by a semicolon (;).
Spaces in the mask are treated as literals.
Example:
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;