|
ЗАКАЗ КНОПОК
|
|
| ХарВик | Дата: Вторник, 17.04.2012, 21:49 | Сообщение № 1 |
|
|
ЗАКАЗ КНОПОК
В этой теме Вы можете высказывать идеи о каких-либо кнопках. Вы можете описать какую хотелось бы иметь кнопку и возможно найдутся те, кто подскажет как её сделать. Большая просьба чётко описывать задачу, от этого будет зависеть качество её решений
Группа TCIMG в Telegram
.
|
| |
| |
| chip642 | Дата: Среда, 09.01.2019, 13:52 | Сообщение № 1471 |
|
|
sibirnik
Код TOTALCMD#BAR#DATA %COMMANDER_PATH%\TCIMG.exe bufsr=&&(?i)[^a-zа-яё\-]!!~~||#G7 Wcmicons.dll,19 в содержимом буфера обмена удалить небуквенные символы кроме тире.
-1
|
| |
| |
| sibirnik | Дата: Среда, 09.01.2019, 14:01 | Сообщение № 1472 |
|
|
chip642, Как всё просто, не смог сам понять по справке. Огромное спасибо.Добавлено (09.01.2019, 17:16) --------------------------------------------- Помогите пожалуйста решить ещё одну проблему, имеется рабочая кнопка:
Цитата TOTALCMD#BAR#DATA %COMMANDER_PATH%\TCIMG.exe bufsr=&&([^#]+).*#([^#]+)!!$2@CRLF$1 exect=$var_ac=StringRegExp(ClipGet()&@CR&@CR,'(?m)^([^\r\n]*)',3)||$var_ab=StringSplit('TOTALCMD#BAR#DATA|%%COMMANDER_PATH%%\TCIMG.exe|#|Wcmicons.dll,0|','|',2)||$var_ab[2]=$var_ac[0]||$var_ab[4]=$var_ac[1]||_ArrayToClip($var_ab,@CRLF) barbt=1||-1 %COMMANDER_PATH%\Wcmicons.dll,23 Создать в буфере обмена кнопку из строки кнопки MENUIMG.tcm + Добавить на активную панель. Нужно сделать так:
Цитата Создать в буфере обмена кнопки из скопированных строк файла MENUIMG.tcm с добавлением каждой отдельной кнопки на активную панель. Пробовал так, не работает.
Цитата <FOR> 1 <TO> 2 bufsr=&&([^#]+).*#([^#]+)!!$2@CRLF$1 exect=$var_ac=StringRegExp(ClipGet()&@CR&@CR,'(?m)^([^\r\n]*)',3)||$var_ab=StringSplit('TOTALCMD#BAR#DATA|%%COMMANDER_PATH%%\TCIMG.exe|#|Wcmicons.dll,0|','|',2)||$var_ab[2]=$var_ac[0]||$var_ab[4]=$var_ac[1]||_ArrayToClip($var_ab,@CRLF) barbt=1||-1 <NEXT> Не знаю, как сделать, чтобы в цикле он брал от первого MENUITEM до второго - создавал кнопку, потом брал от второго MENUITEM - создал кнопку и так далее...до конца скопированных строк. И ещё чтобы при копировании MENUITEM - подсчитал сколько кнопок будет создано и подставил в цикл <FOR> 1 <TO> 2 вместо двойки нужное число. Можно конечно вручную подсчитать сколько и подставить, но авто лучше. Вот строки для примера(очень много таких разных строк у меня, по одной переделывать очень долго)
Цитата MENUITEM Создать каталоги в ДП именами из выделенных объектов#!#2397#!#%COMMANDER_PATH%\TCIMG.exe#!#folds="%t"||list<%UL!!4> MENUITEM Создать выделенному объекту N-оe количество копий#!#Wcmicons.dll,2049#!#%COMMANDER_PATH%\TCIMG.exe#!#copys= Решение этой проблемы может быть и другим, более правильным и удобным для Вас возможным решением. Я просто показал попытку самостоятельного решения. Помогите если такое возможно сделать. Спасибо.
|
| |
| |
| asmadeus | Дата: Среда, 09.01.2019, 18:07 | Сообщение № 1473 |
|
|
sibirnik, вместо bufsr используете sends=-1??-1 (получение с буфера и запись в массив по строкам), потом надо править регулярку для обработки. В общем, тупо нужна с нуля написанная кнопка.
Цитата alexostrov (  ) Или я не прав? Не правы.Я объединяю массив wcmicons, панели и tcm в один, и ищу совпадение с иконками папки. Если дойду до результата, который меня устроит, покажу. А так - меня эта кнопка уже утомила
|
| |
| |
| sibirnik | Дата: Среда, 09.01.2019, 18:11 | Сообщение № 1474 |
|
|
asmadeus,
Цитата asmadeus (  ) вместо bufsr используете sends=-1??-1 (получение с буфера и запись в массив по строкам), потом надо править регулярку для обработки. В общем, тупо нужна с нуля написанная кнопка. Для меня это сложновато, потому и прошу помощи.
|
| |
| |
| asmadeus | Дата: Среда, 09.01.2019, 18:27 | Сообщение № 1475 |
|
|
Цитата asmadeus (  ) arr2d=$GLOBALALIST+$GLOBALAENDS+GLOBALBENDS||16|0 brr2d=$GLOBALBLIST+$GLOBALAENDS+GLOBALBENDS||16|0 Я вот тоже не пойму, почему вроде два совершенно одинаковых массива в моей кнопке, а подставить в это:
Цитата asmadeus (  ) zrr2d=$GLOBALANF2D||19|$GLOBALBRR2D||37|1||9|1:0||16|2|$GLOBALANF2D1||16|3|$GLOBALARR2D1 GLOBALZRR2D вот так уже не приносит результата:
Цитата asmadeus (  ) zrr2d=$GLOBALANF2D||19|$GLOBAL ARR2D||37|1||9|1:0||16|2|$GLOBALANF2D1||16|3|$GLOBALARR2D1 GLOBALZRR2D
|
| |
| |
| chip642 | Дата: Среда, 09.01.2019, 22:00 | Сообщение № 1476 |
|
|
sibirnik
В TCIMG.ini (TCIMGU.ini) в секцию [FormatUser] добавляем:
Код bt8=([^\r\n]+)([\r\n]+)([^\r\n]+)([\r\n]+)([^\r\n]+)||$5¤$3¤$1
Код TOTALCMD#BAR#DATA %COMMANDER_PATH%\TCIMG.exe bufsr=&&(.*?)[~~](.*)!!$2||#!#!!@CRLF||?T|p3#4#1|d,1:-1||formt<63>||formt<54,bt8> gends=@<info=x50> xends=-1??-1 <FOR> 1 <TO> GLOBALXENDS<0> sends=GLOBALXENDS<x:INDEX:>!!-8¤ zends=TOTALCMD#BAR#DATA@CRLF%%COMMANDER_PATH%%\TCIMG.exe@CRLFGLOBALSENDS<x1>@CRLFWcmicons.dll,1@CRLFGLOBALSENDS<x3>??-1 barbt=1||-1||GLOBALGENDS<1>||butfrom<GLOBALZENDS<t>> <NEXT> barupd WCMICONS.dll,19 Из скопированных кнопок в синтаксисе меню MENUIMG создать на панели инструментов Total Commander кнопки
0 -1
Цитата asmadeus (  ) А так - меня эта кнопка уже утомила
Что-то у вас как-то всё сложно. Но задача конечно не из легких, спору нет.
|
| |
| |
| alexostrov | Дата: Среда, 09.01.2019, 22:52 | Сообщение № 1477 |
Полковник
На сайте с: 22.11.2017
Сообщений: 179
|
asmadeus Может Вам это поможет: GLOBALALIST - 292 -Menu GLOBALAENDS - 52 - Bar GLOBALBENDS - 338 - Tcm GLOBALANF2D - 0 GLOBALBRR2D - 682 (похоже на Menu + Bar + Tcm) LOBALANF2D1 - 0 GLOBALARR2D1 - 682 GLOBALZRR2D - 8
|
| |
| |
| chip642 | Дата: Четверг, 10.01.2019, 00:17 | Сообщение № 1478 |
|
|
alexostrov
Протестируйте эту кнопку.
Код TOTALCMD#BAR#DATA %COMMANDER_PATH%\TCIMG.exe watch=1 tempxx slist=INI<7//$f300WCMICONS.INC//mappings//>||save<$f200Lists\AllBarsIcons.txt|2> alist=$f306Wcmd_Rus.ini||formt<0!!(?i)button=(.+\.(?:dll)(?:\,\d+)?)>||save<$f200Lists\AllBarsIcons.txt|2> blist=PS<$f300Bar\//1//0//*.bar> stext=$GLOBALBLIST||$f254//0 aends=GLOBALSTEXT<1>??-1||formt<0!!(?i)button\d+=(.+\.(?:dll)(?:\,\d+)?)>||&&[^\r\n]+\\!! asave=GLOBALAENDS||$f200Lists\AllBarsIcons.txt|2|@CRLF|1 textt=$f200Lists\AllBarsIcons.txt||?T|a7:^\d,1:-1!!Wcmicons.dll,||?B58!!.ico||formt<3,27,63> textt=GLOBALTEXTT1<1>||formt<0!!.*[\d].*> WCMICONS.dll,1 Записать в TCIMG\Files\Lists\AllBarsIcons.txt имена всех значков задействованных в WCMICONS.INC, Wcmd_Rus.ini и во всех *.bar в папке TC\Bar\
-1
Скажите из какой папки будем извлекать значки из *.tcm и их подключим, я тестирую на сборке Маэстро - TC_IMAGE (она подходит, как никая для теста, самая сложная), у него файлы *.tcm в папке TC_IMAGE\Files\Tcm\. Остальное по ходу.
|
| |
| |
| alexostrov | Дата: Четверг, 10.01.2019, 01:02 | Сообщение № 1479 |
Полковник
На сайте с: 22.11.2017
Сообщений: 179
|
chip642 Есть 1683 значка. В Гл. меню я использую, естественно, только значки из Wcmicons.dll, а в барах использую и из Wcmicons и Wcmicons3. Так вот они все есть в списке. Более подробно надо анализировать сколько каких, из Меню, Баров Tсм. *.tcm находятся в папке ТС\Files\Tcm Спасибо Вам, за то что Вы подключились к этой непростой работе. Удачи.
Добавлено (10.01.2019, 01:27) --------------------------------------------- chip642 Я тестирую тоже на сборке Маэстро TC IMAGE 22. Правда Меню обрезано на половину и свои Панели Инструментов. Пожелание: - получить в разные папки используемые значки из Menu, Bar\*.bar, Tcm\*.tcm (например папки - Ico_Menu, Ico_Bar, Ico_Tcm ) Остальное по ходу процесса.
|
| |
| |
| chip642 | Дата: Четверг, 10.01.2019, 01:36 | Сообщение № 1480 |
|
|
alexostrov
Для чего надо в отдельные папки извлекать, ведь вы в итоге хотите из всех задействоанных значков создать библиотеку, а если так, то у меня есть план , думаю у нас всё и так получится.
Подключил извлечение значков из *.tcm, тестируйте.
Код TOTALCMD#BAR#DATA %COMMANDER_PATH%\TCIMG.exe watch=2 tempxx textt=$f200Lists\AllBarsIcons.txt||##||backup<0> slist=INI<7//$f300WCMICONS.INC//mappings//>||save<$f200Lists\AllBarsIcons.txt|2> alist=$f306Wcmd_Rus.ini||formt<0!!(?i)button=(.+\.(?:dll)(?:\,\d+)?)>||save<$f200Lists\AllBarsIcons.txt|2> blist=PS<$f300Bar\//1//0//*.bar> stext=$GLOBALBLIST||$f254//0 aends=GLOBALSTEXT<1>??-1||formt<0!!(?i)button\d+=(.+\.(?:dll)(?:\,\d+)?)>||&&[^\r\n]+\\!! asave=GLOBALAENDS||$f200Lists\AllBarsIcons.txt|2|@CRLF|1 tempxx clist=PS<$f312Tcm\//1//0//*.tcm> stext=$GLOBALCLIST||$f254//0 bends=GLOBALSTEXT<1>??-1||formt<0!!#!#(.*\d+)#!#>||&&[^\r\n]+\\!!||?F27,20 asave=GLOBALBENDS||$f200Lists\AllBarsIcons.txt|2|@CRLF|1 textt=$f200Lists\AllBarsIcons.txt||?T|a7:^\d,1:-1!!Wcmicons.dll,||?B58!!.ico||formt<3,27,63> textt=GLOBALTEXTT1<1>||formt<0!!.*[\d].*> WCMICONS.dll,2 Записать в TCIMG\Files\Lists\AllBarsIcons.txt имена всех значков задействованных в WCMICONS.INC, Wcmd_Rus.ini, во всех *.bar в папке TC\Bar\ и во всех *.tcm в папке ТС\Files\Tcm
-1
Перекопируйте кнопку, забыл учесть, что значки могут прописаны в виде полного пути к ним и путь к папке \Files\Tcm не универсльный прописал.
|
| |
| |
| alexostrov | Дата: Четверг, 10.01.2019, 01:53 | Сообщение № 1481 |
Полковник
На сайте с: 22.11.2017
Сообщений: 179
|
chip642 Количество значков не изменилось 1683. Я так понимаю, что дубли Вы убираете, поэтому возможно что в Tcm задействованы те же значки что и Барах или Меню. На счет извлечения в папки Вы правы в том что это лишнее, но я до этого момента еще понимал "физику процесса", а дальше я не совсем понимаю, как Вы сопоставите те значки, которые есть сейчас в разных библиотеках с той библиотекой которая будет создана. Но Вам виднее. Не даром, даже Маэстро считает Вас лучшим создателем (я бы сказал Гл. конструктором) кнопок. Извините за длинный спич.
|
| |
| |
| chip642 | Дата: Четверг, 10.01.2019, 01:55 | Сообщение № 1482 |
|
|
alexostrov
Перекопируйте кнопку, там путь я прописал неправильно.
Цитата alexostrov (  ) Я так понимаю, что дубли Вы убираете
Конечно, причем без учета регистра, это важно.
Цитата alexostrov (  ) дальше я не совсем понимаю, как Вы сопоставите те значки, которые есть сейчас в разных библиотеках с той библиотекой которая будет создана
Пришла хитрющая идея и мы её осуществим, вернее я уже осуществил и всё работает. Но так как время позднее для вас, то наверное завтра всё и растолкую, я то по ночам не сплю)).
|
| |
| |
| alexostrov | Дата: Четверг, 10.01.2019, 02:05 | Сообщение № 1483 |
Полковник
На сайте с: 22.11.2017
Сообщений: 179
|
chip642 С новой кнопкой значков стало 2055. Если бы было 3 файла *.txt на Меню, Бары и Tcm, то можно было бы проверить на соответствие, а так это сложно проверить. Может это и не нужно. Огромное спасибо !!!. Удачи Вам.
Сообщение отредактировал alexostrov - Четверг, 10.01.2019, 02:08 |
| |
| |
| chip642 | Дата: Четверг, 10.01.2019, 02:11 | Сообщение № 1484 |
|
|
Цитата alexostrov (  ) Если бы было 3 файла *.txt на Меню, Бары и Tcm, то можно было бы проверить на соответствие
На соответствие чего? Все значки реальны, даже можете не сомневаться, а насчет отдельных файлов, так пжл. могу сделать, попозже выложу вам.
|
| |
| |
| sibirnik | Дата: Четверг, 10.01.2019, 06:31 | Сообщение № 1485 |
|
|
chip642,
Цитата alexostrov (  ) Не даром, даже Маэстро считает Вас лучшим создателем (я бы сказал Гл. конструктором) кнопок. Полностью согласен. От души спасибо за кнопки. С Вами жизнь становится лучше. Низкий поклон.Добавлено (10.01.2019, 07:20) --------------------------------------------- chip642, Большая просьба по этой кнопке Если не трудно доделайте пожалуйста кнопку, так, чтобы она создаваемым кнопкам на АП присваивала ту иконку, которая прописана в параметрах кнопки ТСМ. Спасибо.
|
| |
| |
|