Страница 14 из 42

Добавлено: Вт май 11, 2010 18:37
AlexTex
Batya, большое спасибо!
Работает, но немного медленно: между нажатием на кнопку и созданием файла проходит ~3сек. Так должно быть или это что-то у меня косячит?

Добавлено: Ср май 12, 2010 09:21
Batya
AlexTex писал(а):между нажатием на кнопку и созданием файла проходит ~3сек.
Ты это время определил визуально, когда файл стал виден в панели?
Может автообновление не моментально показывает новый файл?
Есть ещё вариант - укажи для скрипта третий параметр %L. На работу скрипта он не влияет, но TC всегда перечитывает панели после отработки кнопок, где в параметрах есть %L.
Ну и наконец, 3 секунды тебя сильно напрягают?

Добавлено: Ср май 12, 2010 20:34
laburj
есть команда cm_GotoDriveX, где X может быть любой буквой. Но эта команда срабатывает в активной панели, а как сделать, чтобы выполнялся переход в конкретной панели, например в левой?

Добавлено: Ср май 12, 2010 21:25
Flasher
laburj

Код: Выделить всё

Dim TCS
Set TCS = CreateObject("TCScript.Helper")
TCS.LockTC True
TCS.SendCommand "cm_GotoDriveX"
TCS.SendCommand "cm_TransferLeft"
TCS.SendCommand "cm_GotoPreviousDir"
Set TCS = Nothing
Wscript.Quit
в cm_GotoDriveX "X" - поменять на нужную букву диска.
<< Скрипт скорее шутка :mrgreen: См. правильный вариант у Batya через пост ниже.

Добавлено: Чт май 13, 2010 00:48
AlexTex
Batya писал(а):Ну и наконец, 3 секунды тебя сильно напрягают?
Нет, конечно, но с параметром %L - душа радуется :D
Batya, еще раз тебе огромное спасибо за помощь и не сердись за мою, может несколько излишнюю, дотошность. Иногда приставание с дурацкими вопросами к знающим людям дает плоды в виде приобретенных знаний.

P.S. Рано радовался - то работает, то "индекс выходит за пределы допустимого диапазона". Закономерность не выявлена. :(

Добавлено: Чт май 13, 2010 09:27
Batya
AlexTex писал(а):Рано радовался - то работает, то "индекс выходит за пределы допустимого диапазона".
Покажи параметры кнопки.

laburj
Кнопка TC писал(а):TOTALCMD#BAR#DATA
"%Commander_Path%\TOTALCMD.EXE" /O /L=X:\

wcmicons.dll,50
Показать слева диск X:


-1

Добавлено: Чт май 13, 2010 14:04
AlexTex
Batya писал(а):Покажи параметры кнопки.

Код: Выделить всё

%commander_path%\Service\Scripts\clipboard_text.vbs"
clip.txt 2 %L
%commander_path%\Icons\tc133.ico
Замечено следующее: работает, если папка не пуста и курсор находится на одном из файлов.
Без %L работает в любом случае.

Добавлено: Чт май 13, 2010 15:13
Batya
AlexTex
А, ну да. Я вспомнил. Особенность (баго-фича) - если курсор стоит на ".." и в параметрах есть %L, то параметры не передаются вообще, т.е. запуск совсем без параметров.
Так что %L лучше не использовать, а потерпеть несколько секунд ;)

Добавлено: Чт май 13, 2010 16:14
AlexTex
Ну, теперь все точки над "і" поставлены - "бум терпеть". :) Thanx!

Добавлено: Чт май 13, 2010 16:58
laburj
Flasher писал(а):Скрипт скорее шутка
спасибо! кстати не совсем шутка. я примерно что-то похожее и пытался сделать, только не нашёл команды перехода на левую панель. А то, что предложил Batya не совсем то, я так тоже пробовал.
Batya писал(а):Кнопка TC писал(а):
так тоже пробовал, но в этой ситуации при переключении на какой-либо диск - попадаешь в его корень. У команды cm_GotoDrive поведение другое, если только в настройках-основные операции- не стоит галка "при смене диска всегда переходить в корневой каталог", а у меня она снята)

Добавлено: Чт май 13, 2010 17:53
sa
Flasher писал(а):в cm_GotoDriveX "X" - поменять на нужную букву диска.
Скрипт работает. Не понял только, для чего введены строки

Код: Выделить всё

TCS.SendKeystroke "{END}"
TCS.Pause = 100
?

Добавлено: Чт май 13, 2010 18:28
Flasher
laburj
В любом случае мой скрипт сработает правильно, только если курсор уже будет в левой панели; если он в правой, то работает то так, то эдак в зависимости от глубины каталогов.
laburj писал(а):У команды cm_GotoDrive поведение другое
Верно, при описанном ключе с нулевым значением команда осуществляет переход в открытую в последний раз папку на указанном диске.
Добавлено: laburj, а чем так эта команда сдалась при вполне юзабильных табах и DirMenu?
sa писал(а):Скрипт работает. Не понял только, для чего введены строки
Действительно, можно убрать(исправил). Я не сообразил, что после команды cm_GotoDrive курсор встанет на первый элемент списка, просто команда cm_TransferLeft переводит папку под курсором в левую панель. Соответственно, если курсор встанет на файл либо на элемент перехода в родительский каталог, то команда сработает нужным образом.

Добавлено: Пт май 14, 2010 01:25
laburj
а чем так эта команда сдалась при вполне юзабильных табах и DirMenu?
хочу использовать как альтернативу alt+f1/f2 - т.е. выбору дисков левой/правой панелей. Дисков у меня обычно не больше 3х-4х и хочу повесить хоткеи alt+1/2/3/4 на диски c,d,e,f соответственно. Табами и DirMenu также пользуюсь, но это немного другое

Добавлено: Пт май 14, 2010 03:36
Flasher
laburj
Забудь про старые варианты >>

Код: Выделить всё

'==============================
'Открыть диск X: в левой панели
'==============================
Dim TCS
Set TCS = CreateObject("TCScript.Helper")
TCS.LockTC True
TCS.SendCommand "cm_FocusLeft"
TCS.SendCommand "cm_GotoDriveX"
Set TCS = Nothing
Wscript.Quit

Добавлено: Пт май 14, 2010 12:15
laburj
Flasher, спасибо
так и думал, что должна быть команда типа "cm_FocusLeft", но в "Разном" поискать её догадался