Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

resources vs ini для сохранения свойств [D7, WinXP]


Страницы:   1 2

alexrayne ©   (2009-11-07 11:56:00) 

Здрасте народ.
заходелось прикрутить к проекту сохранение\загрузку некоего списка объектов. Вот задумалсо, мозг морщу, как оно лучше сделать.
сохранять все ето дело как ресурс - ето совсем немного писанины, или каждому объекту прикрутить загрузку\сохранение в ini - ето уже порядочно кода навернуть нужно.
бывалые, посоветуйте, как быть, какой путь правильнее


alexrayne   (2009-12-10 23:18:00) [1]

у меня проблема только одна - попробовать сделать обзор готовых велосипедов прежде чем мастерить свой.
впринципе FCL ини вроде как парсит экранированые символом \ строки в стиле С.
если никто сей тривиальной задачи не решал и готовых рецептов неимеет, то буду сей парсер приспосабливать для своих нужд.


Медвежонок Пятачок   (2009-12-09 09:18:00) [2]

ага видно.

только у автора до сих пор какие-то проблемы которые он не решил.


brother   (2009-12-09 09:15:00) [3]

а для ini писать ничего не надо, все видно и без доп. телодвижений)


Медвежонок Пятачок   (2009-12-09 09:12:00) [4]

ежели вам почему-то стало скучно и вы хотите почитать глазами файл в котором храните настройки илди нечто, то напишите к этому xml файл трансформации и получите содержимое в виде плайн текста, ртф или хтмл.


brother   (2009-12-09 09:08:00) [5]

> оно там и будет в самом читаемом виде.

ага, со всеми тэгами xml) - оч, удобно читать


Медвежонок Пятачок   (2009-12-09 09:07:00) [6]

оно там и будет в самом читаемом виде.


Германн   (2009-12-09 01:15:00) [7]


> xml вместо ини.

Классный вариант. Особо при "ибо хочетсо чтоб оно в читаемом виде было". :)


Медвежонок Пятачок   (2009-12-08 23:29:00) [8]

хм. а чем ReadComponent/WriteComponent не подходит? религия? )))

например не подходит из за косяков со свойствами default.

в том как сохранить в ини ключ содержащий несколько\много
строк текста.


xml вместо ини. многострочный текст хранить as is в узлах CDATA


AlexRayne   (2009-12-08 18:40:00) [9]

>>Eraser ©  
base64 некатит, ибо хочетсо чтоб оно в читаемом виде было


alexrayne   (2009-12-08 18:38:00) [10]

вообчето а ини я хочу сохранить готовый ресурс который я со своего списка
вытяну.
FCL  версия ини позволяет ненапрягаясь сохранять в записяь своих бинарные
потоки, посему в бинарном виде виде етот ресурс можно легко сохранить в
качестве одного из ключей ини.
но мне ж простых путей ненадо, мне хочется чтоб оно лежало в ини в виде куска
текста: несколько строк.

тобиш вопрос в том как сохранить в ини ключ содержащий несколько\много
строк текста.


Washington   (2009-12-06 13:58:00) [11]

хм. а чем ReadComponent/WriteComponent не подходит? религия? )))


Ганя   (2009-12-06 12:18:00) [12]

Если речь идет именно об объектах, то ini - вариант неважный.
Объекты имеют свойство выстраиваться в списки и деревья, при желании конечно можно и такую структуру запихать в ini, но это называется "через одно место, сами знаете, какое".
Не удобно ни разу


Eraser   (2009-12-05 15:29:00) [13]

> [11] AlexRayne   (05.12.09 15:17)


> есть ли у кого удобоваримые способы хранить в ини куски
> текста?

можно кодировать в BASE64.


Eraser   (2009-12-05 15:29:00) [14]

> [0] alexrayne   (07.11.09 11:56)

в XML.


AlexRayne   (2009-12-05 15:17:00) [15]

глянул я в jedi - там надо, насколько я бегло понял, создавать отдельный объект
с настройками от специально для етого заточеного предка. накой оно мне? да
еще и к проекту етих джедаев притягивать, тяжелые они. да и пишу я проект с
прицелом на перенос FPC/lazarus, а они пока туда неособе рвуться.

сейчас сделал как изадумывал сохранение ресурсов в виде текста, теперь вот
думаю как етот текст сохранять в ini файле?.
насколько я понял  в существующем варианте парсер ini воспринимает только
однострочные записи. в fcl версии он воспринимает экранирование конца строки \

есть ли у кого удобоваримые способы хранить в ини куски текста?


Дмитрий Белькевич   (2009-11-07 17:36:00) [16]

Свойства объектов вообще я не сохранял. Сохраняю свойства компонент. Думаю, эта же библиотека сможут сохранить свойства всех персисентных объектов, не только компонент.

Сейчас использую жедаевскую (jedi vcl) TJvAppIniFileStorage/TJvFormStorage, закладка 'Jv Persistent'.

Смотрю, там есть TJvAppStorage, у него есть методы (среди прочих) ReadPersistent/WritePersistent. Думаю, имеет смысл посмотреть на них.

   { Retrieves a TPersistent-Object with all of its published properties }
   procedure ReadPersistent(const Path: string; const PersObj: TPersistent;
     const Recursive: Boolean = True; const ClearFirst: Boolean = True; const IgnoreProperties: TStrings = nil);
   { Stores a TPersistent-Object with all of its published properties}
   procedure WritePersistent(const Path: string; const PersObj: TPersistent;
     const Recursive: Boolean = True; const IgnoreProperties: TStrings = nil);

Раньеше пользовал EhLib'овские аналогичные компоненты (жедаевские, прадва, лучше - меньше хлама в инишки пишется), давно видел что-то похожее в Rx Lib.


Игорь   (2009-11-07 13:41:00) [17]


> Дмитрий Белькевич   (07.11.09 12:45) [5]


Согласен


Омлет   (2009-11-07 13:12:00) [18]

Объекты? dll через интерфейсы.


alexrayne   (2009-11-07 13:01:00) [19]

Собсно уточню вопрос.
используя ObjectTextToResource и обратное несложно сохранить весь мой список ресурсом в виде текста. и загрузить его также.
(моя задача именно сохранять\загружать целиком объекты а не отдельные ккието их настройки.) тогдавстает вопрос какие проблемы я могу огрести с такии настройками. чем ini лучше?


alexrayne   (2009-11-07 12:55:00) [20]

>>Если свойства объектов - published, то есть много готовых библиотек для их  сохранения/восстановления из инишек

попродробнее пожалста. дайте сцылко. устраивает только опенсорьсь и фриварь ессно.


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо