Latest post of the previous page:
Мужики, а работа над плагином еще ведется?)Я создаю шаблон с пользовательским вводом, но автоматизировать его создание достаточно проблематично.
1. Человек, вводящий в кучу @@INPUTов значения, не видит что там происходит сзади. Но это, возможно, пол беды, да и сложно интегрируемо. Но.
2. Человек, опять же, вводя все эти значения подряд, а не скопом, типа как на скриншоте пред. посте, несколько теряется, не может поправить, если что-то забыл. Конечно он может это сделать в коде чуть позже, но если эти значения используются много раз, то это напряг).
3. Хочу подставить по умолчанию имя класса, но использование @@FILE_NAME@@ внутри @@INPUT:...@@, как я понял, невозможно. Можете сделать какойнибудь обход? Язык для шаблонов не для детей, поэтому разницы, я думаю, нет как он будет выглядеть. Лиж бы работало)
Юзаю версию 2.10
Мне с Си после пхп достаточно сложно общаться, да и другим, вероятно, будет полезны фичи.
p.s.
4. Было бы очень неплохо, если часть текста не рисовалась, если пользователь ничего не ввел. Типа строки «protected int smiles = "@@STR:Smiles@@"». Если пользователь оставил Smiles пустым, то оно только хуже сделает. Может что-то вроде @@IF:Smiles==@@...@@STR:Smiles@@...@@/IF@@ или @@WRAPSTR:prefix:Smiles:suffix@@. Первая конструкция более сложна в реалзиации но ясна, вторая - выводит строку, если параметр не пустой, и более проста в реализации. Как думаете? Если покажете где лежат обработки директив @@ я могу подготовить почти компиляемый код на C++ для варианта 2, но компилить нечем ;-(.
p.p.s.
Code: Select all
45 строка true-tpl.h:
+ CMD_WrappedString,
548 (или еще какая) строка commands.cpp
+ case CMD_WrappedString:
+ {
+ // не понял как они там делятся. хотя, это ссылки, наверное). жаль что давно с с++ дела не имел
+ // пусть будет @@WRAPSTR:String name:PREFIX:SUFFIX@@
+ if (szParam1 && *szParam1)
+ {
+ szParam3 = GetParamParam (szParam2); // ???
+ psz = DoString (szParam1, 0, szString, sizeof (szString)); // !!!?
+ if ( psz && *psz ) { // psz != ""
+ psz... // psz = szParam2 + psz + szParam3;
+ } else
+ *psz = 0; // psz = "";
+ }
+
+ conv = false;
+ }
+ break;
примерно 799 строка commands.cpp
+ else if (!lstrcmpi (macro, "WRAPSTR"))
+ eCommand = CMD_WrappedString;