[ Обновленные темы · Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Модератор форума: Andrey_A, ХарВик, chip642  
ЗАКАЗ КНОПОК
ХарВикДата: Вторник, 17.04.2012, 21:49 | Сообщение № 1
Генералиссимус

На сайте с: 29.01.2012
Город: Черкассы
Сообщений: 1629
Награды: 19
Репутация: 18
ЗАКАЗ КНОПОК




В этой теме Вы можете высказывать идеи о каких-либо кнопках. Вы можете описать какую хотелось бы иметь кнопку и возможно найдутся те, кто подскажет как её сделать.
Большая просьба чётко описывать задачу, от этого будет зависеть качество её решений


Группа TCIMG в Telegram

.
 
chip642Дата: Среда, 09.01.2019, 13:52 | Сообщение № 1471
Генералиссимус

На сайте с: 24.04.2013
Город: Москва
Сообщений: 1512
Награды: 62
Репутация: 59
sibirnik

Код
TOTALCMD#BAR#DATA
%COMMANDER_PATH%\TCIMG.exe
bufsr=&&(?i)[^a-zа-яё\-]!!~~||#G7
Wcmicons.dll,19
в содержимом буфера обмена удалить небуквенные символы кроме тире.

-1
 
sibirnikДата: Среда, 09.01.2019, 14:01 | Сообщение № 1472
Генерал-лейтенант

На сайте с: 27.08.2014
Сообщений: 742
Награды: 26
Репутация: 10
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
Генералиссимус

На сайте с: 14.12.2012
Город: Кривой Рог
Сообщений: 1376
Награды: 29
Репутация: 32
sibirnik, вместо bufsr используете sends=-1??-1 (получение с буфера и запись в массив по строкам), потом надо править регулярку для обработки. В общем, тупо нужна с нуля написанная кнопка.
Цитата alexostrov ()
Или я не прав?

Не правы.Я объединяю массив wcmicons, панели и tcm в один, и ищу совпадение с иконками папки.
Если дойду до результата, который меня устроит, покажу. А так - меня эта кнопка уже утомила
 
sibirnikДата: Среда, 09.01.2019, 18:11 | Сообщение № 1474
Генерал-лейтенант

На сайте с: 27.08.2014
Сообщений: 742
Награды: 26
Репутация: 10
asmadeus,
Цитата asmadeus ()
вместо bufsr используете sends=-1??-1 (получение с буфера и запись в массив по строкам), потом надо править регулярку для обработки. В общем, тупо нужна с нуля написанная кнопка.

Для меня это сложновато, потому и прошу помощи.
 
asmadeusДата: Среда, 09.01.2019, 18:27 | Сообщение № 1475
Генералиссимус

На сайте с: 14.12.2012
Город: Кривой Рог
Сообщений: 1376
Награды: 29
Репутация: 32
Цитата 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

вот так уже не приносит результата:
zrr2d=$GLOBALANF2D||19|$GLOBALARR2D||37|1||9|1:0||16|2|$GLOBALANF2D1||16|3|$GLOBALARR2D1 GLOBALZRR2D
 
chip642Дата: Среда, 09.01.2019, 22:00 | Сообщение № 1476
Генералиссимус

На сайте с: 24.04.2013
Город: Москва
Сообщений: 1512
Награды: 62
Репутация: 59
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
Награды: 0
Репутация: 0
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
Генералиссимус

На сайте с: 24.04.2013
Город: Москва
Сообщений: 1512
Награды: 62
Репутация: 59
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
Награды: 0
Репутация: 0
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
Генералиссимус

На сайте с: 24.04.2013
Город: Москва
Сообщений: 1512
Награды: 62
Репутация: 59
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
Награды: 0
Репутация: 0
chip642
Количество значков не изменилось 1683. Я так понимаю, что дубли Вы убираете, поэтому возможно что в Tcm задействованы те же значки что и Барах или Меню.
На счет извлечения в папки Вы правы в том что это лишнее, но я до этого момента еще понимал "физику процесса", а дальше я не совсем понимаю, как Вы сопоставите те значки, которые есть сейчас в разных библиотеках с той библиотекой которая будет создана. Но Вам виднее. Не даром, даже Маэстро считает Вас лучшим создателем (я бы сказал Гл. конструктором) кнопок. Извините за длинный спич.
 
chip642Дата: Четверг, 10.01.2019, 01:55 | Сообщение № 1482
Генералиссимус

На сайте с: 24.04.2013
Город: Москва
Сообщений: 1512
Награды: 62
Репутация: 59
alexostrov

Перекопируйте кнопку, там путь я прописал неправильно.

Цитата alexostrov ()
Я так понимаю, что дубли Вы убираете


Конечно, причем без учета регистра, это важно.

Цитата alexostrov ()
дальше я не совсем понимаю, как Вы сопоставите те значки, которые есть сейчас в разных библиотеках с той библиотекой которая будет создана


Пришла хитрющая идея и мы её осуществим, вернее я уже осуществил и всё работает. Но так как время позднее для вас, то наверное завтра всё и растолкую, я то по ночам не сплю)).
 
alexostrovДата: Четверг, 10.01.2019, 02:05 | Сообщение № 1483
Полковник

На сайте с: 22.11.2017
Сообщений: 179
Награды: 0
Репутация: 0
chip642
С новой кнопкой значков стало 2055.
Если бы было 3 файла *.txt на Меню, Бары и Tcm, то можно было бы проверить на соответствие, а так это сложно проверить.
Может это и не нужно.
Огромное спасибо !!!. Удачи Вам.


Сообщение отредактировал alexostrov - Четверг, 10.01.2019, 02:08
 
chip642Дата: Четверг, 10.01.2019, 02:11 | Сообщение № 1484
Генералиссимус

На сайте с: 24.04.2013
Город: Москва
Сообщений: 1512
Награды: 62
Репутация: 59
Цитата alexostrov ()
Если бы было 3 файла *.txt на Меню, Бары и Tcm, то можно было бы проверить на соответствие


На соответствие чего? Все значки реальны, даже можете не сомневаться, а насчет отдельных файлов, так пжл. могу сделать, попозже выложу вам.
 
sibirnikДата: Четверг, 10.01.2019, 06:31 | Сообщение № 1485
Генерал-лейтенант

На сайте с: 27.08.2014
Сообщений: 742
Награды: 26
Репутация: 10
chip642,
Цитата alexostrov ()
Не даром, даже Маэстро считает Вас лучшим создателем (я бы сказал Гл. конструктором) кнопок.
Полностью согласен. От души спасибо за кнопки. С Вами жизнь становится лучше. Низкий поклон.

Добавлено (10.01.2019, 07:20)
---------------------------------------------
chip642,
Большая просьба по этой кнопке
Если не трудно доделайте пожалуйста кнопку, так, чтобы она создаваемым кнопкам на АП присваивала ту иконку, которая прописана в параметрах кнопки ТСМ. Спасибо.

 
Поиск:

Интеллектуальные права и отказ от ответственности