View previous topic :: View next topic |
Author |
Message |
VadiMGP
Joined: 21 Mar 2007 Posts: 1625
|
(Separately) Posted: Sun Mar 25, 2007 21:54 Post subject: |
|
|
Quote: | Если убрать пробел, кнопка перестает работать. | Вообще-то, наоборот, я сказал убрать пробел, чтобы кнопка, которая сейчас не работает начала работать. |
|
Back to top |
|
 |
borisin
Joined: 03 Nov 2006 Posts: 26
|
(Separately) Posted: Sun Mar 25, 2007 22:38 Post subject: |
|
|
Если убрать пробел, то кнопка перестает работать и на обычной панели. Через TCMenu ни с каким из вариантов не работает. |
|
Back to top |
|
 |
VadiMGP
Joined: 21 Mar 2007 Posts: 1625
|
(Separately) Posted: Sun Mar 25, 2007 22:53 Post subject: |
|
|
Quote: | Если убрать пробел, то кнопка перестает работать и на обычной панели | Речь шла о кнопке с командой "C:\Program Files\WinRAR\WinRAR.exe" с пробелом после кавычек, так? Если убрать пробел, то остается только "C:\Program Files\WinRAR\WinRAR.exe".
Ты хочешь сказать, что это из ТС не запускается??? |
|
Back to top |
|
 |
borisin
Joined: 03 Nov 2006 Posts: 26
|
(Separately) Posted: Sun Mar 25, 2007 23:20 Post subject: |
|
|
Вот кнопка о которой мы говорим:
TOTALCMD#BAR#DATA
"C:\Program Files\WinRAR\WinRAR.exe"
x "%P%N" "%P%O\"
C:\wincmd\WCMICONS.DLL,31
Извлечь в папку с именем архива
Вы сказали:
Quote: | Во-первых, в конце команды, после кавычек, есть пробелы. Я могу в следующей версии их скипнуть, конечно, но пока - убери.
|
в конце команды, после кавычек, т.е. я так понимаю, что пробел надо убрать в этой строке: x "%P%N" "%P%O\"
Если пробел здесь убрать, то кнопка не работает.
p.s. Quote: | Речь шла о кнопке с командой "C:\Program Files\WinRAR\WinRAR.exe" с пробелом после кавычек, так? Если убрать пробел, то остается только
"C:\Program Files\WinRAR\WinRAR.exe". | Поясните пожалуйста подробней.
Last edited by borisin on Sun Mar 25, 2007 23:33; edited 1 time in total |
|
Back to top |
|
 |
VadiMGP
Joined: 21 Mar 2007 Posts: 1625
|
(Separately) Posted: Sun Mar 25, 2007 23:31 Post subject: |
|
|
А-а-а. "В конце команды" я имел в виду в конце того, что является командой (чтобы отличить от того, что является параметрами команды). Команда здесь - это "C:\Program Files\WinRAR\WinRAR.exe" , а остальное - ее параметры. Так же как в диалоге редактирования кнопки есть поле "Команда", а есть поле "Параметры".
Вот моя кнопка, работает и в ТС и в TCMenu.
--------------------------
TOTALCMD#BAR#DATA
"D:\Program Files\WinRAR\WinRAR.exe"
x "%P%N" "%P%O\"
D:\wincmd\WCMICONS.DLL,31
Извлечь в папку с именем архива
-1
----------------------------------- |
|
Back to top |
|
 |
borisin
Joined: 03 Nov 2006 Posts: 26
|
(Separately) Posted: Sun Mar 25, 2007 23:37 Post subject: |
|
|
И где я должен убрать пробел? в команде: "C:\Program Files\WinRAR\WinRAR.exe" после кавычек ни какого пробела у меня не было. C чего вы взяли? |
|
Back to top |
|
 |
borisin
Joined: 03 Nov 2006 Posts: 26
|
(Separately) Posted: Sun Mar 25, 2007 23:48 Post subject: |
|
|
Ну и чем Ваша кнопка отличается от той о которой писал я, кроме того, что WinRar у меня находиться на диске С, а у Вас на D.
VadiMGP wrote: | Странно, у меня все заработало. Я же не просто так отписался, я проверил перед тем как писать.
|
Странно все это.
Видимо у меня с виндой что-то не в порядке, или с руками. Интересно, что скажут другие, кому эта программа интересна, работают ли у них эти кнопки о которых идет речь. |
|
Back to top |
|
 |
VadiMGP
Joined: 21 Mar 2007 Posts: 1625
|
(Separately) Posted: Mon Mar 26, 2007 00:16 Post subject: |
|
|
Quote: | И где я должен убрать пробел? в команде: "C:\Program Files\WinRAR\WinRAR.exe" | Пробел есть, в конце. Посмотри внимательно в .bar файл или через диалог редактирования команды. В .bar файле есть строка Code: | cmd3=""C:\Program Files\WinRAR\WinRAR.exe" " | Она заключена в две пары кавычек, внешняя пара при чтении из .bar файла отбрасывается. Теперь видишь, о каком пробеле я говорил?
Quote: | Ну и чем Ваша кнопка отличается от той о которой писал я, | Внешне - да, разницу в один пробел заметить трудно. А при втавке из клипборда - практически невозможно. Именно поэтому я решил не копировать ее из клипборда, а написать, что в ней надо сделать. |
|
Back to top |
|
 |
