TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое

Обсуждение только плагинов и утилит для Total Commander.

Модераторы: Avada, CaptainFlint, Nik, d-view, Моторокер

sa
Сообщения: 2758
Зарегистрирован: Ср апр 29, 2009 18:56

Сообщение sa »

MVV писал(а):Да всё возможно
Теперь и в функции send можно обходиться без {DQ}.
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

Ай-яй-яй, вот и побочный эффект. :D
rust
Сообщения: 8
Зарегистрирован: Пт дек 27, 2013 08:49

Сообщение rust »

MVV, дополнительно по использованию %O. На самом деле рабочий код для выделения файлов вида File_XX, отличающихся счетчиком, выглядит так

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

[em_selByPartName]
button=
param=/ef "tcm(3312,1) send(`+(){DQ}^~(%O){BS 2}~*{DQ}{enter}`)"
cmd=%COMMANDER_PATH%\addons\tcfs2.exe
Бубны с + и ^ позволяют корректно работать с русскими именами, с PuntoSwitcher и позволяют вешать на клавишу с Shift (у меня Shift+плюс).
Конечно можно использовать буфер обмена

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

param=/ef "tcm(1007,1) send(`^c{ESC}`) delay(100) tcm(3312,1) send(`+(){DQ}^v{BS 2}~*{DQ}{enter}`)"
но в этом случае я теряю содержимое clipboard.
Без {DQ} с именами, содержащими пробелы, работать толком не будет :D
sa
Сообщения: 2758
Зарегистрирован: Ср апр 29, 2009 18:56

Сообщение sa »

rust писал(а):Без {DQ} с именами, содержащими пробелы, работать толком не будет
Заменил {DQ} на ". Работает!
Последний раз редактировалось sa Пн янв 20, 2014 13:39, всего редактировалось 1 раз.
rust
Сообщения: 8
Зарегистрирован: Пт дек 27, 2013 08:49

Сообщение rust »

Действительно работает, пойду просить новую клавиатуру, на моей нет “ или все-таки {DQ} оставить :D
sa
Сообщения: 2758
Зарегистрирован: Ср апр 29, 2009 18:56

Сообщение sa »

rust писал(а):на моей нет “
Исправил. Я там из Word-а чего-то накопировал.
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

Так, ну хватит, пока заменять {DQ} на кавычку можно лишь в новой бета-версии, в старых надо писать {DQ}.

rust,
По выделению я на оффоруме написал, как обойти проблему с помощью батника.

sa,
Только сижу и думаю, что за странная у тебя двойная кавычка...
rust
Сообщения: 8
Зарегистрирован: Пт дек 27, 2013 08:49

Сообщение rust »

MVV, спасибо, видел, батник не берет полностью имена с пробелами. Остановлюсь на втором варианте, скопировать имя в буфер, вызвать cm_SelectFiles, вставить из буфера.
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

Там не в пробелах проблема, а в том, что диалог появляется после начала выполнения функции send, а для неё требуется, чтобы окно не теряло фокуса на протяжении всей отправки нажатий. Тут решение.


Кстати, надо в стандартную поставку включить макрос send_wait, который будет ждать окно и потом посылать ему... Пока можно вручную добавить его в секцию макросов.

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

send_wait=loop(@<=if(null(#3),5,#3)*10 && if(#2,send(#1,#2)*0,delay(100)))	; Ожидает появления окна и отправляет ему нажатия клавиш. Первые два параметра - как у функции send, третий - число секунд (по умолчанию 5)
Тогда отпадет нужда в delay и wait_for:

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

eval(send_wait(`hello world{ENTER}`, findwnd(`TCOMBOINPUT`))
И батник будет работать:

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

start "" "%COMMANDER_PATH%\addons\tcfs2.exe" /ef "tcm(3312,1) eval(send_wait(`{DQ}%~n1{BS 2}*{DQ}{ENTER}`, findwnd(`TCOMBOINPUT`))"
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

MVV писал(а):надо в стандартную поставку включить макрос send_wait
Альтернатива обсуждаемому ранее? ;)
MVV писал(а):wait_for
А это откуда? Ты вроде нигде не афишировал.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

Flasher писал(а):Альтернатива обсуждаемому ранее? ;)
Скорее, реализация, т.к. не припомню других рабочих вариантов.
Flasher писал(а):А это откуда? Ты вроде нигде не афишировал.
Из TCFS2.ini, вестимо. :wink:
Странно, что ты только увидел, другие уже используют, в теме упоминалось. :)
Последний раз редактировалось MVV Пн янв 20, 2014 16:48, всего редактировалось 1 раз.
sa
Сообщения: 2758
Зарегистрирован: Ср апр 29, 2009 18:56

Сообщение sa »

Flasher писал(а):нигде не афишировал.
См.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

MVV писал(а):Скорее, реализация, т.к. не припомню других рабочих вариантов.
Мысль была о функции.
MVV писал(а):Странно, что ты только увидел, другие уже используют, в теме упоминалось.
Да, зевнул, откровенно. :roll:
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
rust
Сообщения: 8
Зарегистрирован: Пт дек 27, 2013 08:49

Сообщение rust »

MVV, батник работает, но только если передавать ему %N, я-то передавал %O. Т.е если передаем %O (как и %M), то имеем проблемы с пробелами в имени, если передаем %N, то он возвращает имя без расширения, как %O в обычной, не Search result, панели.
Кстати, в моем конкретном случае send_wait не очень подходит, в панели дубликатов класс окна при выделении файлов - TDuplSelForm, остается старый добрый delay.
sa
Сообщения: 2758
Зарегистрирован: Ср апр 29, 2009 18:56

Сообщение sa »

MVV
Может быть, стоит время ожидания добавить необязательным третьим параметром непосредственно в функцию send? Не надо будет городить огород с макросом и eval...
Ответить