Определение номера активного набора колонок

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

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

Ответить
Maxtor
Сообщения: 5
Зарегистрирован: Вс сен 29, 2013 00:18

Определение номера активного набора колонок

Сообщение Maxtor »

Можно ли в скрипте AHK как-то определить номер (или наименование) пользовательского набора колонок, установленного на панели? В зависимости от того, какой набор колонок включен, будут выполняться разные команды.
Аватара пользователя
Вахмурка
Сообщения: 2587
Зарегистрирован: Пн дек 27, 2004 14:47
Откуда: Большая деревня Москва
Контактная информация:

Сообщение Вахмурка »

В TWinKey есть такая функция
Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон)
Аватара пользователя
Orion9
Сообщения: 1283
Зарегистрирован: Пн янв 01, 2024 17:18

Сообщение Orion9 »

Maxtor
А секция [CustomFields] в Wincmd.ini и ключ SpecialView в панелях не подойдет?
Maxtor
Сообщения: 5
Зарегистрирован: Вс сен 29, 2013 00:18

Сообщение Maxtor »

Проблема в том, что Wincmnd.ini нужно поедварительно сохранить, чтобы данные в нем обновились.
Аватара пользователя
Orion9
Сообщения: 1283
Зарегистрирован: Пн янв 01, 2024 17:18

Сообщение Orion9 »

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

Сообщение Avada »

Maxtor
Можно. Про скрипты см. здесь описание команд cm_LeftSwitchToThisCustomView и cm_RightSwitchToThisCustomView (для того и вводились). Научитесь пользоваться доступной документацией TC. (Это касается и авторов последующих рекомендаций.)

Вахмурка
В TWinKey нет такой функции. Существующие там визуальные схемы — это более ранний аналог нативных стилей оформления, т.е. привязка чего-то (в т.ч. видов представления, включая наборы колонок, и выполнения команд) к папкам, а не колонок и команд друг к другу.
Другой вопрос, что никто не мешает организовать сцепку команд, где сначала организуется переход к некоему набору (команд для их выбора полно на любой вкус, см. тот же справочник), а затем выполняется ещё какая-то команда, записанная через интерфейс em-команд.

Orion9
Давно появилась. Очень давно. В 4.0. Но задача решается не ключами, а командами, и никакие обновления INI-файла тут абсолютно не нужны.
Даже самая богатая фантазия
Не представит себе наши безобразия.
Аватара пользователя
Orion9
Сообщения: 1283
Зарегистрирован: Пн янв 01, 2024 17:18

Сообщение Orion9 »

Avada
Я только недавно стал интересоваться командами, поэтому многого и раньше не знал и сейчас не знаю, в том числе о существовании cm_LeftSwitchToThisCustomView и cm_RightSwitchToThisCustomView. :lol:

Но посмотрев эти команды, разве они не предназначены для переключения к набору по номеру? Автору топика ведь другое нужно, насколько я понял.
Аватара пользователя
Avada
Сообщения: 10541
Зарегистрирован: Пт авг 01, 2008 16:17
Откуда: Россия, Саратов

Сообщение Avada »

Orion9
И в самом TC по номеру можно, и в скриптах можно.
Даже самая богатая фантазия
Не представит себе наши безобразия.
Maxtor
Сообщения: 5
Зарегистрирован: Вс сен 29, 2013 00:18

Сообщение Maxtor »

Прошу все же пояснить, как с помощью команд cm_LeftSwitchToThisCustomView и cm_RightSwitchToThisCustomView можно передать в скрипт информацию о текущем наборе колонок, а не выполнить переход к заданному набору.
Аватара пользователя
Avada
Сообщения: 10541
Зарегистрирован: Пт авг 01, 2008 16:17
Откуда: Россия, Саратов

Сообщение Avada »

Maxtor
Я практически не пользуюсь AHK-скриптами и не являюсь специалистом по их синтаксису. К.Гислер приводит указанные команды с пояснением, что они для скриптов, и указанием, что lparam=номер набора. Если вам этого недостаточно, поищите пояснения у нас в других темах или на официальном сайте TC.
Но вы правы: это не определение текущего номера набора, а выбор некоего набора с определённым номером. Если я вас ввёл в заблуждение, извините, но другие рекомендации вашу проблему в заявленном виде не решают тоже, предлагая (правильно или неправильно) только обходные пути. Подозреваю, что задача вообще не имеет нужного вам решения, потому что номер текущего набора просто неоткуда брать. Пока текущее состояние файловых панелей TC не сохранено принудительно (что далеко не всегда хорошо и полезно), оно запоминается только в памяти.
Даже самая богатая фантазия
Не представит себе наши безобразия.
Аватара пользователя
Orion9
Сообщения: 1283
Зарегистрирован: Пн янв 01, 2024 17:18

Сообщение Orion9 »

Avada писал(а):Подозреваю, что задача вообще не имеет нужного вам решения, потому что номер текущего набора просто неоткуда брать.
Теоретически может получится, если сначала послать из AHK команду сохранения конфигурации, а затем считать значение ключа SpecialView из Wincmd.ini. Но сам я так не делал. :)
Аватара пользователя
Avada
Сообщения: 10541
Зарегистрирован: Пт авг 01, 2008 16:17
Откуда: Россия, Саратов

Сообщение Avada »

Orion9
Это понятно, но выше уже сказано, что такие сохранения не всегда хороши.
А вообще по-хорошему надо было бы подробнее расписать задачу, обозначенную в первом посте, чтобы понять, какие именно разные команды предполагается выполнять для разных наборов колонок — и зачем оно надо. Не исключено, что конечной цели можно добиться как-то иначе.
Даже самая богатая фантазия
Не представит себе наши безобразия.
Аватара пользователя
Orion9
Сообщения: 1283
Зарегистрирован: Пн янв 01, 2024 17:18

Сообщение Orion9 »

Avada
Ну вообще, хотелось бы узнать, получилось у автора топика достичь поставленной цели или нет. Можно и без подробностей.)
yahuu
Сообщения: 40
Зарегистрирован: Чт июн 22, 2023 07:32

Сообщение yahuu »

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

tcfs2.exe /ef "if(S_viewMode==300,tcm(271),tcm(300))"
Ответить