Как сделать чтобы фильтр "не старше 1 дня" влиял на папки?

Обсуждение вопросов автоматизации Total Commander с помощью сторонних программ и скриптовых технологий.

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

Аватара пользователя
Avada
Сообщения: 10541
Зарегистрирован: Пт авг 01, 2008 16:17
Откуда: Россия, Саратов

Сообщение Avada »

sa
После выявления в ЛС непосредственной причины проблемы (конфликта с Punto Switcher) по итогам проверки обновлённой кнопки (как в XP, так и в Win7) пока больше никаких замечаний не имею.
Flasher
На Win7, в отличие от XP, некоторые проблемы есть. См. ЛС.
Даже самая богатая фантазия
Не представит себе наши безобразия.
sa
Сообщения: 2758
Зарегистрирован: Ср апр 29, 2009 18:56

Сообщение sa »

Avada
Спасибо!
Обновил кнопку в теме, чтобы избежать возможного конфликта Punto Switcher и TCFS2, а именно заменил в функции send_wait режим передачи "~" на режим "@".

Править кнопки будет проще, если команду для вызова фильтра (назовём её Custom_F_D) записать отдельной строкой в секцию [Items] файла TCFS2.ini. Для обновлённого варианта она выглядит так:

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

Custom_F_D = run_item(locktc,1) tcm(524) tcm(314,1) eval(send_wait(@`>`#1, findwnd(`TCOMBOINPUT`))) send(`{ENTER}`, findwnd(`TCOMBOINPUT`)) delay(200) tcm(3311,1) eval(send_wait(@`>`#1, findwnd(`TCOMBOINPUT`))) send(`{ENTER}`, findwnd(`TCOMBOINPUT`)) delay(200) tcm(2023) tcm(524) run_item(locktc,0) redraw
В кнопках же для этой команды останется передать только имя фильтра, например, так:

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

TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Utils\TCFS2\TCFS2.exe /ei "Custom_F_D(
`не старше 1 дня`                                                                                    )"
WCMICONS.DLL,24
Фильтр для файлов/папок не старше 1 дня


-1
Для тех, кто создаст в ТК пользовательскую команду em_cd (с командой cd и параметром %A%Z), Custom_F_D будет такой:

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

Custom_F_D = run_item(locktc,1) tcm(524) tem(`em_cd >`#1) delay(200) tcm(3311,1) eval(send_wait(@`>`#1, findwnd(`TCOMBOINPUT`))) send(`{ENTER}`, findwnd(`TCOMBOINPUT`)) delay(200) tcm(2023) tcm(524) run_item(locktc,0) redraw
Благодаря cd >имя_фильтра в этом случае на экране не будет мелькать один из двух диалогов выбора фильтра.
sa
Сообщения: 2758
Зарегистрирован: Ср апр 29, 2009 18:56

Сообщение sa »

Flasher
А какой резон в (UTime, 0, DNow - D) вместо (UTime, D, DNow)?
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Avada
Вроде как решил проблему.

sa
Не вместо, а на старый манер так сделал. По сути это одно и то же.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
sa
Сообщения: 2758
Зарегистрирован: Ср апр 29, 2009 18:56

Сообщение sa »

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

Сообщение Flasher »

Чтобы работал.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
sa
Сообщения: 2758
Зарегистрирован: Ср апр 29, 2009 18:56

Сообщение sa »

Flasher
Точнее, чтобы правильно работал. Тогда и первый уж поправь.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

sa
А неправильно - это как?
В первом нечего править.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Аватара пользователя
Avada
Сообщения: 10541
Зарегистрирован: Пт авг 01, 2008 16:17
Откуда: Россия, Саратов

Сообщение Avada »

sa
Второй вариант скрипта неправильно работал в x64, с первым проблем не было, поскольку иначе выводилось сообщение об отсутствии соответствий. Воспроизводить здесь всю историю проблемы, подробно прорабатывавшуюся в ЛС, нет возможности.
Даже самая богатая фантазия
Не представит себе наши безобразия.
sa
Сообщения: 2758
Зарегистрирован: Ср апр 29, 2009 18:56

Сообщение sa »

Flasher писал(а):В первом нечего править.
То есть там так и останется (UTime, 0, DNow - D)?
Попробуй, например строку параметров, когда m = 1 и сравни результаты первого и второго скриптов.
Аватара пользователя
Avada
Сообщения: 10541
Зарегистрирован: Пт авг 01, 2008 16:17
Откуда: Россия, Саратов

Сообщение Avada »

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

Сообщение Flasher »

sa
В этом нет необходимости. Я уже указал на неизменность сути.

Avada
Хорошо. Пожалуйста.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
sa
Сообщения: 2758
Зарегистрирован: Ср апр 29, 2009 18:56

Сообщение sa »

Flasher писал(а):Я уже указал на неизменность сути.
Тогда верни (UTime, 0, DNow - D) и во второй и считай, что я ни о чём не спрашивал.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

sa
Просто расслабься. 8)
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
sa
Сообщения: 2758
Зарегистрирован: Ср апр 29, 2009 18:56

Сообщение sa »

Flasher писал(а):расслабься
Хорошо! С моим вариантом (UTime, D, DNow) во втором скрипте это не сложно.
Ответить