Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

[util] TC Menu: вопросы, ответы, предложения
Goto page Previous  1, 2, 3 ... 14, 15, 16 ... 21, 22, 23  Next
 
Post new topic   Reply to topic    Total Commander Forum Index -> Плагины Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
VadiMGP



Joined: 21 Mar 2007
Posts: 1625

Post (Separately) Posted: Mon Oct 06, 2008 12:37    Post subject: Reply with quote

В параметрах TCMenu надо собрать все переменные ТС, используемые в кнопках тулбара.
В твоем примере во 2-й кнопке присутствуют переменные %p%n, значит в параметрах TCMenu должно быть "-p %p -n %n".
5-я и 22-я кнопка не содержат переменных ТС и, поэтому, никак не влияют на параметры TCMenu.

Если же , допустим, в шестой кнопке используется переменная %Т, то ее надо добавить в параметры TCMenu - "-p %p -n %n -Т %Т". И т.д.
Back to top
View user's profile Send private message
Leopoldus



Joined: 22 Jan 2008
Posts: 45

Post (Separately) Posted: Mon Oct 06, 2008 20:16    Post subject: Reply with quote

Спасибо, стало чуть более понятно, но все равно не до конца.
Как TCMenu определяет, к какой именно кнопке вложенного тулбара относятся переменные, указанные в строке параметров кнопки? Если бы синтаксис включал номер кнопки, то было бы ясно (например, "2:p %p -n %n"), но ничего такого нет. А как же тогда?
Ты не мог бы привести в качестве примера полную строку для нашего примера (то есть, тулбар из 30 кнопок, из которых переменные TC есть у 2-й и 6-й, а парамеры у 5-й и 22-й кнопок) в том виде, в котором она должна быть, чтобы ее можно было бы просто тупо скопировать и вставить в строку параметров кнопки. Потом я по этому образцу сделю остальное.
Back to top
View user's profile Send private message
VadiMGP



Joined: 21 Mar 2007
Posts: 1625

Post (Separately) Posted: Mon Oct 06, 2008 20:42    Post subject: Reply with quote

Leopoldus wrote:
Как TCMenu определяет, к какой именно кнопке вложенного тулбара относятся переменные,

Никак не определяет, это не требуется. %p - он и в Африке %p. Где бы он ни попался (хоть во всех кнопках подряд) все равно он будет заменен на одно и то же, а значит, в каких именно кнопках он стоит совершенно неважно.
Leopoldus wrote:
Ты не мог бы привести в качестве примера полную строку для нашего примера

Так я ее и привел, практически полностью. Осталось только добавить вначале имя самого файла тулбара.
Code:
c:\totalcmd\mybar.bar -p %p -n %n -Т %Т

Вот прямо бери и вставляй. Smile

ЗЫ. И еще раз напоминаю - если некоторые кнопки не имеют переменных ТС (в твоем примере - 5-я и 22-я), то они прозрачны для TCMenu и абсолютно никаких телодвижений от юзера не требуют.
Back to top
View user's profile Send private message
Leopoldus



Joined: 22 Jan 2008
Posts: 45

Post (Separately) Posted: Mon Oct 06, 2008 21:08    Post subject: Reply with quote

Ага! Теперь, кажется, и до меня дошло Embarassed
Не слишком быстро, но лучше ведь поздно, чем никогда?
Спасибо, пошел настраивать кнопки!
Back to top
View user's profile Send private message
Leopoldus



Joined: 22 Jan 2008
Posts: 45

Post (Separately) Posted: Tue Oct 07, 2008 01:55    Post subject: Reply with quote

Почти все настроил, но не получается с кнопкой внешнего Lister-а. На оригинальном тулбаре в строке параметров этой кнопки прописано:
?%N
(открытие файла под курсором с запросом на подтверждение, все работает).
Обе переменных (? и %N) уже прописаны в параметрах кнопки TC Menu и работают для других кнопок. Но кнопка Lister на тулбар из TCMenu не работает: имя файла под курсором не вставляется автоматически в поле, предназначенное для имени открываемого файла, хотя чуть выше она в том же диалоге присутствует в качестве подзаголовка.
В чем может быть дело?

З.Ы.
Если вообще не имеет никакого значения порядок и пр., в котором идут переменные в строке параметров кнопки TC Menu, то не проще ли было бы сразу задать в коде TC Menu все возможные переменные TC, благо их не так уж много? Тогда пользователю оставалось бы ввести только имя тулбара...
Back to top
View user's profile Send private message
VadiMGP



Joined: 21 Mar 2007
Posts: 1625

Post (Separately) Posted: Tue Oct 07, 2008 02:31    Post subject: Reply with quote

Leopoldus wrote:
Обе переменных (? и %N) уже прописаны в параметрах кнопки TC Menu
Вопросительный знак - это не переменная! В параметры TCMenu выносятся только переменные - буквы со знаком процента.
Кроме того, после вопросительного знака должен быть пробел.

