Вниз
Скачать: CL | DM;

подскажите как лучше "перечитывать" переменные?   Найти похожие ветки 

← →
vegarulez ©   (2009-02-09 11:44) [0]

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


← →
Ega23 ©   (2009-02-09 11:47) [1]

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


← →
vegarulez ©   (2009-02-09 11:53) [2]

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


← →
Ega23 ©   (2009-02-09 11:57) [3]


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


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


← →
Sergey13 ©   (2009-02-09 12:00) [4]

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

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


← →
Юрий Зотов ©   (2009-02-09 12:04) [5]

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

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


← →
Jeer ©   (2009-02-09 12:05) [6]

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


← →
vegarulez ©   (2009-02-09 12:18) [7]

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


← →
Сергей М. ©   (2009-02-09 12:20) [8]


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


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


← →
vegarulez ©   (2009-02-09 12:23) [9]

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


← →
Сергей М. ©   (2009-02-09 12:25) [10]


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


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


← →
vegarulez ©   (2009-02-09 12:28) [11]

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


← →
Сергей М. ©   (2009-02-09 12:31) [12]


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


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


← →
Юрий Зотов ©   (2009-02-09 12:33) [13]

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


← →
Юрий Зотов ©   (2009-02-09 12:34) [14]

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


← →
Сергей М. ©   (2009-02-09 12:43) [15]


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


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


← →
Anatoly Podgoretsky ©   (2009-02-09 13:21) [16]

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


← →
Anatoly Podgoretsky ©   (2009-02-09 13:23) [17]

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

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



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

Скачать: CL | DM;



Память: 0.49 MB
Время: 0.025 c
6-1200923091
Maloj2007
2008-01-21 16:44
2009.03.29
Передача пакетов между IdTCPCllient и IdTCPServer


8-1190302772
brother
2007-09-20 19:39
2009.03.29
Peak Meter реального времени


6-1201613360
Yurij-7
2008-01-29 16:29
2009.03.29
Отправка писем через Indy


2-1234173614
Iriss
2009-02-09 13:00
2009.03.29
TObjectList.Assign


15-1232623498
дед Маздай
2009-01-22 14:24
2009.03.29
Подскажите способ реализации




   Наверх