23

通常,在 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;
4

1 回答 1

22

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

于 2011-09-15T15:41:31.063 回答