Страница 3 из 3

Добавлено: Чт дек 01, 2005 12:43
bobius
Batya писал(а):Тогда выходит, что 10-я бетка гючит
Вот и мне так кажется...
Batya писал(а):И что-то я не понял, что ты потом пытаешься скопировать и куда?
Вместо распаковки я выполняю копирование нужного архива (это не критично - распакую потом), но не вставляю заранее заданный путь, а предварительно открываю каталог назначения в противоположной панели - как делал бы это руками. Этот каталог назначения висит на следующей вкладке правой панели.
Batya писал(а):Идеальный вариант - распаковывать при помощи WinRar.
Я об этом же думаю. Если копирование перестанет устраивать, сделаю так.

Добавлено: Чт дек 01, 2005 12:47
Volniy
Batya писал(а):Тогда выходит, что 10-я бетка гючит
Я думаю, что показ модального диалог распаковки сбрасывает блокировку окна Тотала. Наверное, надо указывать LockTC уже после закрытия диалога распаковки.

Я уже писАл, только может быть в старом форуме. Дело в том, что Тотал Коммандер совсем даже и не хочет чтобы им управляли. И, соответственно, не предоставляет никакого программного интерфейса для управления им (я даже не знаю откуда прознали о возможности отсыла ему внутренних команд через SendMessage, похоже это тоже недокументированная фича). И уж тем более, он никогда не сообщает результаты выполнения внешних команд. Так что все, что делает, ScriptHelper, он делает скорее вопреки чаяниям Тотала, и в какой-то мере это хак.

Поэтому я прошу не путать Script Helper с плагинами, где все происходит в тесном взаимодействии через специальное PluginsAPI и при полном взаимном согласии. Фактически все это означает, что при использовании любой комманды нужны проверять, а как же там на нее прореагировал этот Тотал.
Вот такие дела. :cry:

Добавлено: Чт дек 01, 2005 15:05
Batya
Volniy
ОК. Понято. Никто и не требует от Хэлпера невозможного.
(с) "Всё равно его не брошу, потому что он хороший!" :)

bobius
Вместо распаковки я выполняю копирование нужного архива (это не критично - распакую потом), но не вставляю заранее заданный путь, а предварительно открываю каталог назначения в противоположной панели - как делал бы это руками. Этот каталог назначения висит на следующей вкладке правой панели.
А зачем столько мучений? Зачем в TC открывать такой каталог?

Добавлено: Чт дек 01, 2005 16:46
bobius
Batya писал(а):ОК. Понято. Никто и не требует от Хэлпера невозможного.
Согласен. :)
Batya писал(а):А зачем столько мучений? Зачем в TC открывать такой каталог?
Я уже объяснял: изначально мы находимся в правой панели - это содержимое архива; первый таб переводит нас в левую панель; если после этого запустить копирование (по команде Copy), то ТС запустит диалог "Добавление в архив" - он думает, что мы собираемся копировать файл в архив. Поэтому я сначала делаю так, чтобы правая панель содержала обычный каталог.

Добавлено: Чт дек 01, 2005 17:47
Batya
bobius
Я уже объяснял: изначально мы находимся в правой панели - это содержимое архива; первый таб переводит нас в левую панель; если после этого запустить копирование (по команде Copy), то ТС запустит диалог "Добавление в архив" - он думает, что мы собираемся копировать файл в архив. Поэтому я сначала делаю так, чтобы правая панель содержала обычный каталог.
:) Этот способ называется "через одно место".
Только не обижайся. Просто ты выбрал действительно, мягко говоря, "не самый простой путь".
Во-первых, можно копировать средствами Windows. Во-вторых, можно воспользоваться сторонними программами (например, killcopy - рекомендую). Ну и наконец, очень просто обойтись средствами TC - надо послать не команду "Копировать" (ты, вероятно, просто генеришь нажатие F5), а послать команду "Копировать в текущий каталог" (Shift+F5). При этом никто тебе не запрещает сюда вставить путь (ограничение - каталог назначения уже должен существовать). И чтобы не мучиться с фоном, в wincmd.ini в секции [Configuration] укажи AlwaysCopyInBackground=1.
Примерный код:

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

Option Explicit
Dim MyDir
'=== Каталог для распаковки: ===
MyDir = "C:\Interesting"
'===============================
Dim TCS
Set TCS = CreateObject("TCScript.Helper")
TCS.LockTC True
TCS.SendKeystroke ("{Tab}")
TCS.SendCommand   ("cm_CopySamepanel")
TCS.SendKeystroke ("{HOME}" & MyDir & "\{Enter}")
TCS.SendCommand   ("cm_FocusRight")
TCS.LockTC False
Set TCS=Nothing
Wscript.Quit

Добавлено: Чт дек 01, 2005 18:35
bobius
Batya писал(а)::) Этот способ называется "через одно место".
Только не обижайся. Просто ты выбрал действительно, мягко говоря, "не самый простой путь".
Согласен. :) Это первое, что пришло в голову.
Batya писал(а):... надо послать не команду "Копировать" (ты, вероятно, просто генеришь нажатие F5)...
cm_Copy
Batya писал(а):... а послать команду "Копировать в текущий каталог" (Shift+F5). При этом никто тебе не запрещает сюда вставить путь (ограничение - каталог назначения уже должен существовать).
Кто ж знал... :)
Batya писал(а):... укажи AlwaysCopyInBackground=1.
Естественно, у меня в фоне всегда копирует.

Скрипт сегодня опробую, как с работы вернусь.

Добавлено: Чт дек 01, 2005 20:11
bobius
Работает. Изящно. На этом пока можно остановиться. Спасибо. :)

Добавлено: Чт июл 12, 2007 04:08
Ник
Хотелось бы, чтобы какой-нибудь архиваторный плагин всё-таки работал напрямую с <Ctrl-Q> и выдавал в противоположной панели список файлов...

Добавлено: Пт июл 13, 2007 12:15
Моторокер
Ник, со всеми подпапками?
А когда на какой-нибудь объёмный rar встанешь?
И чтобы перемещаться по ним можно было?
А потом ещё и копировать из них/в них?
А потом ещё и просматривать файлы?
А потом…
или просто список папок с подпапками, файлами?

Добавлено: Пт июл 13, 2007 12:43
Ник
Просто список в корневой папок и подпапок - для "узнавания" архива.

Можно даже выводить первые 30 директорий и первые 50 файлов и писать "и так далее".

Переходы делать бессмысленно - есть же вход в архивы как в директории - нужен, ИМХО, именно быстрый листер-плагин.

Добавлено: Пт июл 13, 2007 14:33
Моторокер
Можно задать ограничение по времени. Но первые файлы в архиве – это не первые видимые файлы и даже не папки, т.е. уже листер покажет корневую папку неверно, может даже вообще папки не показать. Будет ли это этого польза? Не будет ли это пугать?

Добавлено: Пт июл 13, 2007 15:48
Ник
Видимо, нужно для каждого типа архива продумывать свою стратегию показа...

Ведь нужен только список - без размера и дат (пока что).

В конце-концов, листер ArchView даёт полный список, насколько я помню - т.е. важен именно быстрый список "прикидочный".

Добавлено: Чт окт 05, 2017 05:13
i1
Появились ли с 2007 года плагины для решения поставленного вопроса для редакции Total Commander x64?

Добавлено: Чт окт 05, 2017 06:19
Avada
i1
Здесь по мере обсуждения ставились разные вопросы. И для их решения никто ничего специально с тех пор не писал. Включая и 64-битный аналог ArchView.