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

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

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

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

Сообщение MVV »

Не думаю, что сообщение с cd поддерживает фильтрацию, я и так из него выжал всё, что можно. Ты не плоди em_, ты сделай одну em_SetFilter, а из TCFS2 пиши в неё команду cd и выполняй. Итого одна временная команда.

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

TCFS2.exe /ef "set_ini(`%%COMMANDER_PATH%%\usercmd.ini`, em_SetFilter, cmd, `cd *.txt`) tem(em_SetFilter)"
Flasher писал(а):Что там по старому?
Ты про конкатенацию строк для записи в конфиг? Пока всё по-старому.

Впрочем, появилась мысль, как проще всего это добавить: сделать дописывание к существующему строковому значению (что-то вроде #` added` для дописывания строки и ##expr для дописывания результата выражения в виде строки), тогда можно будет за несколько заходов в set_ini собрать строку из подстрок и числовых значений.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

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

Сообщение MVV »

Править ini для фильтра? Чего-то как-то ...
Тогда делай через cm_SrcUserDef и send. Я бы предпочёл запись в конфиг. Временные команды иногда очень удобны - можно и шаблоны поиска/синхронизации загружать, и много чего ещё делать.
Не вижу, где там я писал про конкатенацию строк.
Тогда тем более по-старому. Я мысли читать ещё не научился, а о чем была речь, уже не помню. В твоих же интересах давать прямые ответы вместо загадок.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

MVV писал(а):Тогда делай через cm_SrcUserDef и send.
Только не окнопрыг. Лучше уж в ini.
MVV писал(а):Я мысли читать ещё не научился, а о чем была речь, уже не помню.
Там же конкретика про интеграцию макросов (п.1). Где ты уловил склейку строк?
ToDo не пишешь? Все наши старые запросы насмарку?
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
sa
Сообщения: 2758
Зарегистрирован: Ср апр 29, 2009 18:56

Сообщение sa »

MVV писал(а):Временные команды иногда очень удобны - можно и шаблоны поиска/синхронизации загружать, и много чего ещё делать.
У себя эту временную команду так и назвал em_temp и тоже пользуюсь ей для сиюминутных пользовательских команд. Мне нравится этот способ.
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

Flasher писал(а):Только не окнопрыг. Лучше уж в ini.
Всё познаётся в сравнении. :D
Flasher писал(а):Там же конкретика про интеграцию макросов (п.1). Где ты уловил склейку строк?
И как я должен был понять, что "макросы" - это про комбинированные строки при формировании имени секций? Специально отмотал на несколько листов от того поста, ни разу слово "макрос" в этом контексте не употреблялось. Тут по-хорошему надо функцию, склеивающую все параметры в одну строку, но проблема, как вернуть строку. Возможно, проще будет проверять, являются ли строковые параметры составными, типа `hello `6` world`5-6...
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

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

Сообщение MVV »

Бета 440

Чтобы работал режим комбинации, параметр обязан начинаться со строки в косых кавычках, можно с пустой ``. Всё от строк до строк считается выражениями, для разделения выражений - строки, можно пустые.

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

TCFS2 /ef "set_ini(`%commander` `_ini%`, `key_` @sid+77 `` 1+2+3, `button_size`, #+5)"
Погоняй хорошенько, все эти параметры должны поддерживать комбинированные строки:
set_ini: inipath, section, key, value; findwnd: class, text; tcd: left_path, right_path; tem: cmd; send: keystrokes
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

MVV
Спасибо, что быстро отреагировал! Полагаю, это и год назад можно было сделать. :wink:
Пока тесты проходят как надо. Немного не разобрался в приведённой строке, а именно в отрезке: @sid+77 `` 1+2+3. Ты же выше писал, что выражения могут разделятся пустыми строками. А зачем тут ``?
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

Если вдруг (в голову ничего не приходит, но мало ли, какая у кого фантазия) тебе надо слить результаты двух независимых выражений, в данном примере @sid+77 и 1+2+3, их надо разделять пустой строкой (это и есть ``), т.к. если напишешь просто @sid+77 1+2+3, это сольётся в одно выражение @sid+771+2+3 (все пробелы вне строк удаляются).
Flasher писал(а):Спасибо, что быстро отреагировал! Полагаю, это и год назад можно было сделать. :wink:
А можно было и ещё через год. :wink:
Год назад мне идея такой реализации не приходила)
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

MVV писал(а):их надо разделять пустой строкой (это и есть ``)
А, ты это и имел в виду под пустой строкой, тогда ясно.

Нововведение касается каких-то ещё команд, функций, макросов кроме перечисленных (set_ini, findwnd, tcd, tem, send)?

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

Сообщение MVV »

Нововведение касается каких-то ещё команд, функций, макросов кроме перечисленных (set_ini, findwnd, tcd, tem, send)?
В других функциях и в макросах нет строковых параметров, поэтому их это не может касаться (есть, правда, regmsg и save_undo, но в них я не стал это добавлять).
И ещё. Может, стоит взять какой-то один символ (& или ^, например) для активации режима вместо сдвоенных косых, если первым параметром идёт переменная?
У меня была мысль о символе-активаторе, но к строкам эта функция отлично подключается и без него (проблемы только с совместимостью - там, где раньше допускались строки без косых кавычек - и с параметром value при записи в конфиг, где может быть как числовое выражение, так и строка).
Мне кажется, `` - вполне годный активатор в том редком случае, когда выражение надо вставить в начале строки - они не являются чужеродными и за уши притянутыми и при этом однозначно указывают на строковость параметра. Твои же оба являются математическим операторами, пусть и бинарными.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

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

Сообщение MVV »

А tcini, ini, set_tcini?
Да. Забыл упомянуть их. Все функции для работы с ini (set_ini, set_tcini, ini, tcini) обрабатываются внутри в одном месте, поэтому можно полноценно работать с комплексными именами файлов, секций, ключей и значениями параметров.
Кстати, активация режима срабатывает для каждого параметра в отдельности или для всех параметров функции?
Парсер извлекает каждый параметр отдельно. Но какая разница? Каждое выражение в разных параметрах в любом случае обрабатывается независимо от остальных.
Какая разница. Ты же в любом случае по первому символу после открывающей скобки проверяешь.
Тут проверять надо первый символ каждого параметра, так что чаще:] но я не вижу смысла в добавлении такого ключа, всё и так абсолютно логично.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

MVV
ОК. Всё понял.

[mod="Avada"]Последующая цепочка постов про пересылку с FTP и обратно с промежуточным переименованием является в данной теме оффтопом и выделена в отдельную тему в "Автоматизации".[/mod]
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Ответить