Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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.012 c
14-1134665173
_Lexus_
2005-12-15 19:46
2006.01.08
Новогодние поздравления, стихи и тосты на заказ


2-1135090521
Tigra
2005-12-20 17:55
2006.01.08
Too many open tables


14-1134578163
Pazitron_Brain
2005-12-14 19:36
2006.01.08
Химия


3-1131808344
DimDim
2005-11-12 18:12
2006.01.08
Автоматическая вставка строки в DbGrid (DbGridEh)


2-1135201319
Mischa_M
2005-12-22 00:41
2006.01.08
ProgressBar





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский