Как я могу сохранить изменения моей формы при закрытии формы? - PullRequest
0 голосов
/ 20 декабря 2018

Я хочу сохранить изменения, внесенные в свойства моих компонентов на Android при закрытии формы.Как я могу это сделать?

1 Ответ

0 голосов
/ 20 декабря 2018

Как отмечается в комментариях, это нужно делать вручную.Для простых настроек было бы просто использовать inifiles.Для более сложного сохранения данных вы можете использовать json или даже sqlite.

Просто примечание.Событие OnFormClose не очень хорошо работает на Android.Я предлагаю, чтобы при внесении изменений именно тогда вы их сохраняли или, альтернативно, предоставляли что-то вроде кнопки «сохранить конфигурацию».

Пример кода для сохранения ini на android:

procedure SaveSettingString(Section, Name, Value: string);
var
  ini: TIniFile;
begin
  ini := TIniFile.Create(System.IOUtils.TPath.GetDocumentsPath + System.SysUtils.PathDelim + 'config.ini');
  try
    ini.WriteString(Section, Name, Value);
  finally
    ini.Free;
  end;
end;

Пример для загрузки строки:

function LoadSettingString(Section, Name, Value: string): string;
var
  ini: TIniFile;
begin
  ini := TIniFile.Create(System.IOUtils.TPath.GetDocumentsPath + System.SysUtils.PathDelim + 'config.ini');
  try
    Result := ini.ReadString(Section, Name, Value);
  finally
    ini.Free;
  end;
end;

При загрузке все, что вы указали в качестве значения, будет возвращено, если имя / ключ не существует.

...