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, 4, 5 ... 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: Sun Mar 25, 2007 21:54    Post subject: Reply with quote

Quote:
Если убрать пробел, кнопка перестает работать.
Вообще-то, наоборот, я сказал убрать пробел, чтобы кнопка, которая сейчас не работает начала работать.
Back to top
View user's profile Send private message
borisin



Joined: 03 Nov 2006
Posts: 26

Post (Separately) Posted: Sun Mar 25, 2007 22:38    Post subject: Reply with quote

Если убрать пробел, то кнопка перестает работать и на обычной панели. Через TCMenu ни с каким из вариантов не работает.
Back to top
View user's profile Send private message
VadiMGP



Joined: 21 Mar 2007
Posts: 1625

Post (Separately) Posted: Sun Mar 25, 2007 22:53    Post subject: Reply with quote

Quote:
Если убрать пробел, то кнопка перестает работать и на обычной панели
Речь шла о кнопке с командой "C:\Program Files\WinRAR\WinRAR.exe" с пробелом после кавычек, так? Если убрать пробел, то остается только "C:\Program Files\WinRAR\WinRAR.exe".
Ты хочешь сказать, что это из ТС не запускается???
Back to top
View user's profile Send private message
borisin



Joined: 03 Nov 2006
Posts: 26

Post (Separately) Posted: Sun Mar 25, 2007 23:20    Post subject: Reply with quote

Вот кнопка о которой мы говорим:

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".
Rolling Eyes Поясните пожалуйста подробней.

Last edited by borisin on Sun Mar 25, 2007 23:33; edited 1 time in total
Back to top
View user's profile Send private message
VadiMGP



Joined: 21 Mar 2007
Posts: 1625

Post (Separately) Posted: Sun Mar 25, 2007 23:31    Post subject: Reply with quote

А-а-а. "В конце команды" я имел в виду в конце того, что является командой (чтобы отличить от того, что является параметрами команды). Команда здесь - это "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
View user's profile Send private message
borisin



Joined: 03 Nov 2006
Posts: 26

Post (Separately) Posted: Sun Mar 25, 2007 23:37    Post subject: Reply with quote

И где я должен убрать пробел? в команде: "C:\Program Files\WinRAR\WinRAR.exe" после кавычек ни какого пробела у меня не было. C чего вы взяли?
Back to top
View user's profile Send private message
borisin



Joined: 03 Nov 2006
Posts: 26

Post (Separately) Posted: Sun Mar 25, 2007 23:48    Post subject: Reply with quote

Ну и чем Ваша кнопка отличается от той о которой писал я, кроме того, что WinRar у меня находиться на диске С, а у Вас на D.

VadiMGP wrote:
Странно, у меня все заработало. Я же не просто так отписался, я проверил перед тем как писать.

Странно все это. Rolling Eyes Wink
Видимо у меня с виндой что-то не в порядке, или с руками. Интересно, что скажут другие, кому эта программа интересна, работают ли у них эти кнопки о которых идет речь.
Back to top
View user's profile Send private message
VadiMGP



Joined: 21 Mar 2007
Posts: 1625

Post (Separately) Posted: Mon Mar 26, 2007 00:16    Post subject: Reply with quote

Quote:
И где я должен убрать пробел? в команде: "C:\Program Files\WinRAR\WinRAR.exe"
Пробел есть, в конце. Посмотри внимательно в .bar файл или через диалог редактирования команды. В .bar файле есть строка
Code:
cmd3=""C:\Program Files\WinRAR\WinRAR.exe" "
Она заключена в две пары кавычек, внешняя пара при чтении из .bar файла отбрасывается. Теперь видишь, о каком пробеле я говорил?
Quote:
Ну и чем Ваша кнопка отличается от той о которой писал я,
Внешне - да, разницу в один пробел заметить трудно. Smile А при втавке из клипборда - практически невозможно. Именно поэтому я решил не копировать ее из клипборда, а написать, что в ней надо сделать.
Back to top
View user's profile Send private message
borisin



Joined: 03 Nov 2006
Posts: 26

Post (Separately) Posted: Mon Mar 26, 2007 00:30    Post subject: Reply with quote

Вот 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
View user's profile Send private message
borisin



Joined: 03 Nov 2006
Posts: 26

Post (Separately) Posted: Mon Mar 26, 2007 01:04    Post subject: Reply with quote

Эта кнопка заработала: Very Happy

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
Что касается этой кнопки - виноваты кривые руки, был не внимателен.

Остальные кнопки не работают. Crying or Very sad
Back to top
View user's profile Send private message
borisin



Joined: 03 Nov 2006
Posts: 26

Post (Separately) Posted: Mon Mar 26, 2007 01:18    Post subject: Reply with quote

Если в имени архива есть пробел, то выскакивает окно: "Архивы не найдены" Crying or Very sad
Back to top
View user's profile Send private message
Worros



Joined: 19 Jan 2007
Posts: 1123

Post (Separately) Posted: Mon Mar 26, 2007 12:52    Post subject: Reply with quote

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

Что касается "архивы не найдены" - проверить особо внимательно написание -Буква и %Буква с большой или маленькой буквы. Это определяет применение короткого или длинного имени.
_________________
педофилия, каннибализм, бетономешалка !!!
Back to top
View user's profile Send private message
VadiMGP



