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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.05.2013, 21:12   #1
alextrof94
Форумчанин
 
Регистрация: 16.03.2013
Сообщений: 599
По умолчанию Реестр и большие объемы данных

Ну на самом деле объемы не такие уж и большие, но как компактно их хранить в реестре не знаю.

Есть ini структура типа (на самом деле это только малюсенький кусок, оригинал больше как по объему каждого item'a так и по количеству типов этих item'ов):
Код:
[main]
count=3

[item0]
name=ololo1
label=olololo1
count=4

[item1]
name=ololo2
label=olololo2
count=7

[item2]
name=ololo3
label=olololo3
count=0
Как такое можно хранить в реестре?
Ведь реестр собственно для того и был создан, чтобы от ini'шников отказаться.
P.S.: Куча ключей - не мой вариант. Надо чтоб в 1 ключе хранилось все.
Может перед отправкой в реестр все как-то запаковать по value/item, а при извлечении распаковывать?
alextrof94$gmail.com
alextrof94 вне форума Ответить с цитированием
Старый 02.05.2013, 22:06   #2
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Можно придумать формат, по которому хранить в бинарном массиве или строке. А при необходимости добывать эту массив или строку, разбирать на составляющие и использовать.
Минус такого подхода в том, что при изменении одного параметра перезаписывать в реестр придется весь массив.
s-andriano вне форума Ответить с цитированием
Старый 02.05.2013, 22:23   #3
alextrof94
Форумчанин
 
Регистрация: 16.03.2013
Сообщений: 599
По умолчанию

Цитата:
Сообщение от s-andriano Посмотреть сообщение
Можно придумать формат, по которому хранить в бинарном массиве или строке. А при необходимости добывать эту массив или строку, разбирать на составляющие и использовать.
Минус такого подхода в том, что при изменении одного параметра перезаписывать в реестр придется весь массив.
Вот я тоже об этом думал, сначала хотел все в 1 value хранить, потом подумал о том что строки могут быть добавлены/удалены, по этому решил разбить Value/Item. А так как изменятся может как 1 часть целой строки, так и сразу несколько строк, решил использовать метод отложенной записи, т.е. пользователь сделал изменение, и таким образом запустил таймер, по завершении которого (или при завершении приложения) будет произведена запись всего массива.
Собственно сам подумал и все решил... Опять...
alextrof94$gmail.com
alextrof94 вне форума Ответить с цитированием
Старый 02.05.2013, 23:52   #4
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,434
По умолчанию

Не хранить в реестре, а использовать файлы.
Человек_Борща вне форума Ответить с цитированием
Старый 03.05.2013, 00:04   #5
alextrof94
Форумчанин
 
Регистрация: 16.03.2013
Сообщений: 599
По умолчанию

Цитата:
Сообщение от Человек_Борща Посмотреть сообщение
Не хранить в реестре, а использовать файлы.
Так в реестре хранить удобнее, все же независимый источник и стандартному пользователю не добраться.
alextrof94$gmail.com
alextrof94 вне форума Ответить с цитированием
Старый 03.05.2013, 00:20   #6
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

смотря какая суть в данных, а таймер конечно тутчтоб круто смотрелось, не иначе..
eval вне форума Ответить с цитированием
Старый 03.05.2013, 00:28   #7
alextrof94
Форумчанин
 
Регистрация: 16.03.2013
Сообщений: 599
По умолчанию

Цитата:
Сообщение от eval Посмотреть сообщение
смотря какая суть в данных, а таймер конечно тутчтоб круто смотрелось, не иначе..
Ну хзхз. Просто у меня данные меняются в TEdit'ах, и меняются со скоростью печати, и с такой скоростью работать с реестром, как то не по мне...
alextrof94$gmail.com
alextrof94 вне форума Ответить с цитированием
Старый 03.05.2013, 00:45   #8
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

звучит бредово... как связаны м-у собой скарость печати эдиты и реестр, одному алаху известно
eval вне форума Ответить с цитированием
Старый 03.05.2013, 00:49   #9
alextrof94
Форумчанин
 
Регистрация: 16.03.2013
Сообщений: 599
По умолчанию

Цитата:
Сообщение от eval Посмотреть сообщение
звучит бредово... как связаны м-у собой скарость печати эдиты и реестр, одному алаху известно
Код:
procedure Edit1.onchange(...);
begin
saveMassivInRegistry;
end;
вот так связаны...
alextrof94$gmail.com
alextrof94 вне форума Ответить с цитированием
Старый 03.05.2013, 00:57   #10
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

это как в анекдоте
- доктор когда я делаю так, то болит
- ну вы так больше не делайте
eval вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запись REG_BINARY данных в реестр Человек_Борща Общие вопросы Delphi 9 17.05.2011 21:16
Объемы шаров zoluxa Помощь студентам 14 23.03.2010 23:36
Некорректное считывание записаных данных в реестр Dozent Общие вопросы Delphi 4 18.09.2009 15:07
Как сохранять такие объемы? zotox Помощь студентам 7 24.07.2009 10:46