|
|
| Название | FindTemplate |
| Имя файла | FindTemplate.txt |
| Описание | Производит поиск по сохраненному шаблону. Извещает пользователя об окончании поиска |
| Автор | Вахмурка |
| Параметры | "Шаблон", "Способ извещения", "начать сразу" |
| Вызываемые плагины | vec, ini, win, childwin, miscplugin, osd |
| Версия | 2.1 |
| Дата обновления | 09.06.2008 |
args Key, Sig, Now
local i, Temp
local INIfile = "путь\wincmd.ini"
local Mess = "Search complete"
local Class = "c=TFindFile"
local AllKeys = ini.enum_keys(INIfile, "Searches")
local Total = line(AllKeys, 0)
local Counter = 0
for(i = 1; i <= Total; i++)
Temp = line(AllKeys, i)
if(index(Temp, "_SearchFor") != 0)
Counter++
endfor
v = vec.create(Counter)
if(v == 0) do
messagebox("ok error", "Vector not created", "VEC plugin error")
quit
endif
Counter = 0
for(i = 1; i <= Total; i++)
Temp = line(AllKeys, i)
if(index(Temp, "_SearchFor") != 0) do
v[Counter] = Temp
Counter++
endif
endfor
vec.sort(v)
Counter = vec.binsearch(v, Key ++ "_SearchFor")
vec.destroy(v)
vec.unload
*keys %{f7}+{tab}{right 3}{tab}{down}
for(i = 1; i <= Counter; i++)
*keys {down}
endfor
*keys {tab}{enter}
if(not Now)
quit
*keys {enter}
wait.for(activewindow(Class))
wait.for(win.handle(Class))
local Hand = win.handle(Class)
wait.for(childwin.handle(Hand, 71))
wait.for(win.gettext(childwin.handle(Hand, 71)) == "&Start search")
if(index(Sig, "b"))
miscplugin.balloontip(1, "INFORMATION", Mess, "title=FindTemplate Script")
if(index(Sig, "o"))
osd.show(Mess, "3000", "30", "Arial", "-1", "255 000 000")
if(index(Sig, "m"))
messagebox("ok information", Mess, "FindTemplate Script")
Если какой-либо поиск требуется проводить часто, разумно сохранить его и вызывать следующим образом
Скрипт позволяет сопоставить каждому шаблону кнопку и/или горячую клавишу и запукать нужный поиск одной кнопкой или горячей клавишей, как и команда LOADSEARCH, введенная в Total Commander 7.
Первый параметр скрипта - имя шаблона, например: runfile.FindTemplate("HTMLtext").
Иногда поиск длится минуты и даже часы, пока пользователь занят другой работой. Для извещения об окончании поиска служит второй параметр скрипта. Он может состоять из букв "m", "o" и "b" (только нижний регистр, порядок любой). Буквы задают выдачу сообщения с помощью: диалогового окна, надписи на экране или "облачка" (balloon tip) в панели задач. Например, FindTemplate("Duplicates", "om", "1") запустит поиск дубликатов (конечно, если такой шаблон есть) и по окончании поиска известит пользователя крупной надписью посередине экрана и "облачком".
Третий параметр, если присутствует и равен "1", заставляет начать поиск немедленно. Присвоить третьему параметру значение "0" или опустить его разумно в случае, если перед началом поиска требуется ввести дополнительные данные, скажем, текст.
Скрипт вызывает обычное окно поиска, но с птицей "Search archives". Остается ввести маску.
*keys %{f7}{tab 4}{space}{tab 3}
Ищет в текущей директории и в дочерних файл, имя которого занесено в буфер обмена.
Не путать с последствиями действия команд cm_CutToClipboard и cm_CopyToClipboard! Эти команды копируют не имя файла, а его расположение! Напротив, команда cm_CopyNamesToClip как раз-таки копирует имя файла под курсором. Если вы хотите найти в директории файл с тем же именем, что и файл в другой директории, выдайте команду cm_CopyNamesToClip или подобную (их там 5 штук), перейдите на нужную вкладку и вызовите скрипт. С тем же успехом имя файла для поиска может быть скопировано из текстового редактора и т. п.
Ищет в текущей директории и в дочерних файл(ы), содержащие текст в буфере обмена.
*keys %{f7}{del}{tab 5}{space}+{ins}{enter}
*keys %{f7}{del}+{tab}{right}{tab 3}{space}{tab 2}{up 2}+{tab}
Вес (сиречь размер) файла указыватся точно, то есть в байтах.
|
На главную |
|
Все о Total Commander |
|
PowerPro |
|
PowerPro & Total Commander |