我是iOS平台的新手。我正在尝试为我的应用程序保存一个INI文件。问题是我无法获得具有写许可权的路径。

这是我的代码:

  ini := TIniFile.Create(GetHomePath + '/user.dat');
  try
    ini.WriteString('data','user',edtuser.Text);
    ini.WriteString('data','descr',edt1.Text);
  finally
    ini.Free;
  end;

我收到一个无法创建文件的异常(exception)。如何使用Firemonkey获取可写路径?

最佳答案

使用TPath.GetDocumentsPath(并使用TPath.Combine代替并置,以删除硬编码的/):

uses
  System.IOUtils;


ini := TIniFile.Create(TPath.Combine(TPath.GetDocumentsPath, 'user.dat'));
使用TPath.GetDocumentsPath可以在所有受支持的平台(Win32,Win64,OSX,iOS和Android)上透明地工作,并且使用TPath.Combine将自动添加TPath.DirectorySeparatorChar,因此您不必手动将它们串联。
但是,如果您喜欢自己做:
var
  IniName: string;
begin
  IniName := TPath.GetDocumentsPath + TPath.DirectorySeparatorChar + 'user.dat';
  Ini := TIniFile.Create(IniName);
  try
    // Rest of code
  finally
    Ini.Free;
  end;
end;

关于ios - 将TiniFile从应用程序保存到iOS,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19516804/

10-10 16:55