Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2005.07.31;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.49 MB
Время: 0.029 c
1-1121388904
Antonn
2005-07-15 04:55
2005.07.31
Отскроллировать таблицу StringGrida к последней записи


1-1121235835
silvestr
2005-07-13 10:23
2005.07.31
Как отменить ведыление Listwiew строк программно ?


4-1117829436
PIF
2005-06-04 00:10
2005.07.31
Создание ярлыка


1-1121015870
BBCHa
2005-07-10 21:17
2005.07.31
TService и визуализация форм


3-1118252501
Lexa
2005-06-08 21:41
2005.07.31
Could not convert variant of type (Null) into type (String)





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский