View previous topic :: View next topic |
Author |
Message |
Skif_off
Joined: 28 Nov 2012 Posts: 1232
|
(Separately) Posted: Sat Jul 02, 2016 14:24 Post subject: |
|
|
LonerD wrote: | Это в ТС9 появилось? |
Нет, дефолтные возможности ListBox, работает и в 8.52а, а в ТС9 только удобнее получить дескриптор списка.
Апать не вижу смысла, ибо сложность с LB_* улавливаю (да и режимом эскизов не пользуюсь). |
|
Back to top |
|
|
LonerD
Joined: 04 Jan 2011 Posts: 1169 Location: Макеевка
|
(Separately) Posted: Thu Aug 04, 2016 01:01 Post subject: |
|
|
Благодаря новым возможностям ТС9 удалось значительно сократить и оптимизировать скрипт.
Code: | ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
; Total Commander DreamLair
; Script: Zebra file selection
; Скрипт: Выделение файлов зеброй
; Script version: 4.0 (2016.08.04)
; Required: Total Commander 9.0+
; Script author: LonerD
; Made in Donetsk People's Republic
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
; Parameters:
; 1) Selection mode:
; 1 - all; 2 - only files; 3 - only dirs
; 2) Selection position:
; 1 - begin from first file; 2 - from second etc
; 0 - begin from file under cursor
; 3) Selection range:
; 2 - each second file, 3 - each third file etc
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
; Параметры:
; 1) Метод выделения:
; 1 - всё; 2 - только файлы; 3 - только каталоги
; 2) Позиция выделения:
; с какого файла начинать (с первого, второго и т.д...)
; 0 - начинать с файла под курсором
; 3) Порядок выделения:
; 2 - каждый второй файл, 3 - каждый третий и т.д....
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#NoEnv
#NoTrayIcon
#MaxMem 1024
#SingleInstance force
SetBatchLines, -1
Mode = %1%
First = %2%
Range = %3%
If 0 < 3
Range = 2
If 0 < 2
First = 1
If Mode not in 1,2,3
Mode = 1
If not ( WinExist("ahk_class TTOTAL_CMD") || WinActive("ahk_class TTOTAL_CMD") )
ExitApp
WinGet, hw_TTOTAL_CMD, ID, ahk_class TTOTAL_CMD
global hw_TTOTAL_CMD
ClipSaved := ClipboardAll
Clipboard := ""
DllCall("LockWindowUpdate", "uint", hw_TTOTAL_CMD)
SendMessage, 1075, 524,,, % "ahk_id " hw_TTOTAL_CMD
SendMessage, 1075, 330 . Mode,,, % "ahk_id " hw_TTOTAL_CMD
TCAPanel := SendMessageTC(1074, 1000, 0, A)
hw_TCAPanel := SendMessageTC(1074, 8+TCAPanel, 0, A)
SelItems := SendMessageTC(1074, 1004+TCAPanel, 0, A)
if ( SelItems = 0 )
Goto, Exit
SendMessage, 1075, 2018,,, % "ahk_id " hw_TTOTAL_CMD
FileList := Clipboard
Clipboard := ""
ControlGetText, TCAPanelPath,, % "ahk_id " hw_TCAPanel
TCAPanelPath := StrReplace(TCAPanelPath, "\*.*", "\")
FileList := StrReplace(FileList, TCAPanelPath)
IsUpDir := SendMessageTC(1074, 1008+TCAPanel, 0, A)
if ( First = 0 )
{
FirstFile := SendMessageTC(1074, 1010+TCAPanel, 0, A)
FirstSelFile := SendMessageTC(1074, 1006+TCAPanel, 0, A)
if (( Mode = 3 ) & ( FirstSelFile >= FirstFile ))
{
SendMessage, 1075, 524,,, % "ahk_id " hw_TTOTAL_CMD
Goto, Exit
}
else if ((( FirstSelFile = 0 ) & ( IsUpDir = 1)) || (( Mode = 2 ) & ( FirstSelFile < FirstFile )))
FirstSelFile := 1
}
else
FirstSelFile := First
FileListSel := ""
Loop, Parse, FileList, `n, `r
{
if ( Mod(A_Index - FirstSelFile + IsUpDir,Range) = 1 )
FileListSel := FileListSel "`r`n" A_LoopField
}
Clipboard := FileListSel
SendMessage, 1075, 2033,,, % "ahk_id " hw_TTOTAL_CMD
Exit:
Clipboard := ClipSaved
ClipSaved := ""
FileList := ""
FileListSel := ""
DllCall("LockWindowUpdate", "uint", 0)
ExitApp
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SendMessageTC(TCMsg, wParam, lParam, aControl)
{
SendMessage, % TCMsg, % wParam, % lParam, % aControl, % "ahk_id " hw_TTOTAL_CMD
return ErrorLevel
}
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
_________________ Windows 11 | TC DreamLair eternal pre-α |
|
Back to top |
|
|
Skif_off
Joined: 28 Nov 2012 Posts: 1232
|
(Separately) Posted: Thu Aug 04, 2016 14:29 Post subject: |
|
|
LonerD
LB_SETSEL не пробовал? Попробовал ради любопытства - у меня не срабатывает. |
|
Back to top |
|
|
Totas
Joined: 05 Sep 2015 Posts: 24
|
(Separately) Posted: Sun Feb 05, 2017 10:33 Post subject: Выделение файлов через один |
|
|
Как выделить папки через один, но не скриптом, а плагином (каким)? Скрипт не знаю куда вписывать. |
|
Back to top |
|
|
Avada
Joined: 01 Aug 2008 Posts: 10280 Location: Россия, Саратов
|
(Separately) Posted: Sun Feb 05, 2017 10:47 Post subject: |
|
|
Totas
А плагин вы знаете, куда вписывать? Не говоря про то, что не бывает плагинов для этой задачи, полностью заменяющих скрипты. И надобности в них нет никакой. А для тех, кто не знает, что куда вписывать, есть материалы форума, включая эту тему и памятку по скриптам в "Автоматизации". См. здесь. Опять та же история? _________________ Даже самая богатая фантазия
Не представит себе наши безобразия. |
|
Back to top |
|
|
sa
Joined: 29 Apr 2009 Posts: 2597
|
(Separately) Posted: Sun Feb 05, 2017 16:07 Post subject: |
|
|
Totas
Поэкспериментируйте с плагином Misc. В диалоге поиска (Alt+F7) на вкладке "Плагины" нужно задать параметры
Плагин: misc
Свойство: odd
Операция: =
Значение: Да
и на вкладке "Шаблоны поиска" сохранить шаблон (назовём его odd).
После этого из расширенного русского меню или из кнопки вызывать команду для выделения группы папок (cm_SelectFolders - Выделить группу: только папки) и выбирать созданный ранее шаблон >odd. В девятой версии тотала можно просто завести кнопку с командой selectfilesd >odd. |
|
Back to top |
|
|
jackal-85
Joined: 18 Dec 2017 Posts: 3
|
(Separately) Posted: Tue Dec 19, 2017 10:57 Post subject: |
|
|
LonerD wrote: | Благодаря новым возможностям ТС9 удалось значительно сократить и оптимизировать скрипт. |
подскажите, пожалуйста, как использовать Ваш скрипт?
что сделал я:
скопировал код, сохранил в файле формата vbs, закрепил на панели в TC9.01, добавлял различные параметры (%V, %Z, %P, 1 1 2)...
в любых случаях выдаёт ошибку 800А0400.
что я делаю не так?
спасибо большое! |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Tue Dec 19, 2017 11:16 Post subject: |
|
|
jackal-85 wrote: | что я делаю не так? | 1. Начинаете предложения с маленькой буквы.
2. Не так сохраняете. Это ahk, а не vbs (себе потом тоже делал упрощённый под ТС9). Запускается через свой интерпретатор.
3. Не читаете внимательно шапку скрипта и памятку раздела. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
jackal-85
Joined: 18 Dec 2017 Posts: 3
|
(Separately) Posted: Tue Dec 19, 2017 15:49 Post subject: |
|
|
Flasher wrote: | jackal-85 wrote: | что я делаю не так? | 1. Начинаете предложения с маленькой буквы.
2. Не так сохраняете. Это ahk, а не vbs (себе потом тоже делал упрощённый под ТС9). Запускается через свой интерпретатор.
3. Не читаете внимательно шапку скрипта и памятку раздела. | а Можно Было Просто Написать "установи AutoHotkey", А Не Писать Столько Всего Лишнего...
ну и на этом спасибо! |
|
Back to top |
|
|
Avada
Joined: 01 Aug 2008 Posts: 10280 Location: Россия, Саратов
|
(Separately) Posted: Tue Dec 19, 2017 15:56 Post subject: |
|
|
jackal-85
В первую очередь можно (и нужно!) соблюдать правила форума, за нарушение которых — замечание. _________________ Даже самая богатая фантазия
Не представит себе наши безобразия. |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Tue Dec 19, 2017 16:18 Post subject: |
|
|
jackal-85
А ничего лишнего (в отличии от запрошенного) и не написано. Во-первых, приведены ссылки, по которым есть возможность определиться с выбором. Во-вторых, тут де-факто принято сперва читать прикреплённую памятку без задавания лишних вопросов. В-третьих, как-то вот обходимся мы без установки, поэтому предлагать подобное выглядело бы с моей стороны нелепицей. Под запуском через интерпретатор понимается не что иное, как подстановка пути перед путём к скрипту. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
jackal-85
Joined: 18 Dec 2017 Posts: 3
|
(Separately) Posted: Tue Dec 19, 2017 16:40 Post subject: |
|
|
Flasher wrote: | Во-первых, приведены ссылки, по которым есть возможность определиться с выбором. | спасибо, не обратил внимание на скрипт vbs...
Flasher wrote: | Во-вторых, тут де-факто принято сперва читать прикреплённую памятку без задавания лишних вопросов. | не нашёл в теме, поэтому и спросил...
Flasher wrote: | В-третьих, как-то вот обходимся мы без установки, поэтому предлагать подобное выглядело бы с моей стороны нелепицей. Под запуском через интерпретатор понимается не что иное, как подстановка пути перед путём к скрипту. | я не знаю как можно обойтись, и поэтому тоже спросил...
вобщем спасибо! |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Tue Dec 19, 2017 16:55 Post subject: |
|
|
jackal-85 wrote: | не нашёл в теме | В теме прикреплений быть не может. Написано о текущем разделе.
jackal-85 wrote: | не знаю как можно обойтись | Элементарно. Распаковывается верхний .zip под голубой кнопкой и используется подстановочный и соответствующий битности системы интерпретатор (AutoHotkeyU(32/64).exe).
P.S.: П. 1 тут игнорировать чревато. Советую уважать участников обсуждения, тут не чат. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
Avada
Joined: 01 Aug 2008 Posts: 10280 Location: Россия, Саратов
|
(Separately) Posted: Tue Dec 19, 2017 16:59 Post subject: |
|
|
jackal-85
Ещё раз — и последний: либо вы оформляете свои посты нормально, либо, скорее всего, будете дальше решать свои проблемы в другом месте. _________________ Даже самая богатая фантазия
Не представит себе наши безобразия. |
|
Back to top |
|
|
HEXFIX
Joined: 25 Jun 2010 Posts: 173 Location: Калининград
|
(Separately) Posted: Sat May 02, 2020 16:54 Post subject: |
|
|
Flasher, а возможно скрипт доработать? По факту мелочь, но было бы идеально.
Сейчас объясню. Если я задаю в параметрах "выделить только папки" и применяю скрипт, но при этом курсор не стоит именно на папке, то выделения папок не происходит. С файлами работает где бы курсор ни стоял. Можно ли сделать то же самое и для папок? |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|