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

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




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


Группа TCIMG в Telegram

.
 
chip642Дата: Четверг, 10.12.2015, 03:02 | Сообщение № 601
Генералиссимус

На сайте с: 24.04.2013
Город: Москва
Сообщений: 1495
Награды: 62
Репутация: 58
ice_daemon, давайте не будем, как в прошлый раз, шаг за нагом узнавать, что вы хотите сделать и к чему вы хотите придти, опишите всю задачу, задуманную Вами в целом, чтобы потом не было, а вот еще это, потом это, сразу пишите, что вы задумали, а не то, что у вас на определенном этапе не получается., так будет проще и Вам и нам.
 
ice_daemonДата: Четверг, 10.12.2015, 04:22 | Сообщение № 602
Лейтенант

На сайте с: 01.08.2013
Сообщений: 40
Награды: 0
Репутация: 0
Цитата chip642 ()
ice_daemon, давайте не будем, как в прошлый раз, шаг за нагом узнавать, что вы хотите сделать и к чему вы хотите придти, опишите всю задачу, задуманную Вами в целом, чтобы потом не было, а вот еще это, потом это, сразу пишите, что вы задумали, а не то, что у вас на определенном этапе не получается., так будет проще и Вам и нам.


Есть bar файл, в который после выполнения определенного скрипта, добавляются строки кнопки, но кроме строк кнопки, добавляются мусорные строки. Счетчик кнопок Buttoncount=... прописывается правильно, и хотелось бы зная это правильное количество кнопок определить где заканчивается нужный текст и начинается мусор, и его удалить

грубо говоря есть так

[Buttonbar]
Buttoncount=3
button1=
menu1=
button2=
menu2=
button3=
menu3=
button13=
menu13=
button33=
menu33=

а надо так

[Buttonbar]
Buttoncount=3
button1=
menu1=
button2=
menu2=
button3=
menu3=
 
Andrey_AДата: Четверг, 10.12.2015, 09:26 | Сообщение № 603
Генералиссимус

На сайте с: 26.01.2012
Город: Сочи, Хоста
Сообщений: 7167
Награды: 139
Репутация: 125
Аверин Андрей
Цитата
после выполнения определенного скрипта, добавляются строки кнопки, но кроме строк кнопки, добавляются мусорные строки

ice_daemon, а зачем тогда такой скрипт - не проще ли его подправить, чем потом мудрить...
а именно в цикле перебирать все button, menu, param, cmd, iconic, path
да и непонятно сколько раз перебирать - 2 раза? 50? 1050?.., а вот где неизвестность, там и нестабильность...

Цитата
и удалить в bar файле все строки после menuX=...

это не совсем корректное действие, т.к. работая с кнопками может получится вот такое

Код
[Buttonbar]
Buttoncount=3
button33=
button2=
menu2=
button3=
menu3=
menu13=
button1=
button13=
menu33=
menu1=

удалить мусорные кнопки можно в самом тотале
1. открываете панель в тотале
2. запускаете команду "Изменить панель инструментов"
3. нажимаете "ок"

Доступно только для пользователей

.


 
ice_daemonДата: Четверг, 10.12.2015, 11:28 | Сообщение № 604
Лейтенант

На сайте с: 01.08.2013
Сообщений: 40
Награды: 0
Репутация: 0
Спасибо большое, помогло
а ListBars2 можно как-нибудь прикрутить, или для каждой панели прописывать поочереди?
 
chip642Дата: Четверг, 10.12.2015, 11:39 | Сообщение № 605
Генералиссимус

На сайте с: 24.04.2013
Город: Москва
Сообщений: 1495
Награды: 62
Репутация: 58
А лучше всего (ИМХО), кнопке автора придать такой вид, и иметь вот такую кнопку на каждой панели инструментов, не надо переходить к файлам.bar, удобно.

Код
TOTALCMD#BAR#DATA
%COMMANDER_PATH%\TCIMG.exe
tcimg=$cm498 bufsr=##wintxt<1|TBUTTONCHANGEDLG|0|+tcTCCUZBAR1|1|#hide#> tcprm=OPENBAR~~clpget barupd
Wcmicons.dll,19
Обновить текущую панель инструментов

