Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.09.2012, 13:41   #1
NaumOff
Пользователь
 
Регистрация: 25.07.2011
Сообщений: 48
По умолчанию Хранение настроек во время работы приложения

Чисто практический вопрос, как хранить переменные, представляющие собой настройки приложения, во время работы программы, в реал-тайме.
Сейчас я для этих целей использую глобальные переменные. Читал, что это плохо, тем более их несколько десятков штук.
Можно хранить их в массиве... имхо не очень удобно.
На java в таких случаях я всегда использую синглтоны, может быть и в delphi сей подход применим? Создать класс-одиночку, его поля-настройки, добавить сеттеры/геттеры, в них же реализовать чтение/запись настроек на диск в бд (использую SQLLite). Кто что думает?
NaumOff вне форума Ответить с цитированием
Старый 23.09.2012, 13:54   #2
саша40
Участник клуба
 
Регистрация: 12.09.2012
Сообщений: 1,030
По умолчанию

Цитата:
Сообщение от NaumOff Посмотреть сообщение
Чисто практический вопрос, как хранить переменные, представляющие собой настройки приложения, во время работы программы, в реал-тайме.
Сейчас я для этих целей использую глобальные переменные. Читал, что это плохо, тем более их несколько десятков штук.
Можно хранить их в массиве... имхо не очень удобно.
На java в таких случаях я всегда использую синглтоны, может быть и в delphi сей подход применим? Создать класс-одиночку, его поля-настройки, добавить сеттеры/геттеры, в них же реализовать чтение/запись настроек на диск в бд (использую SQLLite). Кто что думает?
таймер и модуль iniFiles
Что нужно программисту: Компьютер, Среда программирование, Воображение, Прямые руки, Мозги, Знания этой среды программирования.
Программист-это профессия, а программирование-это моё хобби.
саша40 вне форума Ответить с цитированием
Старый 23.09.2012, 14:08   #3
kta87
Форумчанин
 
Аватар для kta87
 
Регистрация: 22.02.2010
Сообщений: 912
По умолчанию

Если совсем по простому то можно и в обычном txt файле хранить настройки.
kta87 вне форума Ответить с цитированием
Старый 23.09.2012, 14:10   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
может быть и в delphi сей подход применим?
Паттерны проектирования не зависят от ЯВУ.
Все в Делфи применимо, если желание есть.
Цитата:
таймер и модуль iniFiles
Таймер то зачем? Хранить в ИНИ файле - идея здравая, но таймер тут только помеха.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 23.09.2012, 14:28   #5
NaumOff
Пользователь
 
Регистрация: 25.07.2011
Сообщений: 48
По умолчанию

Да я же не о хранении в ПЗУ, а о содержании что ли переменных-настроек во время работы программы Чтобы не дергать каждый раз жесткий диск, во время запуска приложения считываются все настройки. Вопрос в том во что их считывать. Их несколько десятков. Варианты:
1. Глобальные переменные.
2. Массив настроек-переменных.
3. Отдельный класс-синглтон.
4. Забить на все, считывать/записывать когда необходимо прямо из ПЗУ, благо не так уж часто эти параметры используются.
5....
NaumOff вне форума Ответить с цитированием
Старый 23.09.2012, 14:37   #6
саша40
Участник клуба
 
Регистрация: 12.09.2012
Сообщений: 1,030
Счастье

Цитата:
Сообщение от NaumOff Посмотреть сообщение
Да я же не о хранении в ПЗУ, а о содержании что ли переменных-настроек во время работы программы Чтобы не дергать каждый раз жесткий диск, во время запуска приложения считываются все настройки. Вопрос в том во что их считывать. Их несколько десятков. Варианты:
1. Глобальные переменные.
2. Массив настроек-переменных.
3. Отдельный класс-синглтон.
4. Забить на все, считывать/записывать когда необходимо прямо из ПЗУ, благо не так уж часто эти параметры используются.
5....
но я же говорю нужен таймер. Запускается при открытие формы и закрывается при закрытие. Пример:
Если таймер первый. Открытие:
Код:
Timer1.Enabled:=true;
И закрытие(FormClose):
Код:
Timer1.Enabled:=false;
Что нужно программисту: Компьютер, Среда программирование, Воображение, Прямые руки, Мозги, Знания этой среды программирования.
Программист-это профессия, а программирование-это моё хобби.
саша40 вне форума Ответить с цитированием
Старый 23.09.2012, 14:44   #7
NaumOff
Пользователь
 
Регистрация: 25.07.2011
Сообщений: 48
По умолчанию

саша40
Кажется мы совсем о разных вещах говорим). Забудьте о таймере, его использование, когда можно обойтись чем-нибудь другим-очень дурной тон. Настройки должны читаться/записываться при возникновении событий, при том же onFormCreate и onFormDestroy, или когда пользователь соизволил изменить настройки приложения.
NaumOff вне форума Ответить с цитированием
Старый 23.09.2012, 15:22   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
3. Отдельный класс-синглтон.
4. Забить на все, считывать/записывать когда необходимо прямо из ПЗУ, благо не так уж часто эти параметры используются.
Я бы из этих двух выбрал.
ИМХО третье лучше.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 23.09.2012, 15:50   #9
kta87
Форумчанин
 
Аватар для kta87
 
Регистрация: 22.02.2010
Сообщений: 912
По умолчанию

Все же грамотно будет если напишите сингл! (ИМХО)
kta87 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Время Работы Программы shilovec5377 Общие вопросы Delphi 1 17.04.2012 17:15
Как вывести время работы приложения razzmatazz Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 6 23.03.2009 00:17
Как вывести в строке состояния время работы приложения a_n_n_a Общие вопросы Delphi 5 15.03.2009 15:16
Как узнать создана ли форма во время работы приложения? Avalonix Общие вопросы Delphi 4 31.05.2008 21:01
Скрытие главной формы во время работы приложения Gorin Общие вопросы Delphi 7 23.08.2007 19:44