Главная страница
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.017 c
14-1134573036
lookin
2005-12-14 18:10
2006.01.08
Вес электрона


6-1127653656
VolanD666
2005-09-25 17:07
2006.01.08
Обмен файлами по сети


2-1135149994
chelovek
2005-12-21 10:26
2006.01.08
Новый компонент.


1-1133946076
Kolan
2005-12-07 12:01
2006.01.08
Как управлять различными настройками программы?


4-1130855969
jeka_t
2005-11-01 17:39
2006.01.08
Можно ли PRN-файлы (бинарный файл) показать в PreviewPrinter?