Leopoldus wrote:
не проще ли было бы сразу задать в коде TC Menu все возможные переменные
Не только не проще, а попросту невозможно. Откуда TCMenu может знать что именно в данный момент соответствует параметру %N, например???
Back to top
View user's profile Send private message
Leopoldus



Joined: 22 Jan 2008
Posts: 45

Post (Separately) Posted: Tue Oct 07, 2008 12:39    Post subject: Reply with quote

Quote:
Кроме того, после вопросительного знака должен быть пробел.

Вообще-то, в настройках этой кнопки на исходном тулбаре пробела не было - и она работала. Добавил пробел, теперь заработала и кнопка на вложенном тулбаре TC Menu. Smile

Однако в результате всех манипуляций перестали работать две другие кнопки на вложенном тулбаре TC Menu при открытии файлов с пробелами в именах.

Вот как выглядят рабочие параметры этих кнопок на исходном тулбаре:

Code:
Command:      C:\Program Files\Bred2\Bred2r.exe
Parameters:   ? %P%N

(должен открывать файл под курсором, например, C:\File name.ext в редакторе Bred2 с предварительным запросом, но вместо этого пытается открыть файл с именем C:\"File name.ext"

Code:
Command:   C:\Program Files\Bred3\bred3_2k.exe
Parameters: %P%N


(должен открывать файл под курсором, например, C:\File name.ext в редакторе Bred3 без предварительного запроса, но вместо этого пытается открыть файл с именем C:\"File - то есть, кавычки не на месте и теряется часть имени после пробела)

А вот строка параметров в кнопке TC Menu:
Code:
"C:\Program Files\TotalCmd_02\nested bar creator\bars\Bar_01.bar" -$ -P %P -N %N -p %p -n %n -t %t -m %m -L %L -F %F

Где может быть ошибка?
Back to top
View user's profile Send private message
VadiMGP



Joined: 21 Mar 2007
Posts: 1625

Post (Separately) Posted: Tue Oct 07, 2008 13:56    Post subject: Reply with quote

Это не ошибка, дело в том, что ТС имеет специальную обработку для некоторых параметров, когда они используются парами (например %P%N). А при запуске через TCMenu эта пара оказывается разорванной. Но почему ты используешь два формата - и %N %P и %n %p? Если тебя устраивают короткие имена файлов, то используй только %n %p. Тогда проблем быть не должно.
Если же тебе обязательно нужно использовать длинные имена файлов, то есть два пути.

1. Определить свою переменную, скажем %А. Тогда в кнопке будет
Code:
Command:   C:\Program Files\Bred3\bred3_2k.exe
Parameters: %A
, а в параметрах TCMenu надо добавить
Code:
-A %P%N


2. Создать команду em_xxx и использовать ее.

Quote:
Вообще-то, в настройках этой кнопки на исходном тулбаре пробела не было
Да, но если ты читал ридми, то мог обратить внимание на то, что TCMenu обрабатывает "?" не так как ТС. Wink
Back to top
View user's profile Send private message
Leopoldus



Joined: 22 Jan 2008
Posts: 45

Post (Separately) Posted: Tue Oct 07, 2008 22:19    Post subject: Reply with quote

Quote:
Но почему ты используешь два формата - и %N %P и %n %p? Если тебя устраивают короткие имена файлов, то используй только %n %p

При запросе на открытие файла хочется видеть, что именно открываешь, иначе нет смысла и вводить запрос. Для этого нужны длинные имена. А некоторые другие кнопки требуют, наоборот, коротких. Поэтому в параметрах TC Menu имеются обе пары.

Quote:
1. Определить свою переменную, скажем %А. Тогда в кнопке будет

Выглядит просто как магия Laughing И, главное, работает!
Но у этого варианта имеется недостаток: требуется корежить настройки кнопок исходного тулбара, в результате они, естественно, перестают работать. А иногда необходимо использовать именно оригинальный тулбар.
Так что, наверное, остается только второй вариант
Quote:
2. Создать команду em_xxx и использовать ее.

Так что пойду разбираться с em_xxx.

Спасибо за помощь! Кажется, я стал намного умнее... Wink
Back to top
View user's profile Send private message
kalikanzaros



Joined: 03 Jul 2007
Posts: 90

Post (Separately) Posted: Fri Jan 09, 2009 15:59    Post subject: Reply with quote

VadiMGP

Quote:
- Добавлена поддержка вложенных .bar файлов. Если выбранный пункт меню содержит только имя .bar файла, то этот .bar файл будет показан вместо текущего меню. Если в параметре также задано слово "menu", то этот .bar файл будет показан как меню второго уровня.


а можно пример файла в котором работает меню 2го уровня?
у меня получается сделать только показ вместо текущего меню...
Back to top
View user's profile Send private message
VadiMGP



Joined: 21 Mar 2007
Posts: 1625

Post (Separately) Posted: Fri Jan 09, 2009 23:34    Post subject: Reply with quote

Ну вот, например файл ex.bar
Code:
[Buttonbar]
ButtonCount=2
button1=%COMMANDER_PATH%\TOTALCMD.exe,1
cmd1=%COMMANDER_PATH%\DEFAULT.BAR
param1=
path1=
menu1=DEFAULT1
button2=%COMMANDER_PATH%\TOTALCMD.exe,1
cmd2=%COMMANDER_PATH%\DEFAULT.BAR
param2=menu
path2=
menu2=DEFAULT2

и, соответственно, кнопка
Code:
TOTALCMD#BAR#DATA
%COMMANDER_PATH%\TCMenu\TCMenu.exe
%%COMMANDER_PATH%%\ex.bar
%COMMANDER_PATH%\wciconex.dll,35
example


-1
Back to top
View user's profile Send private message
AlexNCH



Joined: 10 Jan 2009
Posts: 5

Post (Separately) Posted: Sat Jan 10, 2009 22:12    Post subject: Reply with quote

Приветствую!
Извиняюсь за возможное повторение, я первый раз на этом форуме.
Прежде всего хочу выразить автору данного плагина огромный респект! Весьма полезная утилита.

Пользуюсь TCMenu очень давно. Правда, кроме параметра "-$" других параметров никогда не использовал.
Понравился данный плагин (v.1.9) тем, что его можно было использовать как отдельную утилиту даже без Тотала. В качестве лаунчера программ. Причем, основным плюсом программы я считал тот факт, что программа постоянно не висит в памяти, а после отработки полностью выгружается. Можно вынести ярлык на рабочий стол и в качестве параметров указать путь к Вашему .bar файлу. Версия 1.9 прекрасно работает. Также можно повесить такой ярлык на панель быстрого запуска и Вы получите полноценное многоуровневое меню. Кроме того, я умудрился запускать такое меню по горячей клавише с помощью утилиты nncron.
Вчера, случайно попав на данный форум, узнал, что плагин развивается (еще раз респект автору) и уже существуют новые версии. Скачал и "прикрутил" к Тоталу новую версию. Но вот отдельно от Коммандера к сожалению новую версию пока не удалось приручить. Если запускать ярлыком (как описано выше), то меню запускается, но при попытке вызвать какую-нибудь программу TCMenu вылетает с ошибкой.
Буду весьма признателен если автор подскажет решение проблемы.
Back to top
View user's profile Send private message
VadiMGP



Joined: 21 Mar 2007
Posts: 1625

Post (Separately) Posted: Sat Jan 10, 2009 23:18    Post subject: Reply with quote

AlexNCH
За добрые слова спасибо.

Что касается вылетания, то нужно больше информации. Выложи сюда свой bar файл, и приведи текст сообщения об ошибке.

ЗЫ.
AlexNCH wrote:
Если запускать ярлыком (как описано выше)

Если ты просто скопировал пример из моего предыдущего поста, то он не будет работать без ТС, потому что там используется переменная окружения %COMMANDER_PATH%. Нужно либо определить ее вручную, либо прописать пути явно.
Back to top
View user's profile Send private message
AlexNCH



Joined: 10 Jan 2009
Posts: 5

Post (Separately) Posted: Sun Jan 11, 2009 00:23    Post subject: Reply with quote

VadiMGP wrote:
AlexNCH
Выложи сюда свой bar файл

Вот:
[Buttonbar]
ButtonCount=2
button1=E:\Soft\ImgBurn\ImgBurn.exe
cmd1=E:\Soft\ImgBurn\ImgBurn.exe
path1=E:\Soft\ImgBurn\
menu1=ImgBurn
button2=C:\Program Files\Nero\Nero8\Nero Burning Rom\nero.exe,0
cmd2=""C:\Program Files\Nero\Nero8\Nero Burning Rom\nero.exe""
path2=C:\Program Files\Nero\Nero8\Nero Burning Rom\
menu2=nero
[AlternativeCache]
CacheIndex1=0
CacheIndex2=1

VadiMGP wrote:
Если ты просто скопировал пример из моего предыдущего поста

Не копировал
Вот скрин ошибки:
Back to top
View user's profile Send private message
VadiMGP



Joined: 21 Mar 2007
Posts: 1625

Post (Separately) Posted: Sun Jan 11, 2009 01:14    Post subject: Reply with quote

AlexNCH
А в ярлыке запуска имя bar файла указано в абсолютном виде (полный путь) или относительно стартовой директории. Если указано относительное имя, то попробуй указать полный путь.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Плагины Total Commander All times are GMT + 4 Hours
Goto page Previous  1, 2, 3 ... 14, 15, 16 ... 21, 22, 23  Next
Page 15 of 23

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group