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

Вниз

Как управлять различными настройками программы?   Найти похожие ветки 

 
Kolan ©   (2005-12-07 12:01) [0]

Здравствуйте,
 Никак не доделаю возможность настраивать программу. В проекте куча настроек(должно быть). Для работы с ними сделал менеджера и по классу для каждой настраиваемой области. Напирер:
TSettingsManager = class
 private
   FTree: TTreeView;
   FPageControl: TPageControl;
   FPageLabel: TLabel;
   FMeasurmentDirectory: string;
   FRangesDirectory: string;
   FDevice: PDeviceData;
   FMeasurment: TMeasurment;
   FChart: TChartSettings;


Те класс TChartSettings отвечает за настройки Chart"а.
 TChartSettings = class
 private
   FXAx: TAxiexType;
   FYAx: TAxiexType;
   FChartImagesDirectory: string;
 protected
 public
   constructor Create;
   destructor Destroy; override;
 published
   property XAx: TAxiexType read FXAx;
   property YAx: TAxiexType read FYAx;
   property ChartImagesDirectory: string read FChartImagesDirectory write
     FChartImagesDirectory;
 end;


Итд. Плюс менеджер управляет отображением этих настроек...

Как вы решаете подобные проблеммы? Есть ли стандартные решения?


 
Digitman ©   (2005-12-07 13:59) [1]


> Как вы решаете подобные проблеммы?


в чем, собственно, проблемы состоят ? из вопроса не понятно ...


> Как управлять


что значит "как" ? а классы эти самые ты для чего объявил ? наверно, для того чтобы обращаться к св-вам и вызывать методы соответствующих объектов ? или для пущей красоты ?


 
Sapersky   (2005-12-07 14:46) [2]

Толком не понял, что подразумевается под управлением, но если сохранение/загрузка свойств, то можно использовать TStream.WriteComponent/ReadComponent. Если сначала сохранить в MemoryStream и сделать ObjectBinaryToText - запишет в понятном человеку виде (фактически dfm).


 
vertal ©   (2005-12-08 01:37) [3]

Как вариант -
http://kladovka.net.ru/index.cgi?pid=list&rid=233


 
Васяня   (2005-12-08 05:24) [4]


> vertal ©  

Ну так пользуйся этим компонентом и все ;) тем более он с исходниками, бери да пользуйся...


 
Defunct ©   (2005-12-08 09:35) [5]

> Kolan ©   (07.12.05 12:01)

Не знаю насколько подход правильный, я поступаю так:
написал шаблон класса конфигурации программы, который может сохранять настройки либо в реестр либо в ini-файл, а далее вставляю его в конкретный проект и добавляю в него требуемые свойства. При инициализации модуля создается экземпляр TConfiguration, в него считываются последние сохраненные настройки, если при считывании происходит исключение, тогда поля заполняются значения по умолчанию и конфигурация сохраняется.
Ну а потом во всех требуемых настройки модулях обращаюсь к этому экземпляру конфигурации.


 
Kolan ©   (2005-12-08 13:06) [6]

Defunct ©   (08.12.05 09:35) [5]
Ну почти мой метод...

Digitman ©   (07.12.05 13:59) [1]
Перефразирую. Как вы решаете задачу сохранения/загрузки и доступа к настройкам программы. И есть ли обше растпространенные подходы к решению этой ЗАДАЧИ.

PS В принципе я понял что то , что я придумал не полный бред... :)
Всех благодарю...


 
Digitman ©   (2005-12-08 13:16) [7]


> Как вы решаете задачу сохранения/загрузки и доступа к настройкам
> программы


да по-разному ... единой концепции нет ... где-то удобней сосредоточить эту логику в некоем объекте, где-то удобней воспользоваться простыми существующими подручными инструментами ..


> И есть ли обше растпространенные подходы к решению этой
> ЗАДАЧИ


наверно, есть ... но при том уровне абстракции в изложении тобой задачи вряд ли что-то можно подсказать конкретное ..


> я понял что то , что я придумал не полный бред


ну , положим, в сосредоточении тобой логики автоматического упр-я сохранением/восстановлением параметров в рамках спец.класса ничего "бредоносного" действительно нет - в ряде задач это имеет и повод и смысл .... но опять же - конкретно поставленной задачи для конкретных условий ..


 
Kolan ©   (2005-12-08 13:21) [8]

да по-разному ... единой концепции нет ... где-то удобней сосредоточить эту логику в некоем объекте, где-то удобней воспользоваться простыми существующими подручными инструментами ..

Понял. Буду поступть подобным образом... :)

Благодарю за ответ. :)



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

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

Наверх




Память: 0.49 MB
Время: 0.02 c
14-1134661370
Bogdan1024
2005-12-15 18:42
2006.01.08
Дуглас Коупленд "Рабы Майкрософта"


8-1123179611
Logun
2005-08-04 22:20
2006.01.08
Управление Winamp-ом


14-1134667828
Gero
2005-12-15 20:30
2006.01.08
Яндекс не отстает


6-1127739011
NikNet
2005-09-26 16:50
2006.01.08
Есть ли компонент (Два компонента) для перевачи файлов по сети?


14-1134596467
Gero
2005-12-15 00:41
2006.01.08
Новый WebMoney Keeper