Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Фильтр отбора с пользовательским шаблоном
Goto page 1, 2, 3  Next
 
Post new topic   Reply to topic    Total Commander Forum Index -> Автоматизация Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
Dave



Joined: 26 Apr 2009
Posts: 24

Post (Separately) Posted: Mon Apr 27, 2009 18:43    Post subject: Фильтр отбора с пользовательским шаблоном Reply with quote

Господа, очень удобно в процессе работы с Тоталом оказалось пользоваться возможностью "Фильтра отбора файлов" с пользовательским шаблоном "Файлы не старше 1 часа". Возможно ли создать пользовательскую команду на это действие (скрипт, bat-файл, или еще что-либо проще)? Хотелось бы в итоге прийти к действию с двумя пользовательскими хоткеями - задать данный фильтр, снять все фильтры(ну с этим то проблем нет). Может кто уже заморачивался подобным вопросом? Спасибо.
ЗЫ. Цветовое выделение "файлов не старше 1 часа" не предлагать, уже работает... но не спасает Cool
Back to top
View user's profile Send private message
Worros



Joined: 19 Jan 2007
Posts: 1123

Post (Separately) Posted: Mon Apr 27, 2009 19:14    Post subject: Reply with quote

Ctrl+F12 , шаблон и выбрать тот же шаблон, что использовался для расцветки. Или я чего то не понимаю?
Back to top
View user's profile Send private message
Dave



Joined: 26 Apr 2009
Posts: 24

Post (Separately) Posted: Mon Apr 27, 2009 19:30    Post subject: Reply with quote

Worros wrote:
Ctrl+F12 , шаблон и выбрать тот же шаблон, что использовался для расцветки. Или я чего то не понимаю?

Это то понятно, хочется максимально быстро в одно нажатие вынесенной на панель кнопки (или один хоткей), так же как работает вынесенная Гислером отдельная команда cm_SrcExecs (Фильтр отбора - программы)
Back to top
View user's profile Send private message
Dave



Joined: 26 Apr 2009
Posts: 24

Post (Separately) Posted: Mon Apr 27, 2009 22:50    Post subject: Reply with quote

Посмотрев примеры скриптов, написанные пользователем Batya и используя суперметод copy-paste Laughing вроде удалось сделать работающий скрипт
Code:

Set TCS = CreateObject("TCSCRIPT.Helper")
ShablonName = ">Не старше 1 часа"
TCS.SendCommand "cm_SrcUserDef"
TCS.SendKeystroke CStr(ShablonName)
TCS.SendKeystroke "{ENTER}"
Set TCS=Nothing
Wscript.Quit

Не уверен, что код 100% верен (я только сегодня с Helper-ом стал разбираться), но он работает.
Back to top
View user's profile Send private message
Dave



Joined: 26 Apr 2009
Posts: 24

Post (Separately) Posted: Tue Apr 28, 2009 23:44    Post subject: Reply with quote

Обнаружился неприятный глюк. Если текущая раскладка клавиатуры русская , то вместо строки ">Не старше 1 часа" посылается в скрипте строка ">ЮНе старше 1 часа". Т.е. символ ">" меняется на "Ю" и скрипт корректно не отрабатывает. Это как-нибудь лечится? Можно ли передать символ ">" как-нибудь кодом этого символа? Help..
Back to top
View user's profile Send private message
Worros



Joined: 19 Jan 2007
Posts: 1123

Post (Separately) Posted: Wed Apr 29, 2009 15:46    Post subject: Reply with quote

Если честно, скриптами не пользуюсь и совет свой не проверял, но я бы попробовал избавиться от shablonname и вписать напрямую TCS.SendKeystroke ">Не старше 1 часа" , тем более что в примерах от автора Script Helpera CStr не фигурирует, он там явно лишний.
Back to top
View user's profile Send private message
Dave



Joined: 26 Apr 2009
Posts: 24

Post (Separately) Posted: Wed Apr 29, 2009 18:48    Post subject: Reply with quote

Worros wrote:
Если честно, скриптами не пользуюсь и совет свой не проверял, но я бы попробовал избавиться от shablonname и вписать напрямую TCS.SendKeystroke ">Не старше 1 часа" , тем более что в примерах от автора Script Helpera CStr не фигурирует, он там явно лишний.

Нет, к сожалению этот вариант не помогает
Back to top
View user's profile Send private message
sa



Joined: 29 Apr 2009
Posts: 2693

Post (Separately) Posted: Wed Apr 29, 2009 19:16    Post subject: Reply with quote

Для выхода из положения использовал вместо ShablonName TCS.SendKeystroke "{TAB}{END}{ENTER}", переименовав шаблон в "Файлы не старше 1 часа", благодаря чему он оказался у меня последним ({END}) в списке шаблонов. Нечестно, но работает.
Back to top
View user's profile Send private message
Dave



