А мне нет. Пауза в моём случае не годится. А как там у других вообще неясно. Поэтому шаблон отпал. Плюс к этому в моём скрипте есть не только "не старше", но и "не младше", а также "менее", "более" и "совпадает", есть два типа даты, выбор того, что фильтровать. Настраивать кнопки гораздо удобней, плодить шаблоны не требуется, кнопки выходят куда компактнее. Ну и самое главное - никаких мельканий.sa писал(а):Мне больше нравится идея ... посредством выделения (cm_SelectBoth – 3311) по шаблону
Как сделать чтобы фильтр "не старше 1 дня" влиял на папки?
Модераторы: d-view, Моторокер, Avada, CaptainFlint, Nik
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Даже "между" нет? И учёта атрибутов и/или размеров файлов?Flasher писал(а):есть не только "не старше", но и
Особо чувствительные к мельканиям могут сократить их вдвое за счёт создания пользовательской команды em_cd (с командой cd и параметром %A%Z) для вызова шаблона вместо применённой в кнопке внутренней команды 314. Вызов её будет таким:Flasher писал(а):мельканий
Код: Выделить всё
tem(`em_cd >не старше 1 дня`)Код: Выделить всё
tcm(314,1) eval(send_wait(`~(>не старше 1 дня){ENTER}`, findwnd(`TCOMBOINPUT`)))
Последний раз редактировалось sa Ср окт 21, 2015 22:19, всего редактировалось 1 раз.
Про "между" не думал. Можно добавить, в принципе. А вот атрибуты и размеры - это совсем про другое, тут их нет смысла добавлять. Ты ещё поиск дубликатов и инфоплагины назови.sa писал(а):Даже "между" нет? И учёта атрибутов и/или размеров файлов?
Ой, оно там у тебя ещё и двойное.sa писал(а):Особо чувствительные к мельканиям могут сократить их вдвое

Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
С чем - с другим? Главное, что скрипт отрабатывает без сбоев.sa писал(а):А вот при выделении по шаблону, а не через буфер обмена, проблем с совсем другим не возникнет.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Так я как раз против этого. Разговор не про все шаблоны, а те, которые касаются общего фильтра по дате модицикации. Не сомневаюсь, что комбинации с плагинами и атрибутами в таких подсветках или фильтрах - это редчайшие в плане реального применения случаи.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Совсем не про то же (общий фильтр). Мой скрипт у меня хотя бы работает. А твоя кнопка - нет.
Об остальном я уже высказался. Заявленная тема решена мной в расширенных рамках без необходимости тратить время на манипуляции с созданием шаблонов. Нужды подвязывать другие опции, как уже объяснено, не было и нет.
А что касается "между", то в целях соответствия уж точно если и добавлять, то не между датами, как в ТС, а между числами.
[cut="С учётом несущественного влияния на скорость выкладываю отдельно."][/cut]Плюс сюда добавил нераздражающее всплывающее окошко под курсором в случае отсутствия фильтрации.
Об остальном я уже высказался. Заявленная тема решена мной в расширенных рамках без необходимости тратить время на манипуляции с созданием шаблонов. Нужды подвязывать другие опции, как уже объяснено, не было и нет.
А что касается "между", то в целях соответствия уж точно если и добавлять, то не между датами, как в ТС, а между числами.
[cut="С учётом несущественного влияния на скорость выкладываю отдельно."]
Код: Выделить всё
'•••••••••••••••••••••••••••••••••••••• VBS ••••••••••••••••••••••••••••••••••••••
' Назначение: Фильтрация в активной панели файлов и/или папок по диапазону между
' заданным и текущим значениями единицы времени, между двумя заданными значениями
'
' Условия: путь запуска - пустой
' необходим компонент Script Helper ActiveX for TC
'
' Параметры: <тип элементов> <тип даты> <единица времени> <знак сравнения> <число>
' Добавочные параметры: (6, 7): <знак сравнения> <число>
'
' Тип элементов принимает следующие значения:
' 1 - только папки
' 2 - только файлы
' 3 - папки и файлы
'
' Тип даты принимает следующие значения:
' 1 - дата создания
' 2 - дата модификации
'
' Единица времени принимает следующие значения:
' s - секунда
' n - минута
' h - час
' d - сутки/день
' ww - неделя
' m - месяц
' q - квартал
' yyyy - год
' (не равно)
' Знак сравнения принимает следующие значения: = | <> | < | <= | >= | >
'
' Примечание:
' Связка параметров 6 и 7 аналогична связке 4 и 5. Их применение актуально для
' формирования диапазона между установленными значениями. См. ниже 3-й пример.
'
' Примеры параметров: 3 1 n <= 5 | 2 2 d < 2 | 1 1 m >= 1 <= 3
' Дипазон фильтрации в последнем примере: не менее одного и не более трёх месяцев
'
' Автор: Flasher ©
'•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
Option Explicit
Dim C, Etype, DType, UTime, Comp1, Comp2, Count, Count2, DNow, Dir, F, S, Color, T
With WScript.Arguments
C = .Count : If C < 5 Then MsgBox "Должно быть указано не менее 5-ти " & _
"параметров!", 48, " Фильтрация по временному диапазону" : WSCript.Quit
EType = .Item(0) : DType = .Item(1) : UTime = .Item(2) : Comp1 = .Item(3)
Count = .Item(4) : If C > 5 Then Comp2 = .Item(5) : Count2 = .Item(6)
End With : DNow = Now
Set Dir = CreateObject("Scripting.FileSystemObject")._
GetFolder(CreateObject("Wscript.Shell").CurrentDirectory)
If EType <> 2 Then
For Each F in Dir.SubFolders
If Test(F) Then S = S & F & "\" & vbNewLine
Next
End If
If EType > 1 Then
For Each F in Dir.Files
If Test(F) Then S = S & F & vbNewLine
Next
End If
With CreateObject("TCScript.Helper")
.Pause = 0
If IsEmpty(S) Then
Color = .INIRead(.MainINI, "Colors", "BackColor", "-1")
If Color = "-1" Then Color = 16777215
CreateObject("Internet.HHCtrl").TextPopup "Нет соответствий фильтру!",_
"Verdana,10", 20, 10, Abs(.INIRead(.MainINI,"Colors","ForeColor","-1")), Color
WScript.Sleep 2000
Else
.Wait = True : .LockTC True : T = .GetTextFromClip
.SetTextToClip(S) : .SendCommand 2033, True : .SendCommand 2023, True
.SendCommand 524, True : .LockTC False : .SetTextToClip(T)
End If
End With
Function Test(Item)
Dim D, Cnt
If DType = 1 Then D = Item.DateCreated Else D = Item.DateLastModified
Cnt = DateDiff(UTime, 0, DNow - D) : Test = Eval(Cnt & Comp1 & Count)
If C > 5 Then Test = Test And Eval(Cnt & Comp2 & Count2)
End Function
Последний раз редактировалось Flasher Вс окт 25, 2015 13:56, всего редактировалось 9 раз.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
sa писал(а):Спасибо за тестирование.
Flasher писал(а):Пауза в моём случае не годится.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Странно. У меня сразу.sa писал(а):она у меня отрабатывает почему-то секунд за 5
Задержка delay(200).sa писал(а):А что за пауза в моей кнопке?
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.