6

我对 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;

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

4

2 回答 2

12

使用TPath.GetDocumentsPath(并使用TPath.Combine而不是连接,以删除硬编码/):

uses
  System.IOUtils;


ini := TIniFile.Create(TPath.Combine(TPath.GetDocumentsPath, 'user.dat'));

UsingTPath.GetDocumentsPath可以透明地跨所有支持的平台(Win32、Win64、OSX、iOS 和 Android)工作,并且 usingTPath.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;
  
于 2013-10-22T13:10:57.710 回答
2

可能是这个这个可以帮助你

uses INIFiles;

function TForm6.MyINIFilePath: string;
begin
//  Result := GetHomePath + PathDelim + 'Library' + PathDelim+'My.ini';
  Result := GetHomePath + PathDelim + 'Documents' + PathDelim+'MyD.ini';
end; 
于 2013-10-22T16:37:49.453 回答