Подразделы (SubSections) в INI-файле

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

RRYTY
постоялец
Сообщения: 260
Зарегистрирован: 25.12.2021 09:00:32

Сообщение RRYTY »

Лень собрать/разобрать текстовый файл, описывающий древовидную структуру.
Пора подключать нейросети и искусственный интеллект - только так, живые на это уже неспособны. Надеюсь, права роботов не будут нарушены при постановке столь примитивной задачи. Жалко же роботиков! :-D
xchgeaxeax
постоялец
Сообщения: 207
Зарегистрирован: 11.05.2023 02:51:40

Сообщение xchgeaxeax »

Alex2013 писал(а):Это разумеется интересная мысль но парсеры REG обычно работают с реестром и не умеют читать REG файлы "в режиме INI" ( записать REG-файлы многие парсеры могут и "в режиме INI" а читать без записи в реестр не умеют бо "нафига козе боян" ).
Вот потому что это INI файлы вам и не нужен отдельный парсер для них. Просто используйте INI парсер на REG файлах и разбирайте подсекцию из имени секции.
Разбивка строки на подстроки это задачка для строковых функций. Добавлять или создавать отдельный парсер с таким простым функционалом - зачем?
Аватара пользователя
sunjob
постоялец
Сообщения: 178
Зарегистрирован: 12.01.2011 14:19:54

Сообщение sunjob »

Alex2013 писал(а):нет "дерева" разделов
если не сложно, тогда обьясните, пожалуйста поподробнее?! (я что-то туплю :о)
и что подразумевается под деревом разделов?
Alex2013
долгожитель
Сообщения: 3214
Зарегистрирован: 03.04.2013 11:59:44

Сообщение Alex2013 »

sunjob писал(а):что подразумевается под деревом разделов?
"Наглядная иерархия" как в XML
xchgeaxeax писал(а):Вот потому что это INI файлы вам и не нужен отдельный парсер для них. Просто используйте INI парсер на REG файлах и разбирайте подсекцию из имени секции.
Разбивка строки на подстроки это задачка для строковых функций. Добавлять или создавать отдельный парсер с таким простым функционалом - зачем?
Вот и я думаю "зачем?"...
Типичный REG-файл.

Код: Выделить всё

[HKEY_LOCAL_MACHINE\SOFTWARE\O&O\O&O UnErase\2.0]
"Edition"="3502"
"B:\\UnErase2\\oorwiz.dll"=""
"User"="1"
"Company"="1"
"SerialNo"="************цензура*************************"

[HKEY_LOCAL_MACHINE\SOFTWARE\O&O\O&O UnErase\2.0\Files]
"B:\\UnErase2\\ooueiuwz.dll"=""
"B:\\UnErase2\\oouers.dll"=""
"B:\\UnErase2\\ooue.exe"=""
"B:\\UnErase2\\oouesur.dll"=""
"B:\\UnErase2\\oosu.dll"=""
"B:\\UnErase2\\oouerwrs.dll"=""
@=""
"B:\\UnErase2\\Readme.txt"=""
"B:\\UnErase2\\ooueiu.exe"=""
"C:\\WINDOWS\\Help\\ooue.chm"=""
"B:\\UnErase2\\ooueabrs.dll"=""
"B:\\UnErase2\\ooabout.dll"=""
"B:\\UnErase2\\ooueiuwr.dll"=""
"B:\\UnErase2\\df.ico"=""
"B:\\UnErase2\\dfe.ico"=""
"B:\\UnErase2\\dfes.ico"=""
"B:\\UnErase2\\dfl.ico"=""
"B:\\UnErase2\\dfs.ico"=""
Да, парсер ini это схавает , но дальше то что? Все равно придется разбирать разделы самостоятельно, и в этом случае (имхо) проще использовать реальный реестр.
Но мне этого не надо, а нужна возможность понимать и редактировать конфиг в ручную и все это легко и непринужденно решается при использовании стандартных ссылок на отдельные файлы разделов.
( если разделов немного этого вполне хватит если больше например десятка то тогда уже по любому нужно использовать что-то вроде XML)
Аватара пользователя
sunjob
постоялец
Сообщения: 178
Зарегистрирован: 12.01.2011 14:19:54

Сообщение sunjob »

Вы, профессор, воля ваша, что-то нескладное придумали!
Оно, может, и умно, но больно непонятно.
Над вами потешаться будут! (c)
короче, вы за рулем, вам и ... рулить! :D
sts
энтузиаст
Сообщения: 529
Зарегистрирован: 04.04.2008 12:15:44
Откуда: Тольятти

Сообщение sts »

Alex2013 писал(а):Да, парсер ini это схавает , но дальше то что? Все равно придется разбирать разделы самостоятельно, и в этом случае (имхо) проще использовать реальный реестр.
насколько я понял по исходникам TRegIniFile или обертка TRegistryIniFile умеют это делать
Alex2013
долгожитель
Сообщения: 3214
Зарегистрирован: 03.04.2013 11:59:44

Сообщение Alex2013 »

sts писал(а):асколько я понял по исходникам TRegIniFile или обертка TRegistryIniFile умеют это делать
Хм ! Буду посмотреть ... :roll:

Добавлено спустя 4 минуты 9 секунд:
sunjob писал(а):Короче, вы за рулем, вам и ... рулить!
"Я не гений, это выше моих человеческих сил"(С)Обыкновенное чудо. :wink:
Аватара пользователя
Снег Север
долгожитель
Сообщения: 3069
Зарегистрирован: 27.11.2007 15:14:47
Контактная информация:

Сообщение Снег Север »

Alex2013
„Будьте реалистами — требуйте невозможного!“
Ответить