使用FireMonkey及其跨平台,我应该在哪里存储我的应用程序数据?

Whi*_*ler 23 delphi directory delphi-xe2 firemonkey

通常,使用Windows,我将应用程序的数据保存在用户文件夹(%appdata%)中.

为此,我使用ExpandEnvironmentStrings链接到Windows 的函数来获取我需要的文件夹,并将其存储在我的inifile子文件夹中.

有没有最佳实践来管理它并符合所有支持的平台(Windows 32b,64b和Mac)?


我成功地测试过:

procedure TfrmMain.SaveSettings;
var
  fnINI: TFileName;
  ini  : TIniFile;
begin
  fnINI := IncludeTrailingPathDelimiter(GetHomePath) + IncludeTrailingPathDelimiter(APP_NAME) + ChangeFileExt(APP_NAME, '.ini');
  if ForceDirectories(ExtractFilePath(fnINI)) then
  begin
    ini := TIniFile.Create(fnINI);
    try
      ini.WriteString(INI_CONNECTION, INI_IP, edtIP.Text);
    finally
      ini.Free;
    end;
  end;
end;
Run Code Online (Sandbox Code Playgroud)

Lin*_*nas 22

没有尝试过XE2,但可能你可以使用SysUtils.GetHomePath.还要检查IOUtils哪里可以找到有用的记录(TFile,TPath,TDirectory)来管理文件,路径和目录.他们应该支持不同的平台.