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