![:rolleyes:](http://vse.kz/public/style_emoticons/default/rolleyes.gif)
procedure SaveValues( parnt: TWinControl); var i: integer; IniFile : TIniFile; begin IniFile := TIniFile.Create(confFN); with parnt do for i:= 0 to ControlCount-1 do if Controls[i] is TCheckBox then with (Controls[i] as TCheckBox) do IniFile.WriteBool( parnt.Name, Name, Checked) else if (Controls[i] is TPanel)or(Controls[i] is TGroupBox) then SaveValues( Controls[i] as TWinControl); IniFile.Free; end; procedure LoadValues( parnt: TWinControl); var i: integer; IniFile : TIniFile; begin IniFile := TIniFile.Create(confFN); with parnt do for i:= 0 to ControlCount-1 do if Controls[i] is TCheckBox then with (Controls[i] as TCheckBox) do Checked:= IniFile.ReadBool( parnt.Name, Name, Checked) else if (Controls[i] is TPanel)or(Controls[i] is TGroupBox) then SaveValues( Controls[i] as TWinControl); IniFile.Free; end;
Можно использовать так:
Form1OnCreate:
LoadValues( Form1);
...
Form1OnClose:
SaveValues( Form1);
Сохраняет все имеющиеся на форме CheckBox'ы, в том числе находящиеся на Panel'ях и GroupBox'ах. При желании можно легко модифицировать до состояния, в котором будет сохранять все свойства (не только Checked) всех контролов (не только CheckBox'ов)
![:p](http://vse.kz/public/style_emoticons/default/dandy.gif)