Страница 75 из 130

Добавлено: Ср авг 14, 2013 14:43
Flasher
plutus писал(а):Возможно ли сделать..
Возможно.

Добавлено: Ср авг 14, 2013 15:37
plutus
Спасибо, работает

Добавлено: Вс авг 25, 2013 13:00
Avada
MVV
В продолжение обсуждения, начатого в теме по Autorun, отвечаю на вопрос, заданный там.
Нет, если взять для кнопки указанную там строку (с отбрасыванием ShellExec и заменой путей на мои, естественно) правильно не срабатывает.
[cut="Код кнопки"]TOTALCMD#BAR#DATA
"%Commander_path%\Utils\TCFS2\TCFS2.exe" '/ef "tcd(`\\\Virtual Panel`,,S) tcm(570, 1)"'

C:\Totalcmd\Wciconex.dll



-1[/cut]Отображается сообщение об ошибке — [cut="вот такое"]

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

---------------------------
TCFS2
---------------------------
Error:
Unavailable key

Actions:
'/ef

Terminate process?
---------------------------
ОК   Отмена   
---------------------------
[/cut]А если нажать "Отмена", то [cut="ещё одно"]

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

---------------------------
TCFS2
---------------------------
Error:
Unavailable key

Actions:
tcd(`\\\Virtual Panel`,,S) tcm(570, 1)'

Terminate process?
---------------------------
ОК   Отмена   
---------------------------
[/cut]
Может быть, там что-то в синтаксисе менять надо?

Добавлено: Вс авг 25, 2013 13:07
Flasher
Да, там лишние кавычки:

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

TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Utils\TCFS2\TCFS2.exe
/ef "tcd(`\\\Virtual Panel`,,S) tcm(570,1)"
Wcmicons.dll,52
[cut="P.S.:"]Я думаю, маленькие коды в спойлеры пихать не стоит.[/cut]

Добавлено: Вс авг 25, 2013 13:15
Avada
Flasher
Да, так с кнопкой всё работает.
[cut="P.S."]Мне было просто интересно поэкспериментировать с возможностями спойлеров. Следовать своему примеру никого, разумется, не призываю.[/cut]

Добавлено: Вс авг 25, 2013 13:19
Flasher
Avada
Происходит, просто ты не успеваешь этого заметить:
"tcd(`\\\Virtual Panel`,,S) delay(500) tcm(570,1)"
:wink:

Добавлено: Вс авг 25, 2013 13:22
Avada
Flasher
Да, происходит, я уже разобрался и успел поправить пост (сначала забыл отключить активацию Virtual Panel через Autorun другим способом).
Остаётся выяснить, в каком виде эту строку дать не в кнопке, а в Autorun.

MVV
Кстати, по заголовку темы. Может быть, из "TCFS2 + TCFS2Tools - перевод ТС в полноэкранный режим" оставить только первую половину с названиями? А то поясняющая часть уже как-то слабо отражает реальную функциональность... :wink:

Добавлено: Вс авг 25, 2013 13:48
Flasher
Avada писал(а):Остаётся выяснить, в каком виде эту строку дать не в кнопке, а в Autorun.
Ответил в той теме.

Добавлено: Вс авг 25, 2013 13:48
MVV
Avada,
В Autorun как раз давать надо в виде, который я там приводил: строка параметров должна быть заключена во внешние кавычки, причём отличные от двойных (т.к. двойные используются в самой строке).

Согласен, название темы можно расширить.

Flasher,
С отправкой по tcm(570,1) у меня работает и без delay(500).
Avada писал(а):Мне было просто интересно поэкспериментировать с возможностями спойлеров.
Я почти на 100% уверен, что это были первые спойлеры, которые я видел на этом форуме. Выглядит интересно. Думаю, кнопка в интерфейсе редактора сообщения бы не помешала.

Добавлено: Вс авг 25, 2013 13:52
Flasher
MVV писал(а):С отправкой по tcm(570,1) у меня работает и без delay(500).
Так задержку я привёл для проверки работоспособности. См. контекст.
MVV писал(а):Думаю, кнопка в интерфейсе редактора сообщения бы не помешала.
Это уже обсуждалось.

Добавлено: Чт ноя 21, 2013 11:30
sa
Примерчик с ожиданием закрытия окна поиска. Кнопка запускает поиск, максимум 10 секунд ждёт его окончания, ежесекундно пытаясь вызвать результаты поиска на панель и, в случае закрытия окна поиска в отведённое время, переводит панель в краткий режим:

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

TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Utils\TCFS2\TCFS2.exe /ef "tcm(501,1) delay(200) send(`{BKSP}+{TAB}{RIGHT}~(%ш%o){TAB 2}{UP}{ENTER}`, findwnd(`TFindFile`))
if(wait_for_s(findwnd(`TFindFile`)==0, 10), tcm(301,1))"
WCMICONS.DLL,47
Поиск файлов/каталогов не старше 1 часа с выводом на панель и переходом в краткий режим

0
-1
Для правильной работы кнопки нужно добавить в TCFS2.ini макрос:

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

wait_for_s=if(#2<=0, 0, if (#1, 1, 0*send(`~(%л%l)`, findwnd(`TFindFile`))*delay(1000)+wait_for_s(#1, #2-1)))

Добавлено: Чт ноя 21, 2013 12:07
MVV
Жесть! :D
Кстати, вместо Shift+Tab и Right можно просто послать Ctrl+Tab.

А ещё можно написать общую команду для поиска с заданным именем поискового шаблона, тогда не надо будет настраивать параметры на лету.

Задумался, не добавить ли цикл for (который можно использовать и со счетчиком, и как while, если не проверять значение счетчика), чтобы избежать рекурсивных вызовов макросов...

Добавлено: Чт ноя 21, 2013 12:57
sa
MVV писал(а):А ещё можно написать общую команду для поиска с заданным именем поискового шаблона
Я с подобной кнопки и начал. :) Просто для примера не стал заморачивать созданием шаблона.
Да, у себя после поиска я перевожу панель не в краткий режим, а в режим со своим набором колонок (используется команда 278).
MVV писал(а):не добавить ли цикл for
Хорошо бы...

Добавлено: Сб ноя 23, 2013 15:31
MVV
Добавил цикл.

TCFS2 Build 400

Функция loop с одним параметром, цикл крутится, пока параметр возвращает 1. Как только вернул 0, конец цикла, и возвращается число сделанных итераций. В выражении цикла можно узнать номер итерации с помощью переменной @ (начиная с 0). Задержка между итерациями - в том же выражении с помощью delay.

В инишнике пример использования (переделал макрос wait_for).

Добавлено: Пн ноя 25, 2013 14:28
sa
MVV
Loop работает.

Предыдущая кнопка, но уже без дополнительного макроса (соответственно без необходимости правки TCFS2.ini ) и с увеличенным до двух минут временем ожидания окончания поиска:

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

TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Utils\TCFS2\TCFS2.exe /ef "tcm(501,1) delay(200) send(`{BKSP}^{TAB}~(%ш%o){TAB 2}{UP}{ENTER}`, findwnd(`TFindFile`)) loop(@<=120 && if(findwnd(`TFindFile`)==0, 0, send(`~(%л%l)`, findwnd(`TFindFile`))+delay(1000)))
if(findwnd(`TFindFile`)==0, tcm(301,1))"
WCMICONS.DLL,47
Поиск файлов/каталогов не старше 1 часа с выводом на панель и переходом в краткий режим


-1