我试图列出目录中包含名称的所有文件,但无法执行。有没有办法列出目录中名称的所有文件?
提前致谢。
答案 0 :(得分:12)
以下脚本显示如何将指定目录的所有文件列入TStrings
集合(在此示例中,在自定义页面的列表框中列出):
[Code]
procedure ListFiles(const Directory: string; Files: TStrings);
var
FindRec: TFindRec;
begin
Files.Clear;
if FindFirst(ExpandConstant(Directory + '*'), FindRec) then
try
repeat
if FindRec.Attributes and FILE_ATTRIBUTE_DIRECTORY = 0 then
Files.Add(FindRec.Name);
until
not FindNext(FindRec);
finally
FindClose(FindRec);
end;
end;
procedure InitializeWizard;
var
CustomPage: TWizardPage;
FileListBox: TNewListBox;
begin
CustomPage := CreateCustomPage(wpWelcome, 'Caption', 'Description');
FileListBox := TNewListBox.Create(WizardForm);
FileListBox.Parent := CustomPage.Surface;
FileListBox.Align := alClient;
ListFiles('C:\SomeDirectory\', FileListBox.Items);
end;