RRYTY писал(а):Работа с текстовым файлом уже изобретена. В поисках готового решения вы и прикрутите кучу косяков в виде многоколесного драндулета (гвоздями прибъете свое творение к версии и виду ОС, версии компилятора, наличия вспомогательных системных, в том числе, библиотек), вместо простого и ясного, оптимизмрованного под вашу задачу, изящного решения. В поисках борьбы с чужими косяками нет ограничений.
Я в курсе... ( Именно так я поступил при переименовании и "перестановке" секций - в первом случае просто отредактировал текст, во втором "пересобрал" INI в памяти, перечитав секции в нужном порядке )
Но увидев, что в дельфи есть метод ReadSubSections я подумал, что возможно где-то есть его готовый "самописный аналог" для лазарус.
Зы
Спасибо за отзывы и советы! Пока делаю через " переключение текущего ini-файла" (это точно надежнее всех прочих вариантов ) а дальше возможно сделаю "вложенные секции" замаскированные под комментарий. ( Идея проста: читаю "секцию подраздела" через ReadRawSection убираю комментарий и загружаю в TMemIniFile ( "наглядная бесконечная вложенность секций" прилагается автоматом )
- Код: Выделить всё
[Секция1]
...
[Секция2]
...
[СубСекция1]
# [Секция1]
# ...
# [Секция2]
# ...
# [СубСекция 1_1 ]
# # [Секция1]
# # ...
# # [Секция2]
# # ...
ИМХО такой формат будет наглядным и простым, хотя возможно будут некоторые сложности с навигацией ( особенно при возвращении на уровень выше ) но с другой стороны если открытие уровней всегда будет последовательным, то ничто не мешает сделать "классическую рекурсию" .