ЗАКАЗ КНОПОК
|
|
ХарВик | Дата: Вторник, 17.04.2012, 21:49 | Сообщение № 1 |
|
ЗАКАЗ КНОПОК
В этой теме Вы можете высказывать идеи о каких-либо кнопках. Вы можете описать какую хотелось бы иметь кнопку и возможно найдутся те, кто подскажет как её сделать. Большая просьба чётко описывать задачу, от этого будет зависеть качество её решений
Группа TCIMG в Telegram
.
|
|
| |
chip642 | Дата: Воскресенье, 06.01.2019, 17:03 | Сообщение № 1471 |
|
Mrakobes
Перевести "Как в предложении" имена всех выделенных папок и их подпапок.
Код renms=FOLDM<%L//2//-1>||??3||upd<1>
Перевести "Как в предложении" базовые имена всех выделенных папок и всех объектов которые в них находятся.
Код renms=FOLDM<%L//0>||??3||upd<1>
Перевести "Как в предложении" базовые имена всех файлов выделенных папок
Код renms=FOLDC<%L//1//-1>||??3
Цитата Mrakobes ( ) соседняя кнопка по удалению "под курсором" после нажатия папки исчезают, а эти как будто остались
Не понял. Команда emptt удаляет пустые папки, если что.
Цитата Mrakobes ( ) Проводник зло, согласен Я про зло ничего не говорил, не наговаривайте на меня.
|
|
| |
Mrakobes | Дата: Воскресенье, 06.01.2019, 18:57 | Сообщение № 1472 |
Полковник
На сайте с: 08.08.2014
Город: Москва
Сообщений: 175
|
Цитата chip642 ( ) Не понял. Команда emptt удаляет пустые папки, если что
не, не, у меня все удаляется но по какой-то причине upd<1> не обновляет панель и после удаления видны папки, обновляю ручками - папки исчезают, в других вариантах upd<1> отрабатывает нормально
все три варианта кнопок работоспособные, спасибо за регулярные инструкции! Терпения не хватает такой массив изучить справки, комбинирую всяко из примеров, не хватае какойнить скобки и ничего не работает
Цитата chip642 ( ) Я про зло ничего не говорил, не наговаривайте на меня
я уж думал, что мы из одной секты АумТоталКоммандер
|
|
| |
asmadeus | Дата: Понедельник, 07.01.2019, 21:34 | Сообщение № 1473 |
|
alexostrov, с помощью участников форума кнопка дополнена. Примерно так:
Код alist=INI<7//%%COMMANDER_PATH%%\Wcmicons.inc//mappings//>||formt<1> blist=INI<7//%%COMMANDER_PATH%%\Wcmicons.inc//mappings//>||formt<1,fun_lib_01> extxs=PS<%%COMMANDER_PATH%%\Files_VOG\Bars\Osnova//1//0//bar>||Bar aends=$GLOBALEXTXS!!-1||Wcmicons.dll,!!||formt<1,fun_lib_01> extxs=PS<$f312\Tcm//1//0//tcm>||Tcm bends=$GLOBALEXTXS!!-1||#!#!!||formt<1,fun_lib_01> zlist=INI<7//%COMMANDER_PATH%\Wcmicons.inc//mappings//>||formt<1,fun_lib_01>||^^%%COMMANDER_PATH%%\Files_VOG\Icons\Wcmicons\||$$.ico arr2d=$GLOBALALIST+$GLOBALAENDS+GLOBALBENDS||16|0 brr2d=$GLOBALBLIST+$GLOBALAENDS+GLOBALBENDS||16|0 anf2d=PS<%COMMANDER_PATH%\Files_VOG\Icons\Wcmicons//1//0//*.ico//0>||2||[^\\]+\\[^\\]*?(\d+)\.ico zrr2d=$GLOBALANF2D||19|$GLOBALBRR2D||37|1||9|1:0||16|2|$GLOBALANF2D1||16|3|$GLOBALARR2D1 GLOBALZRR2D<a> Меняем пути и смотрим. Добавлено экспорт из панелей и tcm, но пока только в таблицу. В кнопке много лишнего, знатоки может поправят после праздников. В tcimgu.ini в секцию FormatUser:
Код fun_lib_01=(\d+)||StringFormat('%04s',Number($1)) Просто в tcimgu.ini:
Код [Extract_Tcm] 1=5||0!!(#!#\d+#!#) [Extract_Bar] 1=5||0!!button\d+\=(Wcmicons.dll,\d+) Сколько будет иконок в сравнении с вашими прошлыми 293 У меня с 556 стало 587. Остались еще различные ini файлы, и я не знаю, как поступать, если иконки не из библиотеки тотала, а с какой то другой или вообще из исполняемого файла?
|
|
| |
alexostrov | Дата: Вторник, 08.01.2019, 12:58 | Сообщение № 1474 |
Полковник
На сайте с: 22.11.2017
Сообщений: 179
|
asmadeus Похоже что извлеклись только № значков из баров, где есть button= Wcmicons (у меня в барах используется библиотека Wcmicons_bars.dll), поэтому их так мало. Видно в каком-то остались значки из Wcmicons. Вечером, после работы проверю. Я вчера проверил вариант извлечения значков из Tcm, предложенный Romario все работает без проблем. Все значки извлеклись, дубли выброшены. Проверял на одном файле Tcm.
Добавлено (08.01.2019, 13:12) --------------------------------------------- [ps] Вы привязываетесь к файлу Wcmicons.inc, при извлечении значков из баров и tcm, но в файле Wcmicons.inc они могут быть и не прописаны, т.к. в Wcmicons.inc прописано соответствие значков и команд для главного меню. Возможно поэтому, у меня так мало значков в окне GLOBALZRR2D. Или я не прав?
Добавлено (08.01.2019, 22:13) --------------------------------------------- asmadeus В папке Bar оставил 5 баров с Wcmicons,dll. В результате получаю только 8 значков. как в прикрепленном файле (пост выше). Ставлю GLOBALAENDS<a> в конце команды extxs=PS<%%COMMANDER_PATH%%\Bar//1//0//bar>||Bar aends=$GLOBALEXTXS!!-1||Wcmicons.dll,!!||formt<1,fun_lib_01 GLOBALAENDS<a> -получаю в окне GLOBALAENDS 52 значка. Закрываю окно GLOBALAENDS через [х] и в окне GLOBALZRR2D<a> получаю 8 значков. Если убираю GLOBALAENDS<a> с команды Баров и ставлю в конце extxs=PS<$f312\Tcm//1//0//tcm>||Tcm aends=$GLOBALEXTXS!!-1||formt<1> GLOBALAENDS<a> то получаю те же 52 значка.
Добавлено (08.01.2019, 23:52) --------------------------------------------- asmadeus Поставил контрольные точки после Меню, Bar, Tcm и GLOBALZRR2D уже был. В результате получил 4-е окна: GLOBALBLIST - 292 значка GLOBALAENDS - 157 значков GLOBALBENDS - 338 значков GLOBALZRR2D - 35 значков Вопрос_ в строке brr2d=$GLOBALBLIST+$GLOBALAENDS+GLOBALBENDS..... первые 2-е глоб. переменные с $, а GLOBALBENDS без $. Я правда добавил $, но это картину не изменило. И второе GLOBALZRR2D - это сумма всех значков или я ошибаюсь.
Сообщение отредактировал alexostrov - Среда, 09.01.2019, 01:09 |
|
| |
sibirnik | Дата: Среда, 09.01.2019, 12:30 | Сообщение № 1475 |
|
Помогите пожалуйста решить проблему, имеется рабочая кнопка:
Цитата bufsr=&&(?i)[^a-zа-яё]!!~~||#G7 ;; Удалить всё не буквенное в содержимом буфера обмена. Не получается изменить её так, чтобы получилось следующее: Удалить всё не буквенное в содержимом буфера обмена, кроме этого символа - Пример как есть: Спасибо - вам_за помощь=2019 (не буквенное может быть любым) Пример как надо: Спасибо - вам за помощь
|
|
| |
chip642 | Дата: Среда, 09.01.2019, 13:52 | Сообщение № 1476 |
|
sibirnik
Код TOTALCMD#BAR#DATA %COMMANDER_PATH%\TCIMG.exe bufsr=&&(?i)[^a-zа-яё\-]!!~~||#G7 Wcmicons.dll,19 в содержимом буфера обмена удалить небуквенные символы кроме тире.
-1
|
|
| |
sibirnik | Дата: Среда, 09.01.2019, 14:01 | Сообщение № 1477 |
|
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 | Сообщение № 1478 |
|
sibirnik, вместо bufsr используете sends=-1??-1 (получение с буфера и запись в массив по строкам), потом надо править регулярку для обработки. В общем, тупо нужна с нуля написанная кнопка.
Цитата alexostrov ( ) Или я не прав? Не правы.Я объединяю массив wcmicons, панели и tcm в один, и ищу совпадение с иконками папки. Если дойду до результата, который меня устроит, покажу. А так - меня эта кнопка уже утомила
|
|
| |
sibirnik | Дата: Среда, 09.01.2019, 18:11 | Сообщение № 1479 |
|
asmadeus,
Цитата asmadeus ( ) вместо bufsr используете sends=-1??-1 (получение с буфера и запись в массив по строкам), потом надо править регулярку для обработки. В общем, тупо нужна с нуля написанная кнопка. Для меня это сложновато, потому и прошу помощи.
|
|
| |
asmadeus | Дата: Среда, 09.01.2019, 18:27 | Сообщение № 1480 |
|
Цитата 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 | Сообщение № 1481 |
|
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 | Сообщение № 1482 |
Полковник
На сайте с: 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 | Сообщение № 1483 |
|
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 | Сообщение № 1484 |
Полковник
На сайте с: 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 | Сообщение № 1485 |
|
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 не универсльный прописал.
|
|
| |
|