我正在使用delphi,当我执行openpicturedialog 时,我想要一个目录中所有文件的列表。
即,当执行打开对话框并从中选择一个文件时,我想要所选文件目录中所有文件的列表。
您甚至可以建议我从
Thank You的FileName
属性中获取目录名称。TOpenDialog
我正在使用delphi,当我执行openpicturedialog 时,我想要一个目录中所有文件的列表。
即,当执行打开对话框并从中选择一个文件时,我想要所选文件目录中所有文件的列表。
您甚至可以建议我从
Thank You的FileName
属性中获取目录名称。TOpenDialog
如果您使用 delphi 2010,那么您可以使用 tdirectory.getfiles 首先将 ioutils.pas 添加到 uses 子句,然后在事件处理程序中编写以下代码行(除了该事件处理程序中已有的代码)
uses IOUtils;
var
path : string;
begin
for Path in TDirectory.GetFiles(OpenPictureDialog1.filename) do
Listbox1.Items.Add(Path);{assuming OpenPictureDialog1 is the name you gave to your OpenPictureDialog control}
end;
@Himadri,OpenPictureDialog 的主要目标不是选择目录,无论如何,如果您将此对话框用于其他目的,您可以尝试此代码。
Var
Path : String;
SR : TSearchRec;
DirList : TStrings;
begin
if OpenPictureDialog1.Execute then
begin
Path:=ExtractFileDir(OpenPictureDialog1.FileName); //Get the path of the selected file
DirList:=TStringList.Create;
try
if FindFirst(Path + '*.*', faArchive, SR) = 0 then
begin
repeat
DirList.Add(SR.Name); //Fill the list
until FindNext(SR) <> 0;
FindClose(SR);
end;
//do your stuff
finally
DirList.Free;
end;
end;
end;
您可以使用 extractFilePath 函数来获取目录名称:
myPath := extractFilePath(FileName);
其中 FileName 是您通过 OpenDialog 选择的文件的名称。
if OpenPictureDialog1.Execute then
FileListBox1.Directory := extractFilePath(OpenPictureDialog1.FileName);
您还可以使用链接到 FileListBox 的 FilterComboBox 来过滤文件类型。
TFileListBox 和 TFilterComboBox 在“Win 3.1”下的工具面板中。Delphi 4 中有这些对象。
使用 System.IOUtils;
变种列表:TStringlist;var文件:字符串:='';enter code here
var Path : string := IncludeTrailingPathDelimiter(Edit1.Text);
列表 := TStringList.Create; 尝试 TDirectory.GetFiles(Path) 中的 File 做 List.Add(File); // 最后将所有文件名添加到列表 FreeAndNil(Lista); 结尾;