Обсуждение темы "Обмен кнопками"

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

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

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

Сообщение sa »

Flasher
Чтобы меньше изменять скриптом среду пользователя, может лучше отказаться от команды cm_ClearAll, а вместо .ClearClip применить .SetTextToClip(TextClip), предварительно сохранив пользовательский буфер: TextClip = .GetTextFromClip?
ask-rus писал(а):У "Подробного" нет приоритета - с "Эскизов" перехожу в "Краткий", нужно в "Подробный"
Со скриптом такой проблемы нет.
Аватара пользователя
ask-rus
Сообщения: 2077
Зарегистрирован: Вт ноя 10, 2009 14:06
Откуда: Russian Federation

Сообщение ask-rus »

sa писал(а):Со скриптом такой проблемы нет.
Стараюсь избегать TCScript.Helper (портабельность).
«Минимализм - это кратчайший путь бесконечного стремления к идеалу»
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица
sa
Сообщения: 2758
Зарегистрирован: Ср апр 29, 2009 18:56

Сообщение sa »

Flasher
Для увеличения скорости выполнения операций ещё можно рискнуть добавить в скрипте после .LockTC True строку .Pause = 0
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

ask-rus писал(а):У "Подробного" нет приоритета - с "Эскизов" перехожу в "Краткий", нужно в "Подробный".
Поменяй местами 301 и 302.
sa писал(а):Чтобы меньше изменять скриптом среду пользователя, может лучше отказаться от команды cm_ClearAll, а вместо .ClearClip применить .SetTextToClip(TextClip), предварительно сохранив пользовательский буфер: TextClip = .GetTextFromClip?
Можно и отказаться от ClearAll, т.к. при выделении нескольких файлов списки будут сравниваться одни и те же, но скорости это не прибавит. Насчёт запоминания доскриптового буферного теста также ничего против не имею. Это могу поправить.
sa писал(а):Для увеличения скорости выполнения операций ещё можно рискнуть добавить в скрипте после .LockTC True строку .Pause = 0
И что, скорость прибавилась? :) Я ради хохмы попробовал - ничего не поменялось.
sa
Сообщения: 2758
Зарегистрирован: Ср апр 29, 2009 18:56

Сообщение sa »

Flasher писал(а):Я ради смеха попробовал - ничего не поменялось.
Ну хоть посмеялся!:)
Аватара пользователя
ask-rus
Сообщения: 2077
Зарегистрирован: Вт ноя 10, 2009 14:06
Откуда: Russian Federation

Сообщение ask-rus »

Flasher писал(а):Поменяй местами 301 и 302.
Поменял и чаво... Ничаво - "Краткий".
«Минимализм - это кратчайший путь бесконечного стремления к идеалу»
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

В общем-то, менять-то особого смысла нет. Тут логика простая: команда реверсирует между запомнившимися ранее в undo состояниями. Приоритета нет, но это не значит, что будет всегда краткий, может быть и тот, и тот.
Аватара пользователя
ask-rus
Сообщения: 2077
Зарегистрирован: Вт ноя 10, 2009 14:06
Откуда: Russian Federation

Сообщение ask-rus »

Flasher писал(а):Тут логика простая: команда реверсирует между запомнившимися ранее в undo состояниями. Приоритета нет, но это не значит, что будет всегда краткий, может быть и тот, и тот.
Установил "Подробный", потом "Эскизы", далее, жму кнопку - "Краткий", всегда "Краткий...
«Минимализм - это кратчайший путь бесконечного стремления к идеалу»
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Я же объяснил логику. Этой командой вызови один режим, потом вызови Эскизы, потом опять выполни команду и увидишь инверсный предыдущему режим.
Serge Yolkin
Сообщения: 664
Зарегистрирован: Сб июл 25, 2009 11:12

Сообщение Serge Yolkin »

[off]
CaptainFlint писал(а):... разве нельзя ... запросить у Тотала элемент списка, послав сообщение LB_GETTEXT? ...
Если честно - просто не знаю. Первый скрипт_не_бат я мньше года назад написал, где-то в июне. До сих пор чувствую себя новичком. А бОльшая часть знаний - методом тыка.
[/off]
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

В принципе, несложно плагин написать для Autorun. Берем текст нулевого элемента, он равен ".." для краткого и пользовательских режимов, и равен ".. что-то там" (третий символ - пробел) для полного, и равен пустой строке для эскизов. В принципе, можно даже текст не брать, а тупо длину текста - 0, 2 или больше 2.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Вариант, для тех, кому не страшны установки autorun и HdeMenu:

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

[Items]
......
modeL=set_style(# & ~$00004000) tcm(301), style(# & $00004000), modeL | set_style(# | $00004000) tcm(302), , modeL
modeR=set_style(# & ~$00008000) tcm(301), style(# & $00008000), modeR | set_style(# | $00008000) tcm(302), , modeR
swmode=run_item(modeL), tcm(65551) | run_item(modeR)  ; Переключаться между подробным и кратким режимом
Команда: TCFS2.exe /ei swmode

Пока это лучший вариант переключения и по скорости, и по портабельности, и по способу учёта активной панели. Благодарим MVV.
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

Но он по-прежнему не переключит в подробный режим из режима эскизов, если в режим эскизов переключение производилось из подробного.
ask-rus писал(а):Проверил на IE 8, действительно, это баг новой Opera 11.10. Как жаль...
Хе-хе, а на 11.01 всё работает правильно. :) А на 11.10 с этой тупой гуглолентой экспресс-панели переходить не собираюсь.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

MVV писал(а):Но он по-прежнему не переключит в подробный режим из режима эскизов, если в режим эскизов переключение производилось из подробного.
Ну с эскизами тут уже ничего не поделаешь. Читать их статус в текущей сессии, как было уже сказано, неоткуда. Не подключать же их третьем режимом переключения? Это уже будет совсем не то.
sa
Сообщения: 2758
Зарегистрирован: Ср апр 29, 2009 18:56

Сообщение sa »

Flasher писал(а):; Переключаться между подробным и кратким режимом
Скорее между кратким и подробным. :)
По-моему, предложенный набор команд больше подходит пользователям краткого режима, поскольку при первом вызове команды swmode переключение происходит в подробный режим.
Пользователям подробного режима удобнее поменять местами команды 301 и 302, иначе при первом вызове команды swmode она не сменит (с одного раза) подробный режим на краткий.
Ответить