LINUX.ORG.RU

Ответ на: комментарий от anonymous

Сам придумал так хранить или ТЗ? если первое, то зачем?

Что-то мне подсказывает, что человеку надо какой-нибудь конфиг от PHP CMS'ки читать.

если с долларами не прокатит, рассмотри вариант тупо замены /^\s*\$/ на пустышку и потом ее парсь, без доллара, в принципе, простейших конфиг никсовый получается.

BaBL ★★★★★
()

господи, там функцией строчек 10 кода

Ford_Focus ★★★★★
()

Можно написать на регулярных выражениях в 5 строчек, вручную — в 15 строчек. А еще можно сделать так: QJsonObject map = QJsonDocument::fromJson((QString(«{») + fileContents.replace(«\n», ",") + («}»)).toUtf8()).object();
QString param = map.value(«$param»).toString();

note173 ★★★★★
()
Ответ на: комментарий от anonymous

Ну да, надо еще «=» заменять, а $ вполне разрешен в ключах объекта (не знаю, правда, насчет Qt парсера). В любом случае, это такой особый наркоманский метод с очень ограниченными возможностями к применению.

note173 ★★★★★
()

Перепиши стандартный QSettings, либо обрабатывай файл регэкспом и подсовывай стандартному (это можно в памяти проделать, скорее всего, не создавая временных файлов)

unC0Rr ★★★★★
()
Ответ на: комментарий от delete83

Разобьешь строки на ключ/значение и сохранишь, как тебе надо. В документации Qt есть довольно внятный мануал.

delete83 ★★
()
Ответ на: комментарий от anonymous

-_- тебе незнакомо слово «словно»?

anonymous
()
Ответ на: комментарий от Stvad

в общем вт пример конфига

Хотя проще обвернуть это в

sub run_cfg {

# тут содержание sphinxtrain

}

run_cfg();

foreach my $entry (keys %main::) {
    if (defined ${$entry} && $entry =~ /^CFG_/ || $entry =~ /^DEC_CFG_/) {
        print "$entry = \"${$entry}\"\n";
    }
}

и сделать

$ perl sphinxtrain.pl > sphinxtrain_

выхлоп уже можно парсить.

quasimoto ★★★★
()
Ответ на: комментарий от quasimoto

defined ${$entry} && $entry =~ /^CFG_/ || $entry =~ /^DEC_CFG_/

Скобки забыл. Или вообще убрать defined.

quasimoto ★★★★
()
Ответ на: комментарий от quasimoto

выхлоп уже можно парсить.

Или писать как print «$entry\n${$entry}\n», читать построчно, тогда чётные строки будут параметрами, а нечётные - значениями.

quasimoto ★★★★
()
Ответ на: комментарий от quasimoto

sphinxtrain

если быстро говорить, то не очень-то благозвучно :)

по сабжу - что за проблема такая? Делов на пять минут же! Хоть теми же регулярками спокойно делается.

kovrik ★★★★★
()
Ответ на: комментарий от kovrik

если быстро говорить, то не очень-то благозвучно :)

Сфинкстрэйн?

по сабжу - что за проблема такая?

Распарсить и отинпретировать перл, взять имена и значения всех переменных начинающихся с CFG_ и DEC_CFG_ из получившегося скопа.

quasimoto ★★★★
()
Ответ на: комментарий от quasimoto

Сфинкстрэйн

СфикнстерЭйн

Распарсить и отинпретировать перл, взять имена и значения всех переменных начинающихся с CFG_ и DEC_CFG_ из получившегося скопа.

То был риторический вопрос.

kovrik ★★★★★
()
Ответ на: комментарий от note173

Бетка на днях выходит только :) Хотя в принципе можно уже юзать вполне смело.

Gorthauer ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.