23

通常、Windows では、アプリケーションのデータをユーザー フォルダー ( %appdata% ) に保存します。

そのために、ExpandEnvironmentStringsWindows にリンクされている関数を使用して必要なフォルダーを取得し、サブフォルダーに my 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を使用できます。また、ファイル、パス、およびディレクトリを管理するための有用なレコード( TFileTPathTDirectoryIOUtils )がどこにあるかを確認してください。さまざまなプラットフォームをサポートする必要があります。

于 2011-09-15T15:41:31.063 に答える