通常,在Windows中,我将应用程序的数据保存在用户文件夹中(%appdata%)。
为此,我使用链接到Windows的函数ExpandEnvironmentStrings
来获取我需要的文件夹,并将其存储在我的 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;
答案 0 :(得分:22)
没有尝试过XE2,但可能你可以使用SysUtils.GetHomePath。同时检查IOUtils
,您可以在其中找到有用的记录(TFile,TPath,TDirectory),以便管理文件,路径和目录。他们应该支持不同的平台。