Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Сохранение параметров и настроек программы при её закрытии [D7, WinXP]


ronyn ©   (2005-07-07 00:33:00) 

Такой вопрос. У меня в программе, плеере, есть кнопка РАНДОМА музыки. Т.е. в беспорядочной очереди. Допустим я её нажимаю, она принимает нажатое состояние. Закрываю приложение…. Открываю. Кнопка вернулась в исходное положение. А например, в Windows Media Player все настройки сохраняются даже после закрытия программы. Как сделать так, что бы при закрытии программы настройки и параметры сохранялись? Заранее благодарен.


ronyn   (2005-07-12 00:19:00) [1]

В разделе implementation (там, где реализация) надо тоже писать
procedure TForm1.LoadParam();
Вот здесь он мне говорит, что ожидается ";" или что-то в этом роде.


Viktop   (2005-07-09 09:35:00) [2]

Покажи как ты оставляешь кнопку нажатой и отжимаешь её


Гаврила   (2005-07-09 02:33:00) [3]


> Unsatisfied forward or external declaration: 'TForm1.LoadParam'-


В разделе implementation (там, где реализация) надо тоже писать
procedure TForm1.LoadParam();


Германн   (2005-07-09 02:02:00) [4]

2 ronyn   (09.07.05 01:06) [16]
Может сначала изучишь разницу между методамии процедурами?


ronyn   (2005-07-09 01:06:00) [5]

Всё вроди бы понятно. Но не даёт декларировать процедуру:
procedure LoadParam
Пишет в списке ошибок:
Unsatisfied forward or external declaration: 'TForm1.LoadParam'-
Неудовлетворенная передовая или внешняя декларация: ' TForm1. LoadParam '


evvcom   (2005-07-08 16:51:00) [6]


> Что такое  Botton.Down

Button - экземпляр класса TButton. Down его булево свойство.

> в 'Мои кнопки' что писать?

А в help заглянуть что, совсем в лом? Имена секции и параметра.


Viktop   (2005-07-08 16:48:00) [7]

INI := TIniFile.Create(Путь+имя файла)
>>Что такое  Botton.Down? как это типизироват?
Если кнопка нажата, то True (проверяешь при загрузке программы и сохраняешь при выходе)
>>3. INI.ReadBool('Мои кнопки','кнопка',true);в 'Мои кнопки' что писать? "кнопка" это конкретная кнопка? Например Button1?
Заранее благодарен.
'Мои кнопки' - название раздела (в файле настроек выглядит как [Мои кнопки])
'кнопка' - конкретная кнопка
В итоге получается такой файл:
[Мои кнопки]
Button1=true


ronyn   (2005-07-08 15:25:00) [8]

to Алхимик
Я правильно я понимаю:
1.INI := TIniFile.Create(...);здесь вместо многоточия название файла например, FIleINI?
2.Что такое  Botton.Down? как это типизироват?
3.INI.ReadBool('Мои кнопки','кнопка',true);в 'Мои кнопки' что писать? "кнопка" это конкретная кнопка? Например Button1?
Заранее благодарен.


Viktop   (2005-07-08 14:09:00) [9]

>>Пишем прогу так, чтобы прибирала за собой
Это про чужие проги :). Мои проги хранят настройки в ini-файлах. Их легко удалить даже непросвещённому юзеру


Алхимик   (2005-07-08 13:38:00) [10]


> А многие проги часто за собой не убирают, как врочем и унинсталлеры.

Пишем прогу так, чтобы прибирала за собой.


Viktop   (2005-07-07 20:52:00) [11]

to Алхимик
не люблю я проги, которые хранят информацию в реестре
>>Каждый юзер работает со своими персональными настройками
Проще в директории с прогой или на крайний случай в Documents and Settings хранить. Реестр - это святое. А многие проги часто за собой не убирают, как врочем и унинсталлеры.


Алхимик   (2005-07-07 17:38:00) [12]

А ещё более джедайский подход - хранить все настройки в реестре.
Каждый юзер работает со своими персональныминастройками - красота!


Viktop   (2005-07-07 15:55:00) [13]

>> Ставить компонент для запоминания состояния кнопки - не джедайский подход.
Невнимательно прочитал вопрос (Я). Конечно не надо ставить компонет из-за 1 кнопки. Другое дело, если элементов более 50


Алхимик   (2005-07-07 14:51:00) [14]

Ставить компонент для запоминания состояния кнопки - не джедайский подход.
INI файл вполне подойдёт.

uses Inifiles,...;

procedure LoadParam;
procedure SaveParam;
var
   INI : TIniFile;
...
procedure LoadParam;
begin
   INI := TIniFile.Create(...);
   Botton.Down := INI.ReadBool('Мои кнопки','кнопка',true);
   INI.Free;
end;

procedure SaveParam;
begin
   INI := TIniFile.Create(...);
   INI.WriteBool('Мои кнопки','кнопка',Botton.Down);
   INI.Free;
end;


Viktop   (2005-07-07 06:49:00) [15]

http://dynamic.nm.ru/sources/comp/dlFormSaver.zip
Надеюсь установишь если что, пиши


rainy   (2005-07-07 06:29:00) [16]

Ага, интересно где


Viktop   (2005-07-07 03:58:00) [17]

А ты его нашёл?


ronyn   (2005-07-07 00:46:00) [18]

А как с ним работать?(dlFormSaver)


Viktop   (2005-07-07 00:40:00) [19]

ищи компонент dlFormSaver


alex-drob   (2005-07-07 00:36:00) [20]

Сохраняй в реестр или Ini файл положение кнопки.


Наверх

Титульная страница Поиск, карта сайта Написать письмо