Переход к следующему расширению

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

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

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

Сообщение Flasher »

sa писал(а):Говоря о предложенной замене, я говорил о предлагавшейся мной замене (для лаконичности) сравнения расширений на сравнение файлов, а ты о своих коррекциях скрипта на TCKB.
Смотря в каком контексте. Я говорил и о том, и о другом.
sa писал(а):А мой скрипт тоже срабатывает неправильно или сейчас не до него?
Я уже заведомо знаю, что он будет срабатывать неверно, т.к. вижу, что GetSrcSelectedFiles используется повторно. Я уже раньше пытался экспериментировать с таким подходом, но последующие значения в большинстве случаев равнялись самому первому. Т.е. курсор с такой записью будет при переходе на 3-ю/4-ю серию файлов передвигаться на первый файл. В т.ч. повторно проверять отработку сравнения имён (Sn=Sp), а не раширений не вижу смысла - в указанных режимах курсор, как минимум, при первом нажатии будет оставаться в конце списка, если будет его достигнут, разумеется.
Последний раз редактировалось Flasher Вс окт 09, 2011 09:46, всего редактировалось 1 раз.
sa
Сообщения: 2758
Зарегистрирован: Ср апр 29, 2009 18:56

Сообщение sa »

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

Сообщение Flasher »

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

Сообщение sa »

Flasher писал(а):и ты сам у себя проверить не можешь,
Уже проверил, мой барахлит, а оригинальный срабатывает!
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

sa писал(а):а оригинальный срабатывает!
Если речь об этом, то как можно сравнивать срабатывание на предмет цикличности, если он этого лишён? :? Он вообще к предмету разговора не относится...
sa
Сообщения: 2758
Зарегистрирован: Ср апр 29, 2009 18:56

Сообщение sa »

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

Сообщение Flasher »

sa
Если тебе это интересно, то без меня. Это как сравнивать табуретку с массажным креслом...
sa
Сообщения: 2758
Зарегистрирован: Ср апр 29, 2009 18:56

Сообщение sa »

Flasher писал(а):Если тебе это интересно, то без меня. Это как сравнивать табуретку с массажным креслом...
Договорились.
sa
Сообщения: 2758
Зарегистрирован: Ср апр 29, 2009 18:56

Сообщение sa »

Flasher писал(а):Нужно было в DirBranch и "Файлы на панель" пробовать
Верное замечание. Чтобы сравнение файлов работало и для этих случаев нужно отбросить путь к файлу:

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

If FSO.GetFileName (P) = .GetTextFromClip Then .SendCommand 2050
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Ок, сделай у себя, если тебе от сокращения кода на неск. символов станет легче. Скорость срабатывания от этого точно не возрастёт.
sa
Сообщения: 2758
Зарегистрирован: Ср апр 29, 2009 18:56

Сообщение sa »

Flasher писал(а):Ок, сделай у себя, если тебе от сокращения кода на неск. символов станет легче.
Тут уже разговор шёл не столько о сокращении кода, сколько о самой идее сравнения имён файлов, которая подвергалась сомнению:
Flasher писал(а):Не лучше, т.к. следующие файлы с тем же расширением могут иметь другое имя
Flasher писал(а):В т.ч. повторно проверять отработку сравнения имён (Sn=Sp), а не раширений не вижу смысла - в указанных режимах курсор, как минимум, при первом нажатии будет оставаться в конце списка
Аватара пользователя
Andrey_A
Сообщения: 394
Зарегистрирован: Пт апр 10, 2009 06:28
Откуда: Сочи
Контактная информация:

Сообщение Andrey_A »

Хотелось бы ещё один параметр чтобы можно было выбрать - переход к следующему расширению (вниз) есть - переход к предыдущему расширению (хотелось бы).

===========
Добавлено через час
Проверил все три скрипта - и все три дают нестабильный результат
Я пользуюсь переходом на другое расширение при Ctrl+B
проверял на небольшом к-ве файлов 2500
и почему то все скрипты не переходят на следующее расширение , а перебрасывают курсор на первый файл. могут два три раза сработать, а затем опять на первый файл, хотя расширений куда надо переходить ещё уйма. пытался поймать систему - так и не нашёл. Старый вариант хоть и моргает - но стабильно переходит куда надо.

============
добавлено через час: мне не нужна цикличность, немножко прикинув, вообще отказался от скриптов

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

TOTALCMD#BAR#DATA
"%COMMANDER_PATH%\Utilities\TotalCom\TCMC\TCMC.exe"
10 CM527 CM525 CM2053 CM524
%COMMANDER_PATH%\TOTALCMD.EXE,3
Перейти к следующему типу файлов (вниз)


-1

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

TOTALCMD#BAR#DATA
"%COMMANDER_PATH%\Utilities\TotalCom\TCMC\TCMC.exe"
10 CM527 CM525 CM2054 CM524
%COMMANDER_PATH%\TOTALCMD.EXE,3
Перейти к предыдущему типу файлов (вверх)


-1
с "морганием" даже веселей
sa
Сообщения: 2758
Зарегистрирован: Ср апр 29, 2009 18:56

Сообщение sa »

Andrey_A писал(а):пытался поймать систему - так и не нашёл.
Скорее всего, причина кроется в запуске очередной копии скрипта до того момента как отработала предыдущая (в частности, по этой же причине становится заметным "моргание выделения"). В этом случае первый для сравнения файл (%N у Flasher или Sp у меня), может определяться неверно, поскольку предыдущий скрипт ещё не успевает закончить свою работу). И если его расширение (или он сам в моём варианте) случайно совпадёт со вторым сравниваемым FSO.GetExtensionName(.GetTextFromClip) у Flasher или Sn у меня), то и происходит возврат в начало списка. Я этот эффект тоже замечал. А в оригинальном варианте такого сравнения нет и стабильность выше.
Andrey_A писал(а):Хотелось бы ещё один параметр чтобы можно было выбрать - переход к следующему расширению (вниз) есть - переход к предыдущему расширению (хотелось бы).
Так вроде уже было? "Я сделал два скрипта - один вверх находит следующее расширение, другой вниз."
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Andrey_A писал(а):мне не нужна цикличность
Тогда зачем вопрос поднял?
Andrey_A писал(а):немножко прикинув, вообще отказался от скриптов
Я бы раcсмотрел такой вариант, если бы в TCMС был аналог LockTC. Смотреть на моргания как-то не доставляет удовольствия.
sa писал(а):Скорее всего, причина кроется в запуске очередной копии скрипта до того момента как отработала предыдущая.
Нет, проблема в том, что в переменную передаётся только часть буфера, команда TC не успевает отработать на больших списках. Поставил True.
Последний раз редактировалось Flasher Сб окт 15, 2011 13:18, всего редактировалось 1 раз.
sa
Сообщения: 2758
Зарегистрирован: Ср апр 29, 2009 18:56

Сообщение sa »

Flasher писал(а):Поставил True.
Всё равно слетает в начало списка. Даже на небольших списках без Ctrl+B.
Последний раз редактировалось sa Сб окт 15, 2011 12:30, всего редактировалось 1 раз.
Ответить