Russian Qt Forum

Qt => XML => Тема начата: Admin от Октябрь 03, 2008, 21:29



Название: QT vs google templates
Отправлено: Admin от Октябрь 03, 2008, 21:29
Есть такая задачка: есть html типа

Код:
<html>
<body>
 {$HELLO}
</body>
</html>

хочется вместо {$HELLO} подставить свою переменную - некий такой парсер шаблонов

Варианты:
1) использовать google template http://code.google.com/p/google-ctemplate/
2) есть ли в QT подобный механизм?


Название: Re: QT vs google templates
Отправлено: lit-uriy от Октябрь 03, 2008, 21:42
а если просто методами QString?


Название: Re: QT vs google templates
Отправлено: Admin от Октябрь 03, 2008, 21:46
думаю над этим - это хардкорный вариант)))


Название: Re: QT vs google templates
Отправлено: lit-uriy от Октябрь 03, 2008, 22:18
я сваял себе програмулину, которая читает ui-файл и генерит на его основе класс (h/cpp) с множественным наследованием (при этом используется ui_*.h) дак вот я использовал заготовку файлов h и cpp, и просто подменял некоторые строчки на названия классов из ui. Если надо тут описание и исходник (http://www.forum.crossplatform.ru/index.php?showtopic=769&view=findpost&p=4723)


Название: Re: QT vs google templates
Отправлено: Admin от Октябрь 04, 2008, 08:35
спасибо - скачал.
50% там есть))

Осталось сделать:
у тебя там [ClassName] - они жестко определены, а у меня они будут искаться .


Название: Re: QT vs google templates
Отправлено: lit-uriy от Октябрь 04, 2008, 11:48
вот такое регулярное выражение:
(\{\$)[A-Za-z_0-9]+(\})
В следующей строке:
<html>
<body>
 {$HELLO}
 {$VAR2}
</body>
</html>
обнаруживает такие последовательности:
{$HELLO}
{$VAR2}


Название: Re: QT vs google templates
Отправлено: Admin от Октябрь 04, 2008, 14:28
оо спасибо))
я не очень по регуляркам силен


Название: Re: QT vs google templates
Отправлено: lit-uriy от Октябрь 04, 2008, 14:34
незабудь, что курсор двигать нужно. Т.е. будет обнаружена сначало последовательность
{$HELLO}
затем двигаешь курсор и тогда будет обнаружена следующая:
{$VAR2}


Название: Re: QT vs google templates
Отправлено: lit-uriy от Октябрь 04, 2008, 14:37
могу дать измененный исходник %QTDIR%\examples\tools\regexp
я на нем подбираю регекспы. От туда можно вытянуть и работу с курсором


Название: Re: QT vs google templates
Отправлено: ритт от Октябрь 04, 2008, 16:59
выкладывай, конечно :)
я в своё время тоже на регулярки забил...а порой ох как нужны бывают...


Название: Re: QT vs google templates
Отправлено: lit-uriy от Октябрь 04, 2008, 17:41
прямая ссылка (http://trac.assembla.com/ysoft/changeset/head/regexp/trunk?old_path=/&format=zip)
если кому удобнее через svn, то вот корень хранилища (http://svn.assembla.com/svn/ysoft)
или просто веб (http://trac.assembla.com/ysoft/browser)


Название: Re: QT vs google templates
Отправлено: Admin от Октябрь 04, 2008, 19:27
для KDE есть визуальная построилка regexp

kregexpedit кажется - я там их смотрю