Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.02.26;
Скачать: CL | DM;

Вниз

сохранение в ini   Найти похожие ветки 

 
13   (2006-02-11 13:20) [0]

На форме есть Checkbox1 и Toolbar1. Если chekbox1 выделен тогда показывать toolBar1юСохраняю все это дело в ini следующим образом.

procedure save;
begin
Ini:=Tinifile.create("primer.ini");
ini.WriteBool("Panel","toolbar1", checkbox1.checked);
end;

procedure load;
begin
Ini:=TInifile.Create("primer.ini");
checkbox1.checked:=ini.readbool("Panel","toolbar1", false );
end;

procedure TMainForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
SaveParam;
end;

procedure TMainForm.FormCreate(Sender: TObject);
begin
LoadParam;
end;

в обработчике checkbox1
procedure TMainForm.CheckBox1Click(Sender: TObject);
begin
if checkbox1.checked
 then toolbar1.Visible:=true
  else toolbar1.visible:=false;
end;

В primer.ini все сохраняется как надо, т.е. или 0 или 1, но вот при загрузке, toolbar1 в любом случае доступен.
Я понимаю что код не супер, но поидее должно работать/ Подскажите в чем ошибка. Заранее спасибо.


 
Гарри Поттер ©   (2006-02-11 13:40) [1]

Он у тебя отключается в CheckBox1Click а ты ее не выполняешь после procedure load;


 
13   (2006-02-11 13:55) [2]

чего то я не догоняю


 
Гарри Поттер ©   (2006-02-11 14:08) [3]

А так будет работать?

procedure load;
begin
Ini:=TInifile.Create("primer.ini");
checkbox1.checked:=ini.readbool("Panel","toolbar1", false );

if checkbox1.checked
then toolbar1.Visible:=true
 else toolbar1.visible:=false;

end;


если да, делай вывод.


 
13   (2006-02-11 14:22) [4]

этот пример работает но есть одно но.
если запустить приложение и снять галку затем закрыть его, то после повторного запуска панель можно отобразить только если поставить галку, убрать галку а затем снова поставить.
В чем проблема?


 
Гарри Поттер ©   (2006-02-11 14:28) [5]

потому что отображение\скрытие панели у тебя происходит в событии CheckBox1Click.


 
13   (2006-02-11 15:05) [6]


> потому что отображение\скрытие панели у тебя происходит
> в событии CheckBox1Click.

А где же тогда сделать отображение/скрытие панели?


 
Гарри Поттер ©   (2006-02-11 15:49) [7]

Да пусть там и будет.
Но загрузке надо тоже определить состояние панели, так ведь?
procedure load;
begin
Ini:=TInifile.Create("primer.ini");
checkbox1.checked:=ini.readbool("Panel","toolbar1", false );

toolbar1.Visible := checkbox1.checked;

end;


 
SergP ©   (2006-02-11 18:13) [8]


> 13   (11.02.06 13:20)  


Кстати (к сабжу отношения не имеет, но все же: зачем дважды создается Ini:=TInifile.Create("primer.ini"); и ни разу не уничтожается?



Страницы: 1 вся ветка

Текущий архив: 2006.02.26;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.051 c
15-1138860793
ANB
2006-02-02 09:13
2006.02.26
Поздравляю себя с рождением вчера (01.02.2006) дочки


8-1127121475
NightLord
2005-09-19 13:17
2006.02.26
Графические форматы


4-1134143451
Volf_555
2005-12-09 18:50
2006.02.26
Как нормально следить за счётчиком!?


2-1139423531
JEK2
2006-02-08 21:32
2006.02.26
Не понятные ошибки при работе с БД


1-1138282482
ma5ter
2006-01-26 16:34
2006.02.26
Число записей в диспетчере задач