| View previous topic :: View next topic |
| Author |
Message |
VadiMGP
Joined: 21 Mar 2007 Posts: 1625
|
(Separately) Posted: Mon Oct 06, 2008 12:37 Post subject: |
|
|
В параметрах TCMenu надо собрать все переменные ТС, используемые в кнопках тулбара.
В твоем примере во 2-й кнопке присутствуют переменные %p%n, значит в параметрах TCMenu должно быть "-p %p -n %n".
5-я и 22-я кнопка не содержат переменных ТС и, поэтому, никак не влияют на параметры TCMenu.
Если же , допустим, в шестой кнопке используется переменная %Т, то ее надо добавить в параметры TCMenu - "-p %p -n %n -Т %Т". И т.д. |
|
| Back to top |
|
 |
Leopoldus

Joined: 22 Jan 2008 Posts: 45
|
(Separately) Posted: Mon Oct 06, 2008 20:16 Post subject: |
|
|
Спасибо, стало чуть более понятно, но все равно не до конца.
Как TCMenu определяет, к какой именно кнопке вложенного тулбара относятся переменные, указанные в строке параметров кнопки? Если бы синтаксис включал номер кнопки, то было бы ясно (например, "2:p %p -n %n"), но ничего такого нет. А как же тогда?
Ты не мог бы привести в качестве примера полную строку для нашего примера (то есть, тулбар из 30 кнопок, из которых переменные TC есть у 2-й и 6-й, а парамеры у 5-й и 22-й кнопок) в том виде, в котором она должна быть, чтобы ее можно было бы просто тупо скопировать и вставить в строку параметров кнопки. Потом я по этому образцу сделю остальное. |
|
| Back to top |
|
 |
VadiMGP
Joined: 21 Mar 2007 Posts: 1625
|
(Separately) Posted: Mon Oct 06, 2008 20:42 Post subject: |
|
|
| Leopoldus wrote: | | Как TCMenu определяет, к какой именно кнопке вложенного тулбара относятся переменные, |
Никак не определяет, это не требуется. %p - он и в Африке %p. Где бы он ни попался (хоть во всех кнопках подряд) все равно он будет заменен на одно и то же, а значит, в каких именно кнопках он стоит совершенно неважно.
| Leopoldus wrote: | | Ты не мог бы привести в качестве примера полную строку для нашего примера |
Так я ее и привел, практически полностью. Осталось только добавить вначале имя самого файла тулбара.
| Code: | c:\totalcmd\mybar.bar -p %p -n %n -Т %Т |
Вот прямо бери и вставляй.
ЗЫ. И еще раз напоминаю - если некоторые кнопки не имеют переменных ТС (в твоем примере - 5-я и 22-я), то они прозрачны для TCMenu и абсолютно никаких телодвижений от юзера не требуют. |
|
| Back to top |
|
 |
Leopoldus

Joined: 22 Jan 2008 Posts: 45
|
(Separately) Posted: Mon Oct 06, 2008 21:08 Post subject: |
|
|
Ага! Теперь, кажется, и до меня дошло
Не слишком быстро, но лучше ведь поздно, чем никогда?
Спасибо, пошел настраивать кнопки! |
|
| Back to top |
|
 |
Leopoldus

Joined: 22 Jan 2008 Posts: 45
|
(Separately) Posted: Tue Oct 07, 2008 01:55 Post subject: |
|
|
Почти все настроил, но не получается с кнопкой внешнего Lister-а. На оригинальном тулбаре в строке параметров этой кнопки прописано:
?%N
(открытие файла под курсором с запросом на подтверждение, все работает).
Обе переменных (? и %N) уже прописаны в параметрах кнопки TC Menu и работают для других кнопок. Но кнопка Lister на тулбар из TCMenu не работает: имя файла под курсором не вставляется автоматически в поле, предназначенное для имени открываемого файла, хотя чуть выше она в том же диалоге присутствует в качестве подзаголовка.
В чем может быть дело?
З.Ы.
Если вообще не имеет никакого значения порядок и пр., в котором идут переменные в строке параметров кнопки TC Menu, то не проще ли было бы сразу задать в коде TC Menu все возможные переменные TC, благо их не так уж много? Тогда пользователю оставалось бы ввести только имя тулбара... |
|
| Back to top |
|
 |
VadiMGP
Joined: 21 Mar 2007 Posts: 1625
|
(Separately) Posted: Tue Oct 07, 2008 02:31 Post subject: |
|
|
| Leopoldus wrote: | | Обе переменных (? и %N) уже прописаны в параметрах кнопки TC Menu | Вопросительный знак - это не переменная! В параметры TCMenu выносятся только переменные - буквы со знаком процента.
Кроме того, после вопросительного знака должен быть пробел.
| Leopoldus wrote: | | не проще ли было бы сразу задать в коде TC Menu все возможные переменные | Не только не проще, а попросту невозможно. Откуда TCMenu может знать что именно в данный момент соответствует параметру %N, например??? |
|
| Back to top |
|
 |
Leopoldus

Joined: 22 Jan 2008 Posts: 45
|
(Separately) Posted: Tue Oct 07, 2008 12:39 Post subject: |
|
|
| Quote: | | Кроме того, после вопросительного знака должен быть пробел. |
Вообще-то, в настройках этой кнопки на исходном тулбаре пробела не было - и она работала. Добавил пробел, теперь заработала и кнопка на вложенном тулбаре TC Menu.
Однако в результате всех манипуляций перестали работать две другие кнопки на вложенном тулбаре 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 |
|
 |
