скрыть

скрыть

  Форум  

Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Google  
 

Сохранять настройки в 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;






Copyright © 2004-2016 "Delphi Sources". Delphi World FAQ




Группа ВКонтакте   Ссылка на Twitter   Группа на Facebook