borisin
Joined: 03 Nov 2006 Posts: 26
|
(Separately) Posted: Mon Mar 26, 2007 00:30 Post subject: |
|
|
Вот bar-файл. Ни каких пробелов нет.
[Buttonbar]
Buttoncount=2
button1=wcmicons.dll,15
cmd1=C:\Program Files\wincmd\default.bar
button2=C:\Program Files\WinRAR\WinRAR.exe
cmd2=""C:\Program Files\WinRAR\WinRAR.exe""
param2=x "%P%N" "%P%O\"
menu2=Извлечь в папку с именем архива
ошибка: Missing parameter '%P' |
|
Back to top |
|
 |
borisin
Joined: 03 Nov 2006 Posts: 26
|
(Separately) Posted: Mon Mar 26, 2007 01:04 Post subject: |
|
|
Эта кнопка заработала:
TOTALCMD#BAR#DATA
"D:\Program Files\WinRAR\WinRAR.exe"
x "%P%N" "%P%O\"
D:\wincmd\WCMICONS.DLL,31
Извлечь в папку с именем архива
Ошибка у меня была в этом пути:
У меня было прописано, то что Вы рекомендовали первый раз:
C:\wincmd\TCMenu\bar.bar -N %N -T %T -O %O
А надо было - Ваша вторая рекомендация:
C:\wincmd\TCMenu\bar.bar -N %N -T %T -O %O -P %P -F %F
Что касается этой кнопки - виноваты кривые руки, был не внимателен.
Остальные кнопки не работают.  |
|
Back to top |
|
 |
borisin
Joined: 03 Nov 2006 Posts: 26
|
(Separately) Posted: Mon Mar 26, 2007 01:18 Post subject: |
|
|
Если в имени архива есть пробел, то выскакивает окно: "Архивы не найдены"  |
|
Back to top |
|
 |
Worros
Joined: 19 Jan 2007 Posts: 1123
|
(Separately) Posted: Mon Mar 26, 2007 12:52 Post subject: |
|
|
Конкретно этими кнопками не пользуюсь, другие "наворочанные" работают отлично. Если что-то сходу не запускается, в 100% случаев это руки,выясняется на свежую голову через день.
Что касается "архивы не найдены" - проверить особо внимательно написание -Буква и %Буква с большой или маленькой буквы. Это определяет применение короткого или длинного имени. _________________ педофилия, каннибализм, бетономешалка !!! |
|
Back to top |
|
 |
VadiMGP
Joined: 21 Mar 2007 Posts: 1625
|
(Separately) Posted: Mon Mar 26, 2007 13:53 Post subject: |
|
|
Quote: | Если в имени архива есть пробел, | Черт, тут действительно с кавычками проблемка из-за того, что ТС некоторые параметры (%Р, %N) сам заключает в кавычки, если в них есть пробел, а некоторые (%О) - нет.
Есть несколько вариантов обойти это.
1. Как сказал Worros, если некритично, то использовать строчные, а не прописные буквы (%р, %о и т.п.)
2. Поменять в параметрах запуска TCmenu -O %O на -O "%O", а в кнопке запуска Winrar прописать параметры x %P%N %P%O\.
Должно получиться так
------------------------------------------------
TOTALCMD#BAR#DATA
D:\Program Files\WinRAR\WinRAR.exe
x %P%N %P%O\
D:\wincmd\WCMICONS.DLL,31
Извлечь в папку с именем архива
-1
------------------------------------------------
3. Для крутых. Вводить собственные параметры. В ридми есть пример с параметром %А Code: | Тот же результат дает другое определение. Файл MyEditors.bar содержит команду
"Notepad.exe %A" , а параметры для TCmenu: "C:\Wincmd\MyEditors.bar -A %p%n"
| При этом способе кнопка запуска TCMenu будет содержать также -A %P%N -B "%P%O"\. А кнопка запуска Winrar будет такой
------------------------------------------------
TOTALCMD#BAR#DATA
D:\Program Files\WinRAR\WinRAR.exe
x %A %B
D:\wincmd\WCMICONS.DLL,31
Извлечь в папку с именем архива 2
-1
-----------------------------------------
Понятно, что в случае способов 2 или 3 такая кнопка, уже не будет работать в панели самого ТС.
PS. Вообще, подстановка и передача параметров проходит кучу этапов. ТС ->Windows -> TCMenu -> Windows -> <запускаемая программа> На каждом шаге могут быть свои заморочки. В таких случаях, когда натыкаешься на сообщение запускаемой программы (типа "архив не найден") очень помогает простенький .bat файл
Code: | echo %1
echo %2
echo %3
echo %4
echo %5
echo %6
echo %7
echo %8
echo %9
pause
|
Подставляешь временно его вместо запускаемой программы и сразу видишь с какими параметрами она вызывается. |
|
Back to top |
|
 |