-1
-1

Да уж, ну я и выдумал с кнопкой выше))) зачем-то пути в буфер обмена... , когда одна командв barupd, прописанная в параметрах всё это решает и так. Бывает...
 
jkmjkmjkmДата: Вторник, 15.12.2015, 13:09 | Сообщение № 606
Полковник

На сайте с: 07.04.2013
Город: Луганск
Сообщений: 184
Награды: 3
Репутация: 1
Есть список журналов в таком виде:
Rybatskii viestnik 2010 01
Рыбацкии виестник 2010 02

Хотелось бы иметь кнопку для приведения к виду:
Рыбацкий вестник 2010 01
Рыбацкий вестник 2010 02
 
chip642Дата: Вторник, 15.12.2015, 14:38 | Сообщение № 607
Генералиссимус

На сайте с: 24.04.2013
Город: Москва
Сообщений: 1495
Награды: 62
Репутация: 58
jkmjkmjkm
Код
TOTALCMD#BAR#DATA
%COMMANDER_PATH%\TCIMG.exe
renms=%L||&&(?i)[^\d]([a-zа-яё\s]+)!!clpget~~
Wcmicons.dll,35
Переименовать выделенные объекты с заменой прилегающих к цифрам буквенных частей на содержимое буфера обмена

-1
-1

Код
TOTALCMD#BAR#DATA
%COMMANDER_PATH%\TCIMG.exe
renms=%L||&&(?i)[^\d]([a-zа-яё\s]+)!![input=Переименование~~до~~цифр|Введите~~нужные~~данные|имя|300|120]~~
Wcmicons.dll,35
Переименовать выделенные объекты с заменой прилегающих к цифрам буквенных частей на введенное в диалоговом окне

-1
-1
 
jkmjkmjkmДата: Вторник, 15.12.2015, 15:34 | Сообщение № 608
Полковник

На сайте с: 07.04.2013
Город: Луганск
Сообщений: 184
Награды: 3
Репутация: 1
chip642, спасибо
 
ice_daemonДата: Суббота, 19.12.2015, 17:54 | Сообщение № 609
Лейтенант

На сайте с: 01.08.2013
Сообщений: 40
Награды: 0
Репутация: 0
Снова нужна помощь )
есть команда
"записать в буфер обмена количество кнопок активной панели инструментов"
а есть возможность сделать
"записать в буфер обмена количество кнопок на первой строке активной панели инструментов"?


Сообщение отредактировал ice_daemon - Суббота, 19.12.2015, 17:55
 
jkmjkmjkmДата: Суббота, 19.12.2015, 20:46 | Сообщение № 610
Полковник

На сайте с: 07.04.2013
Город: Луганск
Сообщений: 184
Награды: 3
Репутация: 1
Переименование объектов: нижняя чёрточка на пробел
 
ice_daemonДата: Суббота, 19.12.2015, 21:19 | Сообщение № 611
Лейтенант

На сайте с: 01.08.2013
Сообщений: 40
Награды: 0
Репутация: 0
Цитата jkmjkmjkm ()
Переименование объектов: нижняя чёрточка на пробел


renms=%L||_!!~~
 
jkmjkmjkmДата: Суббота, 19.12.2015, 22:15 | Сообщение № 612
Полковник

На сайте с: 07.04.2013
Город: Луганск
Сообщений: 184
Награды: 3
Репутация: 1
ice_daemon, благодарю
 
Andrey_AДата: Воскресенье, 20.12.2015, 11:18 | Сообщение № 613
Генералиссимус

На сайте с: 26.01.2012
Город: Сочи, Хоста
Сообщений: 7167
Награды: 139
Репутация: 125
Аверин Андрей
Цитата
есть команда
"записать в буфер обмена количество кнопок активной панели инструментов"
а есть возможность сделать
"записать в буфер обмена количество кнопок на первой строке активной панели инструментов"?


ice_daemon, расширил вариант info-x200-299