Joined: 26 Apr 2009
Posts: 24

Post (Separately) Posted: Wed Apr 29, 2009 20:16    Post subject: Reply with quote

sa wrote:
Для выхода из положения использовал вместо ShablonName TCS.SendKeystroke "{TAB}{END}{ENTER}", переименовав шаблон в "Файлы не старше 1 часа", благодаря чему он оказался у меня последним ({END}) в списке шаблонов. Нечестно, но работает.

Отлично! Немного усовершенствуем вашу идею
Code:

Set TCS = CreateObject("TCSCRIPT.Helper")
TCS.Pause = 0
TCS.SendCommand "cm_SrcUserDef"
TCS.SendKeystroke "{TAB}" 
TCS.SendKeystroke "Не старше 1 часа"
TCS.SendKeystroke "{ENTER}"
Set TCS=Nothing
Wscript.Quit


Работает. Можно сделать при желании еще кучу различных фильтров-скриптов, не забывая только то, что используем в названиях шаблонов исключительно русские символы, иначе будет косячить как с транслитом ">" в "Ю" [/quote]
Back to top
View user's profile Send private message
sa



Joined: 29 Apr 2009
Posts: 2693

Post (Separately) Posted: Wed Apr 29, 2009 21:16    Post subject: Reply with quote

Dave wrote:
Работает.

По моему, в Вашем варианте возникают проблемы в случае, когда текущий язык английский, а шаблон "Не старше 1 часа" не первый в списке шаблонов...
Back to top
View user's profile Send private message
Dave



Joined: 26 Apr 2009
Posts: 24

Post (Separately) Posted: Wed Apr 29, 2009 22:08    Post subject: Reply with quote

sa wrote:

По моему, в Вашем варианте возникают проблемы в случае, когда текущий язык английский, а шаблон "Не старше 1 часа" не первый в списке шаблонов...

Вы не поняли. Абсолютно не важно каким по счету шаблон в списке шаблонов и какой язык в системе (Неlper все равно все текстовые строки конвертирует в русскую раскладку). Здесь вся фишка в том, что команда TCS.SendKeystroke "Не старше 1 часа" работает как быстрый поиск в списке (файлов, шаблонов и т.д.). А как раз ваша команда TAB и позволила попасть в этот список шаблонов, где этот быстрый поиск и работает.
Back to top
View user's profile Send private message
sa



Joined: 29 Apr 2009
Posts: 2693

Post (Separately) Posted: Wed Apr 29, 2009 22:28    Post subject: Reply with quote

У меня при английской раскладке клавиатуры быстрый поиск в списке не работает и выбирается первый шаблон из списка. Это наглядно видно при установке TCS.Pause = 500. С русской же раскладкой всё нормально проходит.
Back to top
View user's profile Send private message
Dave



Joined: 26 Apr 2009
Posts: 24

Post (Separately) Posted: Wed Apr 29, 2009 22:58    Post subject: Reply with quote

Кажется я знаю где копать Cool Язык ввода по умолчанию у меня стоит "Английский", а у Вас видимо "Русский". Если поменяете - то и у Вас будет работать во всех раскладках. Да, и перезагрузить компьютер после смены языка ввода по умолчанию, естественно.
Back to top
View user's profile Send private message
sa



Joined: 29 Apr 2009
Posts: 2693

Post (Separately) Posted: Thu Apr 30, 2009 09:10    Post subject: Reply with quote

Dave wrote:
Язык ввода по умолчанию у меня стоит "Английский"

У меня тоже "Английский". Простите за занудство, но Вы подтверждаете отсутствие проблемы при английской раскладке и не первом шаблоне в списке?
Back to top
View user's profile Send private message
Dave



Joined: 26 Apr 2009
Posts: 24

Post (Separately) Posted: Thu Apr 30, 2009 09:57    Post subject: Reply with quote

sa wrote:

У меня тоже "Английский". Простите за занудство, но Вы подтверждаете отсутствие проблемы при английской раскладке и не первом шаблоне в списке?

Да, подтверждаю. У меня все работает при любых раскладках. А Ваша ситуация у меня четко моделируется если выбрать "Панель управления" > "Язык и региональные стандарты" > "вкладка Языки" > "кнопка Подробнее" > "раздел Язык ввода по умолчанию" > "Русский-русская" и перезагрузиться. Тогда действительно происходит как Вы пишите, при англ.раскладке скрипт тупо выбирает первый пункт списка шаблонов. На всякий случай - у меня Win XP Rus SP3, Тотal Commander 7.04a
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Автоматизация Total Commander All times are GMT + 4 Hours
Goto page 1, 2, 3  Next
Page 1 of 3

 
Jump to:  
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