![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Сохранение параметров и настроек программы при её закрытии [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 файл положение кнопки.