Normalmente, con Windows, guardo los datos de mi aplicación en la carpeta del usuario (% appdata%).Con FireMonkey y sus plataformas cruzadas, ¿dónde debería almacenar mis datos de aplicación?
Para ello, utilizo la función ExpandEnvironmentStrings
que está vinculada a Windows para obtener la carpeta que necesito, y lo almacene dentro de una subcarpeta mi archivoini.
¿Existe alguna mejor práctica para gestionar eso y cumplir con todas las plataformas compatibles (Windows 32b, 64b & Mac)?
He probado con éxito como ese:
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;
Mueva sus hallazgos a una respuesta propia en lugar de editar su pregunta. De esta forma, las personas pueden votar la respuesta y la pregunta por separado. – LachlanG
@LachlanG: En este caso, no estoy de acuerdo. Whiler agregó un ejemplo que muestra el uso de la respuesta que aceptó. En mi humilde opinión, no debería agregar otra respuesta para hacerlo, pero hizo lo correcto al actualizar su pregunta para incluir su verificación de que la respuesta es correcta. – lkessler
@lkessler: ¿Por qué no acaba de agregar un comentario a la respuesta diciendo que ha verificado que funciona? Él ya dejó un comentario diciendo que lo verificaría por sí mismo. Además, en lugar de agregar su código de solución a su pregunta, ¿por qué no edita la respuesta de Linas y coloca allí el código? – LachlanG