Страница 4 из 9
Добавлено: Ср ноя 03, 2010 21:00
sa
Значения TCS.Pause=600 перед Key = ... оказалось уже достаточно для решения вопроса. Спасибо за совет!
Добавлено: Чт ноя 04, 2010 03:02
Flasher
В общем,
подправил скрипт. Теперь будет работать в архивах, в системных плагинах, в виртуальной папке "Рабочий стол".
Для виртуальной папки "Панель управления"(
cm_OpenControls) и "Сеть"(
cm_OpenNetwork) не делал, т.к. там нет смысла двигать сепаратор, для "Шрифты"(
cm_OpenFonts) также не стал делать, потому что быстрый просмотр в ней всё равно не работает.
Добавлено: Пт ноя 05, 2010 15:48
HEXFIX
Flasher
Подскажи, пожалуйста, как изменить процентное соотношение сдвига?
Т.е. чтобы панельки сдвигались чуть поменьше... я полный нуб в этих делах
Надеюсь, что понятно объяснил

Добавлено: Пт ноя 05, 2010 16:40
Tol!k
Flasher писал(а): TCS.Separator=15
...
TCS.Separator=85
Неужели непонятно
50 – это по-серединке; 25 и 75 будут 1/4 и 3/4 окна
Добавлено: Пт ноя 05, 2010 19:52
HEXFIX
Tol!k
Спасибо.
OFFTOPIC
Неужели непонятно
Ага, непонятно - не программист и с Total Commander познакомился совсем недавно.
В любом случае, одним из предназначений форума является помощь таким вот непонятливым, разве нет?
Добавлено: Пт ноя 05, 2010 20:18
Flasher
HEXFIX
То, что выделено зелёном цветом, ИМХО, вполне очевидно воспринимается как изменяемые значения. TCS.Separator(сепаратор) уже в своём названии несёт суть разделителя панелей.
[off]
Форум предназначен для обсуждения, это не техподдержка, и все его пользователи имеют равнозначные позиции, каждый сам выбирает, помогать или нет. Главное, чтобы сказанное было по делу и с учётом правил. Поскольку ответ дан, не вижу смысла в споре.
[/off]
Добавлено: Пт ноя 05, 2010 20:21
Avada
HEXFIX писал(а):Ага, непонятно - не программист и с Total Commander познакомился совсем недавно.
В любом случае, одним из предназначений форума является помощь таким вот непонятливым, разве нет?
[off]
С некоторыми оговорками. В частности, для того, чтобы догадаться, что для получения другого сдвига надо указать другие значения, диплом программиста и многолетний опыт освоения программы в общем и целом необязательны.
Кстати, и я не программист, и очень многие другие тут тоже.
[/off]
Добавлено: Пт ноя 05, 2010 20:40
HEXFIX
Ещё раз спасибо за помощь, не будем оффтопить
Flasher писал(а):
Поскольку ответ дан, не вижу смысла в споре.
Добавлено: Пн ноя 08, 2010 09:52
Flasher
Доработал скрипт, теперь работает почти везде кроме вышеупомянутой
cm_OpenFonts и панели с результатами поиска из разных каталогов, с этим уже точно ничего нельзя сделать. Исправлена проблема с глубиной структуры открытого архива.
Добавлено: Ср ноя 10, 2010 21:34
Flasher
Эх, что'ж мне никто не подсказал.. Оказалось всё гораздо проще, чем я думал:
Код: Выделить всё
' Уменьшить ширину активной панели
' Параметры %P%N %T%M %X%P%N %Z
' Необходима регистрация "Script helper ActiveX for TC"
' Автор - Flasher (c)
'=================================
With CreateObject("TCScript.Helper")
If .Separator<>50 Or _
WScript.Arguments(0)=WScript.Arguments(1) Then
.SendCommand "cm_50Percent"
Else
If WScript.Arguments(0)=WScript.Arguments(2) Then
.Separator=15
Else
.Separator=85
End If
End If
End With
Теперь правильно работает везде, во всех виртуальных папках, архивах и результатах поиска. При случае, когда пути в файловых панелях совпадают, обратите внимание, чтобы текущее положение курсора не совпадало с обеих сторон.
sa
Теперь никакие таймауты не потребуются.

Добавлено: Ср ноя 10, 2010 21:55
Flasher
В принципе я могу сделать вот какую штуку: если пути одинаковые, то путь в панели получателя будет сменяться на предшествующий, и тогда произойдёт сдвиг сепаратора в нужную сторону. Это кому-нибудь надо?
Добавлено: Чт ноя 11, 2010 00:02
sa
Flasher писал(а):кроме случая с одинаковыми путями в двух панелях
Если в параметрах дополнить пути именами файлов
, вероятность правильного срабатывания не увеличится?
PS Для работы с файлами/каталогами, содержащими пробелы, добавил обрамляющие кавычки.
Добавлено: Чт ноя 11, 2010 00:17
Flasher
sa

У тебя какие-то проблемы с правильным срабатыванием возникли?
Предложенный случай не подходит, ибо при постановке курсора на элементе [..] будет неправильно считываться путь и сервер сценариев выдаст ошибку. Я пробовал применять %N для результатов поиска, потому что там он возвращает полный путь к файлу под курсором, в то время как %P не сработает, но для общего случая это не подойдёт, и не понятно, зачем он вообще тут нужен, мы же пути текущих каталогов сравниваем.
Добавлено: Чт ноя 11, 2010 00:28
sa
Flasher писал(а):У тебя какие-то проблемы с правильным срабатыванием возникли?
Да вроде ты сам проблему обозначил:
Flasher писал(а):Теперь правильно работает везде, во всех виртуальных папках, архивах и результатах поиска кроме случая с одинаковыми путями в двух панелях.
Flasher писал(а):и сервер сценариев выдаст ошибку.
Пробовал с предложенными мной параметрами?
Добавлено: Чт ноя 11, 2010 00:36
Flasher
А если ты только об одинаковых путях, то иначе, чем с предложенным мной способом или с опять-таки с записью/чтением секций истории тут не получится, и там не всё так просто, как кажется, муторно это. С твоими параметрами даже пробовать не буду, пускай, если и сценарий не покажет ошибку, то скрипт всё равно будет неправильно работать из правой панели.