Delphi для всех

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

Хостинг от uCoz