使用 Delphi XE5 Android 应用程序列出存储中的所有文件

5

如何列出SD卡路径和内存路径中的文件?

我尝试使用GetDocumentsPath作为参数的FindFile,但没能成功。

哎呀,我在哪里可以找到更多有关Delphi for Android的文档或代码片段?


2
这是Delphi。以前从未见过这种讨论。 - alycia
1个回答

4

System.IOUtils添加到您的使用条款中。 您可以像这样使用代码TPathTDirectory

uses
  System.IOUtils, System.Types;

procedure TForm1.Button1Click(Sender: TObject);
var
  FileList: TStringDynArray;
  DocDir: string;
  s: string;
begin
  Memo1.Lines.Clear;
  DocDir := TPath.GetDocumentsPath;
  FileList := TDirectory.GetFiles(DocDir);
  for s in FileList do
    Memo1.Lines.Add(s);
end;

是的,我也从Marco Cantu的PDF中找到了这段代码,但没有找到任何文件。 - alycia
抱歉,我在模拟器中尝试了一下。我现在不在电脑旁边。稍后我会用手机再试一次。如果我在模拟器中运行代码,路径应该是 /data/data/embarcadero.program/。在Android中,/data和Windows中的驱动器号码一样吗?内存路径怎么样?Delphi有API吗?我从http://www.embarcadero.com/resources/white-papers?download=102获取了PDF文件。 - alycia
其他操作系统没有驱动器字母。 :-) 这就是为什么 IOUtils 有 TPath,它让您调用一个函数并获取正确的位置,而不管平台如何。IOUtils.TPath 还有其他查找文件夹的功能,比如 GetHomePathGetTempPath。它们在帮助文档和 RTL 源代码中都有记录(至少列出)。 - Ken White
您可能也想查看另一个问题的这个答案 - Ken White
显示剩余5条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接