Форум: "Основная";
Текущий архив: 2006.01.08;
Скачать: [xml.tar.bz2];
ВнизКак управлять различными настройками программы? Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.01 c