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

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

подскажите как лучше "перечитывать" переменные? [D7, XP]


vegarulez ©   (2009-02-09 11:44:00) 

привет всем мастерам!
Вопрос такой, каким образом лучше всего "перечитывать"(не знаю каким термином это правильно обозначается) переменные с файла настроек? Т.е. я имею ввиду следующее есть у меня допустим файл *.ini где записаны некоторые параметры, и есть программа, которая при запуске считывает оттуда некоторые переменные для работы. и работает потом с ними, так вот как динамически сделаь тоже самое когда файл настроек изменился(допустим я его открыл и поменял некоторые настройки в блокноте, после этого приходится перезапускать прогу)? хэшировать и проверять сумму? или как лучше?
Читать же его постоянно по таймеру - тоже не очень гуд, т.к. настроек много и меняется он не очень часто. Вообщем подскажите как лучше сделать?


Anatoly Podgoretsky   (2009-02-09 13:23:00) [1]

> Сергей М.  (09.02.2009 12:43:15)  [15]

Нефига себе прозаик, для установки приложения размером в сотню байт, make file к нему иногда несколько десятков килобайт. Вот где Поэзия


Anatoly Podgoretsky   (2009-02-09 13:21:00) [2]

При смене настроек надо посылать сообщение WM_SETTINGCHANGE или всем окна или только заинтересованым. А в приложение включить прослушивание данного сообщение и при его поступлении перечитывать настройки.


Сергей М.   (2009-02-09 12:43:00) [3]


> Конфиг через гуй... поэзия


Вот потому, наверно, всякий настоящий уважающий себя линуксоид - прозаик)


Юрий Зотов   (2009-02-09 12:34:00) [4]

Вспомнилось: "приблуда весит полметра".
:о)


Юрий Зотов   (2009-02-09 12:33:00) [5]

Конфиг через гуй... поэзия!
:о)


Сергей М.   (2009-02-09 12:31:00) [6]


> vegarulez ©   (09.02.09 12:28) [11]


Ну дык вместо того чтобы извращаться со шпионскими делами, дай юзеру гуй - пусть он через гуй правит твой конфиг ! И ему хорошо и тебе проще)


vegarulez   (2009-02-09 12:28:00) [7]

Сергей М. ©   (09.02.09 12:25) [10]
а низя )
надо чтобы само всё считывало.


Сергей М.   (2009-02-09 12:25:00) [8]


> vegarulez ©   (09.02.09 12:23) [9]


А ежели он нонче такой уж шибко умный-ученый, то почему бы ему, в соответствии с твоейинструкцией, не рестартовать твое приложение после своих манипуляций с ini ?


vegarulez   (2009-02-09 12:23:00) [9]

Сергей М. ©   (09.02.09 12:20) [8]
А юзер умный нонче пошёл если всё по хелпу делает умело)
да и там не сложно выставит в параметре 0 или 1 (true\false).
Тяжело ошибиться )


Сергей М.   (2009-02-09 12:20:00) [10]


> ездить нажимать - не есть гуд


А пускать юзера со своим блокнот в этот свой ini-огород - это, надо понимать, гуд ?)


vegarulez   (2009-02-09 12:18:00) [11]

Юрий Зотов ©   (09.02.09 12:04) [5]
спасибо.
хорошую статью нашёл про это.
http://www.delphimaster.ru/articles/panov/


Jeer   (2009-02-09 12:05:00) [12]

Или введи признак изменяемый вручную на Changed=True и периодически опрашиваемый программой и скидываемый ей же в False после приема настроек


Юрий Зотов   (2009-02-09 12:04:00) [13]

> постоянно же считывать файл каждую минуту допустим - тоже не есть гуд

Совершенно верно. Но можно поставить прослушку на изменение файла.
См. в MSDN: FindFirstChangeNotification и иже с ней.
Примеры в Сети есть.


Sergey13   (2009-02-09 12:00:00) [14]

> [2] vegarulez ©   (09.02.09 11:53)
> постоянно же считывать файл каждую минуту допустим - тоже
> не есть гуд, т.к. зря ресурсы занимать этим считыванием.

Ну а просто проверять время его создания?


Ega23   (2009-02-09 11:57:00) [15]


> но прога юзается удалённо.


Добавь TCP-команду, чтобы по ней перезагрузка параметров шла.
Полно вариантов.


vegarulez   (2009-02-09 11:53:00) [16]

)
Я понимаю канешно. но прога юзается удалённо. ездить нажимать - не есть гуд. постоянно же считывать файл каждую минуту допустим - тоже не есть гуд, т.к. зря ресурсы занимать этим считыванием.


Ega23   (2009-02-09 11:47:00) [17]

Файл настроек, по-идее, читается-пишется 2 раза: вовремя старта и во время выхода.
Если настройки изменяются очень редко, то ничего страшного в перезапуске не будет.
Если вот так сильно неохота перезапускаться, то сделай кнопку "Перечитать настройки".


Наверх

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