Joined: 21 Mar 2007
Posts: 1625

Post (Separately) Posted: Mon Mar 26, 2007 13:53    Post subject: Reply with quote

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. Для крутых. Smile Вводить собственные параметры. В ридми есть пример с параметром %А
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
View user's profile Send private message
CaptainFlint



Joined: 14 Dec 2004
Posts: 6193
Location: Москва

Post (Separately) Posted: Tue May 29, 2007 01:34    Post subject: Reply with quote

VadiMGP
Есть предложение по TCmenu.
Одна из самых раздражающих "фич": при активной работе, когда мышь двигается быстро, меню появляется не там, где должно. Собственно, предложение разбивается на два:

1. Если после щелчка по кнопке, активирующей TCmenu, я быстро увожу мышь куда-нибудь, меню появляется очень далеко как от изначального положения щелчка, так и от текущего положения курсора мыши. Если первое я ещё могу понять (пока программа загрузится и сможет получить положение указателя, мышь уже успевает сдвинуться), то второе выглядит совсем странно. Чаще всего в этой ситуации меню появляется где-то внизу экрана. Хорошо бы это пофиксить.

2. Более удачной мне кажется следующая идея: запоминать положение кнопки на панели инструментов и показывать меню всегда около неё, независимо от того, куда успела убежать мышь. К сожалению, идеального способа предложить не могу. Вот придуманные мной варианты:
а) Если при щелчке по кнопке нажата какая-нибудь клавиша-модификатор (Shift, скажем, или Ctrl, или просто ScrollLock включён), TCmenu использует текущее положение указателя мыши, чтобы запомнить расположение своей кнопки относительно окна Тотала (пользователь должен гарантировать, что мышь в этой ситуации, действительно, находится там, где кнопка - иначе пусть пеняет на себя). При дальнейших вызовах (без клавиши-модификатора) TCmenu просто отображается в той позиции, что была сохранена ранее. Надо только более чётко продумать поведение, когда в панели Тотала несколько TCmenu-шных кнопок.
б) Гораздо более сложный вариант, но, возможно, более точный: анализировать BAR-файл, открытый Тоталом в данный момент, и на основе его содержимого, а также на основе настроек, считанных из wincmd.ini (таких как размер кнопок) вычислять текущее положение кнопки независимо от положения курсора мыши. Для ускорения работы результаты можно кэшировать, а обновлять их либо при вызове с тем же модификатором (Shift/Ctrl/ScrollLock), либо при изменении даты/времени BAR-файла (считаем, что размеры панелей меняются не так уж и часто: обычно пользователь выбирает самый удобный размер и пользуется только им).
_________________
Почему же, ё-моё, ты нигде не пишешь "ё"?
Back to top
View user's profile Send private message
VadiMGP



Joined: 21 Mar 2007
Posts: 1625

Post (Separately) Posted: Tue May 29, 2007 04:48    Post subject: Reply with quote

CaptainFlint
По первому пункту.
Такое может происходить в двух случаях. Первый - ты щелкнул мышью и быстро отвел ее в сторону. Когда TCMenu запрашивает положение курсора то вполне вероятно, что она может получить некоторое промежуточное положение между позицией клика и конечной позицией мыши. В этом случае я ничего не могу сделать - какую позицию мне дали - с той и работаю.
Но возможна и другая ситуация - ты подвел курсор слишком близко к краю экрана. А тутуже вмешивается Windows!
Если курсор находится близко к краю экрана, и винда считает, что меню таких размеров тут показать нельзя, то меню может появиться где угодно (хоть в ботинке, как неразменный пятак). У винды есть свои, никому неведомые соображения насчет того, где в таких случаях показывать меню. Во всяком случае, в таких ситуациях она (винда) плюет на параметры TrackPopupMenu с высокой колокольни.
Я, вообще-то, пытаюсь это учитывать, но возможно где-то просчитался. Чтобы сказать наверняка мне нужен полный скриншот экрана (с мышиным курсором), резолюция экрана, а также фонт (имя, скрипт и размер), которым рисуется меню.

По второму пункту. Эх, не сыпь мне соль... Меня самого это раздражает, только сделать я ничего не могу.
Запоминать положение кнопки на пенели - хотя и муторно, но можно. Проблема в другом - в нескольких менюшных кнопках на панели. Чтобы правильно позиционировать меню, мне надо знать по какой кнопке меня запустили. Единственный индикатор - мышь, а она удрала (не дай бог, еще и в окно другой копии TC).
Возьмем даже твой более сложный вариант. Хорошо, прочитал я, например, default.bar и теперь знаю, что в нем три кнопки c TCMenu. Одна, допустим, крайняя слева, другая - четвертая по счету, третья - крайняя справа. Как я узнаю, по какой именно кнопке меня запустили? Где позиционировать меню?

ЗЫ. Из всех способов, которые приходили мне в голову, мне представляется только один может решить эту проблему. Надо сделать "плагин", заменяющий в ТС панель инструментов, на новую, которая сама будет поддерживать выпадающие меню из своих кнопок.
Есть, разумеется, еще мизерный шанс, что Гислер сам реализует это, но, по прошествии более чем десяти лет, мне уже не верится в это. Wink
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, 4, 5 ... 21, 22, 23  Next
Page 4 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