Форум: "Основная";
Текущий архив: 2011.07.24;
Скачать: [xml.tar.bz2];
Внизresources vs ini для сохранения свойств Найти похожие ветки
← →
alexrayne (2009-11-07 11:56) [0]Здрасте народ.
заходелось прикрутить к проекту сохранение\загрузку некоего списка объектов. Вот задумалсо, мозг морщу, как оно лучше сделать.
сохранять все ето дело как ресурс - ето совсем немного писанины, или каждому объекту прикрутить загрузку\сохранение в ini - ето уже порядочно кода навернуть нужно.
бывалые, посоветуйте, как быть, какой путь правильнее
← →
Игорь © (2009-11-07 12:10) [1]
> alexrayne (07.11.09 11:56)
Сохраняю в ini под своим расширением типа .xxx, если надо шифрую, это так что кажется много писанины.
← →
Игорь © (2009-11-07 12:13) [2]
> Игорь © (07.11.09 12:10) [1]
>
> это так что кажется много писанины.
Это так кажется что много писанины
(сопи паст заблудился)
← →
Дмитрий Белькевич (2009-11-07 12:23) [3]Если свойства объектов - published, то есть много готовых библиотек для их сохранения/восстановления из инишек.
← →
Игорь © (2009-11-07 12:34) [4]
> Дмитрий Белькевич (07.11.09 12:23) [3]
Если человек задумался и мозг морщит, значит сторонние компоненты не для него
← →
Дмитрий Белькевич (2009-11-07 12:45) [5]Ну можно и ручками, конечно. Почему нет. Может более качественный велосипед сделает.
← →
alexrayne (2009-11-07 12:55) [6]>>Если свойства объектов - published, то есть много готовых библиотек для их сохранения/восстановления из инишек
попродробнее пожалста. дайте сцылко. устраивает только опенсорьсь и фриварь ессно.
← →
alexrayne (2009-11-07 13:01) [7]Собсно уточню вопрос.
используя ObjectTextToResource и обратное несложно сохранить весь мой список ресурсом в виде текста. и загрузить его также.
(моя задача именно сохранять\загружать целиком объекты а не отдельные ккието их настройки.) тогдавстает вопрос какие проблемы я могу огрести с такии настройками. чем ini лучше?
← →
Омлет © (2009-11-07 13:12) [8]Объекты? dll через интерфейсы.
← →
Игорь © (2009-11-07 13:41) [9]
> Дмитрий Белькевич (07.11.09 12:45) [5]
Согласен
← →
Дмитрий Белькевич (2009-11-07 17:36) [10]Свойства объектов вообще я не сохранял. Сохраняю свойства компонент. Думаю, эта же библиотека сможут сохранить свойства всех персисентных объектов, не только компонент.
Сейчас использую жедаевскую (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.
← →
AlexRayne (2009-12-05 15:17) [11]глянул я в jedi - там надо, насколько я бегло понял, создавать отдельный объект
с настройками от специально для етого заточеного предка. накой оно мне? да
еще и к проекту етих джедаев притягивать, тяжелые они. да и пишу я проект с
прицелом на перенос FPC/lazarus, а они пока туда неособе рвуться.
сейчас сделал как изадумывал сохранение ресурсов в виде текста, теперь вот
думаю как етот текст сохранять в ini файле?.
насколько я понял в существующем варианте парсер ini воспринимает только
однострочные записи. в fcl версии он воспринимает экранирование конца строки \
есть ли у кого удобоваримые способы хранить в ини куски текста?
← →
Eraser © (2009-12-05 15:29) [12]> [0] alexrayne (07.11.09 11:56)
в XML.
← →
Eraser © (2009-12-05 15:29) [13]> [11] AlexRayne (05.12.09 15:17)
> есть ли у кого удобоваримые способы хранить в ини куски
> текста?
можно кодировать в BASE64.
← →
Ганя (2009-12-06 12:18) [14]Если речь идет именно об объектах, то ini - вариант неважный.
Объекты имеют свойство выстраиваться в списки и деревья, при желании конечно можно и такую структуру запихать в ini, но это называется "через одно место, сами знаете, какое".
Не удобно ни разу
← →
Washington © (2009-12-06 13:58) [15]хм. а чем ReadComponent/WriteComponent не подходит? религия? )))
← →
alexrayne (2009-12-08 18:38) [16]вообчето а ини я хочу сохранить готовый ресурс который я со своего списка
вытяну.
FCL версия ини позволяет ненапрягаясь сохранять в записяь своих бинарные
потоки, посему в бинарном виде виде етот ресурс можно легко сохранить в
качестве одного из ключей ини.
но мне ж простых путей ненадо, мне хочется чтоб оно лежало в ини в виде куска
текста: несколько строк.
тобиш вопрос в том как сохранить в ини ключ содержащий несколько\много
строк текста.
← →
AlexRayne (2009-12-08 18:40) [17]>>Eraser ©
base64 некатит, ибо хочетсо чтоб оно в читаемом виде было
← →
Медвежонок Пятачок © (2009-12-08 23:29) [18]хм. а чем ReadComponent/WriteComponent не подходит? религия? )))
например не подходит из за косяков со свойствами default.
в том как сохранить в ини ключ содержащий несколько\много
строк текста.
xml вместо ини. многострочный текст хранить as is в узлах CDATA
← →
Германн © (2009-12-09 01:15) [19]
> xml вместо ини.
Классный вариант. Особо при "ибо хочетсо чтоб оно в читаемом виде было". :)
← →
Медвежонок Пятачок © (2009-12-09 09:07) [20]оно там и будет в самом читаемом виде.
← →
brother © (2009-12-09 09:08) [21]> оно там и будет в самом читаемом виде.
ага, со всеми тэгами xml) - оч, удобно читать
← →
Медвежонок Пятачок © (2009-12-09 09:12) [22]ежели вам почему-то стало скучно и вы хотите почитать глазами файл в котором храните настройки илди нечто, то напишите к этому xml файл трансформации и получите содержимое в виде плайн текста, ртф или хтмл.
← →
brother © (2009-12-09 09:15) [23]а для ini писать ничего не надо, все видно и без доп. телодвижений)
← →
Медвежонок Пятачок © (2009-12-09 09:18) [24]ага видно.
только у автора до сих пор какие-то проблемы которые он не решил.
← →
alexrayne (2009-12-10 23:18) [25]у меня проблема только одна - попробовать сделать обзор готовых велосипедов прежде чем мастерить свой.
впринципе FCL ини вроде как парсит экранированые символом \ строки в стиле С.
если никто сей тривиальной задачи не решал и готовых рецептов неимеет, то буду сей парсер приспосабливать для своих нужд.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2011.07.24;
Скачать: [xml.tar.bz2];
Память: 0.5 MB
Время: 0.003 c