VadiMGP
Joined: 21 Mar 2007 Posts: 1625
|
(Separately) Posted: Tue Oct 07, 2008 13:56 Post subject: |
|
|
Это не ошибка, дело в том, что ТС имеет специальную обработку для некоторых параметров, когда они используются парами (например %P%N). А при запуске через TCMenu эта пара оказывается разорванной. Но почему ты используешь два формата - и %N %P и %n %p? Если тебя устраивают короткие имена файлов, то используй только %n %p. Тогда проблем быть не должно.
Если же тебе обязательно нужно использовать длинные имена файлов, то есть два пути.
1. Определить свою переменную, скажем %А. Тогда в кнопке будет | Code: | Command: C:\Program Files\Bred3\bred3_2k.exe
Parameters: %A | , а в параметрах TCMenu надо добавить
2. Создать команду em_xxx и использовать ее.
| Quote: | | Вообще-то, в настройках этой кнопки на исходном тулбаре пробела не было | Да, но если ты читал ридми, то мог обратить внимание на то, что TCMenu обрабатывает "?" не так как ТС.  |
|
| Back to top |
|
 |
Leopoldus

Joined: 22 Jan 2008 Posts: 45
|
(Separately) Posted: Tue Oct 07, 2008 22:19 Post subject: |
|
|
| Quote: | | Но почему ты используешь два формата - и %N %P и %n %p? Если тебя устраивают короткие имена файлов, то используй только %n %p |
При запросе на открытие файла хочется видеть, что именно открываешь, иначе нет смысла и вводить запрос. Для этого нужны длинные имена. А некоторые другие кнопки требуют, наоборот, коротких. Поэтому в параметрах TC Menu имеются обе пары.
| Quote: | | 1. Определить свою переменную, скажем %А. Тогда в кнопке будет |
Выглядит просто как магия И, главное, работает!
Но у этого варианта имеется недостаток: требуется корежить настройки кнопок исходного тулбара, в результате они, естественно, перестают работать. А иногда необходимо использовать именно оригинальный тулбар.
Так что, наверное, остается только второй вариант
| Quote: | | 2. Создать команду em_xxx и использовать ее. |
Так что пойду разбираться с em_xxx.
Спасибо за помощь! Кажется, я стал намного умнее...  |
|
| Back to top |
|
 |
kalikanzaros

Joined: 03 Jul 2007 Posts: 90
|
(Separately) Posted: Fri Jan 09, 2009 15:59 Post subject: |
|
|
VadiMGP
| Quote: | | - Добавлена поддержка вложенных .bar файлов. Если выбранный пункт меню содержит только имя .bar файла, то этот .bar файл будет показан вместо текущего меню. Если в параметре также задано слово "menu", то этот .bar файл будет показан как меню второго уровня. |
а можно пример файла в котором работает меню 2го уровня?
у меня получается сделать только показ вместо текущего меню... |
|
| Back to top |
|
 |
VadiMGP
Joined: 21 Mar 2007 Posts: 1625
|
(Separately) Posted: Fri Jan 09, 2009 23:34 Post subject: |
|
|
Ну вот, например файл 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 |
|
 |
AlexNCH
Joined: 10 Jan 2009 Posts: 5
|
(Separately) Posted: Sat Jan 10, 2009 22:12 Post subject: |
|
|
Приветствую!
Извиняюсь за возможное повторение, я первый раз на этом форуме.
Прежде всего хочу выразить автору данного плагина огромный респект! Весьма полезная утилита.
Пользуюсь TCMenu очень давно. Правда, кроме параметра "-$" других параметров никогда не использовал.
Понравился данный плагин (v.1.9) тем, что его можно было использовать как отдельную утилиту даже без Тотала. В качестве лаунчера программ. Причем, основным плюсом программы я считал тот факт, что программа постоянно не висит в памяти, а после отработки полностью выгружается. Можно вынести ярлык на рабочий стол и в качестве параметров указать путь к Вашему .bar файлу. Версия 1.9 прекрасно работает. Также можно повесить такой ярлык на панель быстрого запуска и Вы получите полноценное многоуровневое меню. Кроме того, я умудрился запускать такое меню по горячей клавише с помощью утилиты nncron.
Вчера, случайно попав на данный форум, узнал, что плагин развивается (еще раз респект автору) и уже существуют новые версии. Скачал и "прикрутил" к Тоталу новую версию. Но вот отдельно от Коммандера к сожалению новую версию пока не удалось приручить. Если запускать ярлыком (как описано выше), то меню запускается, но при попытке вызвать какую-нибудь программу TCMenu вылетает с ошибкой.
Буду весьма признателен если автор подскажет решение проблемы. |
|
| Back to top |
|
 |
VadiMGP
Joined: 21 Mar 2007 Posts: 1625
|
(Separately) Posted: Sat Jan 10, 2009 23:18 Post subject: |
|
|
AlexNCH
За добрые слова спасибо.
Что касается вылетания, то нужно больше информации. Выложи сюда свой bar файл, и приведи текст сообщения об ошибке.
ЗЫ.
| AlexNCH wrote: | | Если запускать ярлыком (как описано выше) |
Если ты просто скопировал пример из моего предыдущего поста, то он не будет работать без ТС, потому что там используется переменная окружения %COMMANDER_PATH%. Нужно либо определить ее вручную, либо прописать пути явно. |
|
| Back to top |
|
 |
AlexNCH
Joined: 10 Jan 2009 Posts: 5
|
(Separately) Posted: Sun Jan 11, 2009 00:23 Post subject: |
|
|
| 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 |
|
 |
VadiMGP
Joined: 21 Mar 2007 Posts: 1625
|
(Separately) Posted: Sun Jan 11, 2009 01:14 Post subject: |
|
|
AlexNCH
А в ярлыке запуска имя bar файла указано в абсолютном виде (полный путь) или относительно стартовой директории. Если указано относительное имя, то попробуй указать полный путь. |
|
| Back to top |
|
 |
|
|
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
|