PDA

Показать полную графическую версию : Помогите с сохранением настроек проги


Denhell
15-05-2005, 19:12
Помогите, как сделать так, чтобы прога сохраняла значения CheckBox. Т.е. запускаю я прогу, помечаю CheckBox и закрываю прогу. Открываю вновь, и CheckBox стоит помеченным.
Пожалуйста растолкуйте поподробнее.

Savant
15-05-2005, 19:42
Среда разработки?

Denhell
15-05-2005, 20:16
Ах да, простите Borland Delphi 6.

Savant
16-05-2005, 03:17
Есть минимум 2 популярных способа:

1. Создание потомка класса и в его конструкторе/деструкторе загружать/сохранять информацию. В данном случае такой подход имхо громозок.

2. Обработка событий OnCreate и OnDestroy формы, на которой расположен контрол. Например следующим образом:

procedure TForm1.FormCreate(Sender: TObject);
var
F: TiniFile;
begin
// открытие конфигурационного файла
F := TiniFile.Create(Copy(Application.ExeName, 1, Length(Application.ExeName) - Length(ExtractFileExt(Application.ExeName))) + '.cfg');
// чтение значения для контрола CheckBox1
CheckBox1.Checked := F.ReadBool('main', CheckBox1.Name, False); // третий параметр - значение по умолчанию (напр. при первом запуске программы)
// закрытие файла
F.Free
end;

procedure TForm1.FormDestroy(Sender: TObject);
var
F: TiniFile;
begin
F := TiniFile.Create(Copy(Application.ExeName, 1, Length(Application.ExeName) - Length(ExtractFileExt(Application.ExeName))) + '.cfg');
F.WriteBool('main', CheckBox1.Name, CheckBox1.Checked);
F.Free
end;


Также значения можно хранить и в реестре. Реализация мало чем отличается от данной.




© OSzone.net 2001-2012