Russian Qt Forum
Ноябрь 22, 2024, 21:29 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: QT vs google templates  (Прочитано 10685 раз)
Admin
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1988



Просмотр профиля
« : Октябрь 03, 2008, 21:29 »

Есть такая задачка: есть html типа

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

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

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

Сообщений: 3880


Просмотр профиля WWW
« Ответ #1 : Октябрь 03, 2008, 21:42 »

а если просто методами QString?
Записан

Юра.
Admin
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1988



Просмотр профиля
« Ответ #2 : Октябрь 03, 2008, 21:46 »

думаю над этим - это хардкорный вариант)))
Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #3 : Октябрь 03, 2008, 22:18 »

я сваял себе програмулину, которая читает ui-файл и генерит на его основе класс (h/cpp) с множественным наследованием (при этом используется ui_*.h) дак вот я использовал заготовку файлов h и cpp, и просто подменял некоторые строчки на названия классов из ui. Если надо тут описание и исходник
Записан

Юра.
Admin
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1988



Просмотр профиля
« Ответ #4 : Октябрь 04, 2008, 08:35 »

спасибо - скачал.
50% там есть))

Осталось сделать:
у тебя там [ClassName] - они жестко определены, а у меня они будут искаться .
Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #5 : Октябрь 04, 2008, 11:48 »

вот такое регулярное выражение:
(\{\$)[A-Za-z_0-9]+(\})
В следующей строке:
<html>
<body>
 {$HELLO}
 {$VAR2}
</body>
</html>
обнаруживает такие последовательности:
{$HELLO}
{$VAR2}
Записан

Юра.
Admin
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1988



Просмотр профиля
« Ответ #6 : Октябрь 04, 2008, 14:28 »

оо спасибо))
я не очень по регуляркам силен
Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #7 : Октябрь 04, 2008, 14:34 »

незабудь, что курсор двигать нужно. Т.е. будет обнаружена сначало последовательность
{$HELLO}
затем двигаешь курсор и тогда будет обнаружена следующая:
{$VAR2}
Записан

Юра.
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #8 : Октябрь 04, 2008, 14:37 »

могу дать измененный исходник %QTDIR%\examples\tools\regexp
я на нем подбираю регекспы. От туда можно вытянуть и работу с курсором
Записан

Юра.
ритт
Гость
« Ответ #9 : Октябрь 04, 2008, 16:59 »

выкладывай, конечно Улыбающийся
я в своё время тоже на регулярки забил...а порой ох как нужны бывают...
Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #10 : Октябрь 04, 2008, 17:41 »

прямая ссылка
если кому удобнее через svn, то вот корень хранилища
или просто веб
« Последнее редактирование: Октябрь 04, 2008, 17:43 от lit-uriy » Записан

Юра.
Admin
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1988



Просмотр профиля
« Ответ #11 : Октябрь 04, 2008, 19:27 »

для KDE есть визуальная построилка regexp

kregexpedit кажется - я там их смотрю
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.058 секунд. Запросов: 23.