CaptainFlint

Joined: 14 Dec 2004 Posts: 6193 Location: Москва
|
(Separately) Posted: Tue May 29, 2007 01:34 Post subject: |
|
|
VadiMGP
Есть предложение по TCmenu.
Одна из самых раздражающих "фич": при активной работе, когда мышь двигается быстро, меню появляется не там, где должно. Собственно, предложение разбивается на два:
1. Если после щелчка по кнопке, активирующей TCmenu, я быстро увожу мышь куда-нибудь, меню появляется очень далеко как от изначального положения щелчка, так и от текущего положения курсора мыши. Если первое я ещё могу понять (пока программа загрузится и сможет получить положение указателя, мышь уже успевает сдвинуться), то второе выглядит совсем странно. Чаще всего в этой ситуации меню появляется где-то внизу экрана. Хорошо бы это пофиксить.
2. Более удачной мне кажется следующая идея: запоминать положение кнопки на панели инструментов и показывать меню всегда около неё, независимо от того, куда успела убежать мышь. К сожалению, идеального способа предложить не могу. Вот придуманные мной варианты:
а) Если при щелчке по кнопке нажата какая-нибудь клавиша-модификатор (Shift, скажем, или Ctrl, или просто ScrollLock включён), TCmenu использует текущее положение указателя мыши, чтобы запомнить расположение своей кнопки относительно окна Тотала (пользователь должен гарантировать, что мышь в этой ситуации, действительно, находится там, где кнопка - иначе пусть пеняет на себя). При дальнейших вызовах (без клавиши-модификатора) TCmenu просто отображается в той позиции, что была сохранена ранее. Надо только более чётко продумать поведение, когда в панели Тотала несколько TCmenu-шных кнопок.
б) Гораздо более сложный вариант, но, возможно, более точный: анализировать BAR-файл, открытый Тоталом в данный момент, и на основе его содержимого, а также на основе настроек, считанных из wincmd.ini (таких как размер кнопок) вычислять текущее положение кнопки независимо от положения курсора мыши. Для ускорения работы результаты можно кэшировать, а обновлять их либо при вызове с тем же модификатором (Shift/Ctrl/ScrollLock), либо при изменении даты/времени BAR-файла (считаем, что размеры панелей меняются не так уж и часто: обычно пользователь выбирает самый удобный размер и пользуется только им). _________________ Почему же, ё-моё, ты нигде не пишешь "ё"? |
|
Back to top |
|
 |
VadiMGP
Joined: 21 Mar 2007 Posts: 1625
|
(Separately) Posted: Tue May 29, 2007 04:48 Post subject: |
|
|
CaptainFlint
По первому пункту.
Такое может происходить в двух случаях. Первый - ты щелкнул мышью и быстро отвел ее в сторону. Когда TCMenu запрашивает положение курсора то вполне вероятно, что она может получить некоторое промежуточное положение между позицией клика и конечной позицией мыши. В этом случае я ничего не могу сделать - какую позицию мне дали - с той и работаю.
Но возможна и другая ситуация - ты подвел курсор слишком близко к краю экрана. А тутуже вмешивается Windows!
Если курсор находится близко к краю экрана, и винда считает, что меню таких размеров тут показать нельзя, то меню может появиться где угодно (хоть в ботинке, как неразменный пятак). У винды есть свои, никому неведомые соображения насчет того, где в таких случаях показывать меню. Во всяком случае, в таких ситуациях она (винда) плюет на параметры TrackPopupMenu с высокой колокольни.
Я, вообще-то, пытаюсь это учитывать, но возможно где-то просчитался. Чтобы сказать наверняка мне нужен полный скриншот экрана (с мышиным курсором), резолюция экрана, а также фонт (имя, скрипт и размер), которым рисуется меню.
По второму пункту. Эх, не сыпь мне соль... Меня самого это раздражает, только сделать я ничего не могу.
Запоминать положение кнопки на пенели - хотя и муторно, но можно. Проблема в другом - в нескольких менюшных кнопках на панели. Чтобы правильно позиционировать меню, мне надо знать по какой кнопке меня запустили. Единственный индикатор - мышь, а она удрала (не дай бог, еще и в окно другой копии TC).
Возьмем даже твой более сложный вариант. Хорошо, прочитал я, например, default.bar и теперь знаю, что в нем три кнопки c TCMenu. Одна, допустим, крайняя слева, другая - четвертая по счету, третья - крайняя справа. Как я узнаю, по какой именно кнопке меня запустили? Где позиционировать меню?
ЗЫ. Из всех способов, которые приходили мне в голову, мне представляется только один может решить эту проблему. Надо сделать "плагин", заменяющий в ТС панель инструментов, на новую, которая сама будет поддерживать выпадающие меню из своих кнопок.
Есть, разумеется, еще мизерный шанс, что Гислер сам реализует это, но, по прошествии более чем десяти лет, мне уже не верится в это.  |
|
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
|