Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Аватара для Savant

Старожил


Сообщения: 300
Благодарности: 6

Профиль | Сайт | Отправить PM | Цитировать


Есть минимум 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;
Также значения можно хранить и в реестре. Реализация мало чем отличается от данной.

Отправлено: 03:17, 16-05-2005 | #4