Выделение дубликатов

Обсуждение Total Commander. Установка, использование, настройка, решение проблем, скрытые функции. Обсуждение новых версий.

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

Аватара пользователя
Вахмурка
Сообщения: 2587
Зарегистрирован: Пн дек 27, 2004 14:47
Откуда: Большая деревня Москва
Контактная информация:

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

Похоже, что и нет. Тупой поиск позволил выделить нечто похожее, покопайся, если есть нужда:
http://ghisler.ch/board/viewtopic.php?t=18609
http://forum.wincmd.ru/viewtopic.php?t=5341
http://forum.wincmd.ru/viewtopic.php?p=42961
http://forum.wincmd.ru/viewtopic.php?p=44951
http://forum.wincmd.ru/viewtopic.php?t=12287
Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон)
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

HEXFIX
Тут в строке

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

    If Cnt Mod 2 = 1 Then
вместо 2 написать WScript.Arguments(0)
В параметрах задавать свой шаг.
В общем, прилизал:

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

'  Выделить элементы списка с заданным шагом
'  Необходима регистрация Script Helper ActiveX for TC
'  Параметры: <режим выделения> <шаг> <начальная позиция>
'  Режим выделения: 1 - всё; 2 - только файлы; 3 - только папки
'  Начальная позиция: 1/2 - первый/второй элемент
'  Пример: 2 5 1
'==============================================
With CreateObject("TCScript.Helper")
  T = .GetTextFromClip
  .LockTC True
  .SendCommand 330&WScript.Arguments(0)
  .SendCommand 2017, True
  .SendCommand 524
  List = Split(.GetTextFromClip,vbNewLine)
  If UBound(List) >= Abs(WScript.Arguments(1)) Then
    For Cnt=0 To UBound(List)
      If Cnt Mod WScript.Arguments(1) = WScript.Arguments(2)-1 Then
        Buf = Buf & List(Cnt) & vbNewLine
      End If
    Next
    .SetTextToClip CStr(Buf)
    .LockTC False
    .SendCommand 2033, True
  End If
  .SetTextToClip T
End With
HEXFIX
Сообщения: 177
Зарегистрирован: Пт июн 25, 2010 19:54
Откуда: Калининград

Сообщение HEXFIX »

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

Сообщение Flasher »

HEXFIX
Это может быть, если в предпоследней строке убрать точку спереди.
HEXFIX
Сообщения: 177
Зарегистрирован: Пт июн 25, 2010 19:54
Откуда: Калининград

Сообщение HEXFIX »

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

Сообщение Flasher »

Да в общем-то, логично. Надо подумать, почему у тебя с этим проблема. Можно, конечно, эту строку удалить вместе с T = .GetTextFromClip, но тогда текущий буфер теряется.
HEXFIX
Сообщения: 177
Зарегистрирован: Пт июн 25, 2010 19:54
Откуда: Калининград

Сообщение HEXFIX »

Да в общем-то не критично. Просто у меня срабатывает рефлекс "Ошибка!"
Изображение
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Не критично что? Потеря буфера или появление ошибки?
HEXFIX
Сообщения: 177
Зарегистрирован: Пт июн 25, 2010 19:54
Откуда: Калининград

Сообщение HEXFIX »

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

Сообщение Flasher »

А попробуй заключить T в скобки: .SetTextToClip(T)
HEXFIX
Сообщения: 177
Зарегистрирован: Пт июн 25, 2010 19:54
Откуда: Калининград

Сообщение HEXFIX »

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

Сообщение Flasher »

Хорошо. Назови версию Хелпера на вcякий случай. У меня beta 12.
HEXFIX
Сообщения: 177
Зарегистрирован: Пт июн 25, 2010 19:54
Откуда: Калининград

Сообщение HEXFIX »

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

Сообщение Flasher »

Возможно, в этом и причина. Рекомендую обновиться. Там есть важное изменение, касаемое буфера.
Аватара пользователя
shveicar
Сообщения: 277
Зарегистрирован: Пн апр 18, 2011 01:54
Откуда: Россия Москва

Сообщение shveicar »

Добрый день Подскажите, можно ли заставить данный скрипт
Выделить элементы списка с заданным шагом
выделять файлы или папки с определенным количеством символов в имени. И добавить бы в него, окно с вводом параметров: режим выделения, шаг, число символов. (параметр - начальная позиция, мне не совсем понятен) -Цены бы-ему не было. Спасибо.
P.s Ксати - в оригинале этот скрипт, у меня, почему то не работает.
Ответить