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

Вниз

Сохранение параметров и настроек программы при её закрытии   Найти похожие ветки 

 
ronyn   (2005-07-07 00:33) [0]

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


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

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


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

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


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

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


 
Viktop   (2005-07-07 03:58) [4]

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


 
rainy   (2005-07-07 06:29) [5]

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


 
Viktop   (2005-07-07 06:49) [6]

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


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

Ставить компонент для запоминания состояния кнопки - не джедайский подход.
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 15:55) [8]

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


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

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


 
Viktop   (2005-07-07 20:52) [10]

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


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


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

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


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

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


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

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


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

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


 
evvcom ©   (2005-07-08 16:51) [15]


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

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

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

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


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

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


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

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


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


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


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


 
Viktop   (2005-07-09 09:35) [19]

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


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

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



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

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

Наверх




Память: 0.49 MB
Время: 0.043 c
14-1120752571
Chuvak
2005-07-07 20:09
2005.07.31
Возможно ли такое?


4-1117602130
Damager
2005-06-01 09:02
2005.07.31
Как отловить минимизацию окна


14-1120670023
Cheater
2005-07-06 21:13
2005.07.31
Можно ли послать сообщение по локальной сети используя...


14-1121248038
Некто
2005-07-13 13:47
2005.07.31
Имитация клавиатуры (заглушка)


1-1121349781
SpyBoy
2005-07-14 18:03
2005.07.31
Х-приложение





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский