Подтвердить что ты не робот

С FireMonkey и его кросс-платформами, где я должен хранить данные приложения?

Обычно в Windows я сохраняю данные своих приложений в папке пользователя (% appdata%).

Для этого я использую функцию ExpandEnvironmentStrings, связанную с Windows, чтобы получить нужную мне папку, и я храню внутри подпапки myifile.

Есть ли какая-нибудь лучшая практика для управления этим и совместимость со всеми поддерживаемыми платформами (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;
4b9b3361

Ответ 1

Не пробовал XE2, но, возможно, вы могли бы использовать SysUtils.GetHomePath. Также проверьте IOUtils, где вы можете найти полезные записи (TFile, TPath, TDirectory) для управления файлами, путями и каталогами. Они должны поддерживать разные платформы.