Тестовая версия TCIMG 124_b3, в версии 12.3 замените соответствующие файл(ы)

Примеры:

Код
"bufsr=##<info=x200|%P%N>" - записать в буфер обмена количество кнопок панели инструментов под курсором
"bufsr=##<info=x200|1>" - записать в буфер обмена количество кнопок активной панели инструментов

"bufsr=##<info=x201|%P%N>" - записать в буфер обмена количество сепараторов и переносов панели инструментов под курсором
"bufsr=##<info=x201|1>" - записать в буфер обмена количество сепараторов и переносов активной панели инструментов

"bufsr=##<info=x202|%P%N>" - записать в буфер обмена количество строк панели инструментов под курсором
"bufsr=##<info=x202|1>" - записать в буфер обмена количество строк активной панели инструментов

"bufsr=##<info=x203|%P%N>" - записать в буфер обмена количество кнопок без сепараторов панели инструментов под курсором
"bufsr=##<info=x203|1>" - записать в буфер обмена количество кнопок без сепараторов активной панели инструментов

"bufsr=##<info=x210|%P%N>" - записать в буфер обмена количество кнопок 1-й строки панели инструментов под курсором
"bufsr=##<info=x210|1>" - записать в буфер обмена количество кнопок 1-й строки активной панели инструментов

"bufsr=##<info=x211|%P%N>" - записать в буфер обмена количество кнопок 2-й строки панели инструментов под курсором
"bufsr=##<info=x211|1>" - записать в буфер обмена количество кнопок 2-й строки активной панели инструментов

"bufsr=##<info=x240|%P%N>" - записать в буфер обмена количество сепараторов 1-й строки панели инструментов под курсором
"bufsr=##<info=x240|1>" - записать в буфер обмена количество сепараторов 1-й строки активной панели инструментов

"bufsr=##<info=x241|%P%N>" - записать в буфер обмена количество сепараторов 2-й строки панели инструментов под курсором
"bufsr=##<info=x241|1>" - записать в буфер обмена количество сепараторов 2-й строки активной панели инструментов

"bufsr=##<info=x270|%P%N>" - записать в буфер обмена количество кнопок без сепараторов 1-й строки панели инструментов под курсором
"bufsr=##<info=x270|1>" - записать в буфер обмена количество кнопок без сепараторов 1-й строки активной панели инструментов

"bufsr=##<info=x271|%P%N>" - записать в буфер обмена количество кнопок без сепараторов 2-й строки панели инструментов под курсором
"bufsr=##<info=x271|1>" - записать в буфер обмена количество кнопок без сепараторов 2-й строки активной панели инструментов




 
ice_daemonДата: Воскресенье, 20.12.2015, 20:52 | Сообщение № 614
Лейтенант

На сайте с: 01.08.2013
Сообщений: 40
Награды: 0
Репутация: 0
очень круто, большое спасибо
а можно исходники посмотреть, очень интересно как это реализовано)?

и еще родился вопрос, можно ли реализовать
"скрыть первую строку в барах, прописанных в ListBar" ?


Сообщение отредактировал ice_daemon - Воскресенье, 20.12.2015, 21:19
 
Andrey_AДата: Воскресенье, 20.12.2015, 21:30 | Сообщение № 615
Генералиссимус

На сайте с: 26.01.2012
Город: Сочи, Хоста
Сообщений: 7167
Награды: 139
Репутация: 125
Аверин Андрей
Цитата
а можно исходники посмотреть, очень интересно как это реализовано?)

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

Там все построено на регулярных выражениях - массивы:

Код
button(\d+)=[\r\n]

массив разделителей

Код
cmd(\d+)=-2[\r\n]

массив переносов

потом в цикле обработка номеров и получения данных
-----------
в коде TCIMG более 2200 функций, которые все это обрабатывают и в код для этого функционала я добавил 19 строк (благодаря тому, что там уже есть), а вот вытаскивать всё это в свет даже не буду пробовать - долго и неэкономно...

.


 
Форум » • Total Commander • » Кнопки для Total Commander » ЗАКАЗ КНОПОК
Поиск:

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