Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Сохранять настройки в ini-файле

Delphi , Файловая система , INI файлы

Сохранять настройки в ini-файле

Этот пример показывает, как можно сохранять настройки с помощью ini-файла. Ini-файлы удобны тем, что после удаления программы без деинсталяции в реестре не остается "следов". Еще это удобно тем, что для "сброса" настроек программы достаточно удалить ini-файл.

Эта программа сохраняет позицию и размер окна, содержимое поля ввода Edit1, число, введенное в Edit2, флажок CheckBox1, а также содержимое ListBox1 (добавить в него строчку можно, нажав на кнопку).


uses IniFiles;

procedure TForm1.FormCreate(Sender: TObject);
var
  F: TIniFile;
  names: TStringList;
  i: integer;
begin
  F := TIniFile.Create(ExtractFilePath(ParamStr(0)) + 'window.ini');

  Form1.Left := F.ReadInteger('position', 'left', 0);
  Form1.Width := F.ReadInteger('position', 'width', 200);
  Form1.Top := F.ReadInteger('position', 'top', 0);
  Form1.Height := F.ReadInteger('position', 'height', 200);

  Edit1.Text := F.ReadString('tools', 'edit1', 'no text');
  Edit2.Text := IntToStr(F.ReadInteger('tools', 'koef', 0));
  CheckBox1.Checked := F.ReadBool('tools', 'check', true);

  names := TStringList.Create;
  F.ReadSection('files', names);
  for i := 0 to Names.Count - 1 do
    ListBox1.Items.Add(F.ReadString('files', names.Strings[i], ''));
  names.Destroy;

  F.Destroy;
end;

procedure TForm1.FormDestroy(Sender: TObject);
var
  F: TIniFile;
  i: integer;
begin
  F := TIniFile.Create(ExtractFilePath(ParamStr(0)) + 'window.ini');

  F.WriteInteger('position', 'left', Form1.Left);
  F.WriteInteger('position', 'width', Form1.Width);
  F.WriteInteger('position', 'top', Form1.Top);
  F.WriteInteger('position', 'height', Form1.Height);

  F.WriteString('tools', 'edit1', Edit1.Text);
  F.WriteInteger('tools', 'koef', StrToIntDef(Edit2.Text, 0));
  F.WriteBool('tools', 'check', CheckBox1.Checked);

  for i := 0 to ListBox1.Items.Count - 1 do
    F.WriteString('files', 'file' + IntToStr(i+1), ListBox1.Items.Strings[i]);

  F.Free;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  ListBox1.Items.Add(Edit1.Text);
end;

Программа на Delphi использует файл INI для хранения настроек приложения. Файл INI называется "window.ini" и находится в том же каталоге, что и исполняемый файл.

Вот подробное описание того, что код делает:

FormCreate

  • Создает объект TIniFile, представляющий файл INI.
  • Читает позицию, размер и другие настройки из файла INI и устанавливает соответствующие свойства на форме.
  • Пополняет Edit1 контролем с сохраненным текстом, Edit2 контролем с сохраненным целочисленным значением и CheckBox1 контролем с сохраненным булевым значением.
  • Читает содержимое ListBox1 из файла INI и добавляет его в список.

FormDestroy

  • Создает объект TIniFile, представляющий файл INI.
  • Записывает текущую позицию, размер и другие настройки в файл INI.
  • Сохраняет текст в Edit1, целочисленное значение в Edit2 и булевое значение в CheckBox1 в файл INI.
  • Сохраняет содержимое ListBox1 в файл INI.

Button1Click

  • Добавляет текст из Edit1 в ListBox1 при нажатии кнопки.

Использование файла INI обеспечивает простой способ для приложения хранить свои настройки и восстановить их позднее. Это может быть полезно в сценариях, где пользователь хочет настроить поведение или внешний вид приложения и сохранить эти изменения, чтобы они оставались актуальными при различных запусках программы.

Вот некоторые предложения по улучшению кода:

  • Вместо жесткого кодирования имени файла "window.ini" и пути, рассмотрите более гибкий подход, например, использование каталога настроек или позволяя пользователю указать имя файла.
  • Рассмотрите добавление обработки ошибок для ситуаций, когда файл INI не может быть создан или прочитан успешно.
  • Если вы храните чувствительные данные в файле INI (например, пароли), рассмотрите возможность шифрования данных, чтобы предотвратить доступ к ним без разрешения.
  • Возможно, вам стоит рассмотреть использование более robust механизма хранения настроек, такого как база данных или файл XML, особенно если вам нужно хранить большие объемы данных или требовать advanced querying capabilities.

В целом, это хороший пример использования файла INI для хранения настроек приложения в Delphi.

В статье описывается пример сохранения настроек с помощью ini-файла в Delphi, демонстрирующий как можно хранить позицию и размер окна, содержимое полей ввода и других элементов формы.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: INI файлы ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-12-22 20:14:06
2025-04-08 12:45:45/0.0058269500732422/0