|   | 
 | 
| Название | SelectFilter | 
| Имя файла (*.txt) | SelectFilter.txt | 
| Описание | Выделяет файлы/директории согласно заданному фильтру | 
| Автор | Вахмурка | 
| Параметры | ("имя_фильтра", "1|2") | 
| Вызываемые плагины | ini, vec, win | 
| Иконка | зависит от фильтра | 
| Версия | 1.0 | 
| Дата обновления | 19.08.2006 | 
args Key, Comm
local hwnd = win.handle("c=TTOTAL_CMD")
local i, Temp, Flags, Pos
local INIfile = "путь\wincmd.ini"
local AllKeys = ini.enum_keys(INIfile, "Searches")
local Total = line(AllKeys, 0)
local Counter = 0
local SF = "_SearchFor"
for(i = 1; i <= Total; i++)
	Temp = line(AllKeys, i)
	if(index(Temp, SF))
		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, "_SearchFlags")) do
		Flags = ini.get(INIfile, "Searches", Temp)
		Pos = length(Flags) - 3
		if(select(Flags, Pos, Pos)) do
			Counter--
			continue
		endif
	endif
	if(index(Temp, SF)) do
		v[Counter] = Temp
		Counter++
	endif
endfor
vec.sort(v)
Counter = vec.binsearch(v, Key ++ SF)
vec.destroy(v)
Comm = 520 + Comm
win.postmessage(hwnd, 0x400+51, Comm, 0)
wait.for(1500, win.visible("c=TCOMBOINPUT"))
*keys {tab}{right}
for(i = 1; i <= Counter; i++)
	*keys {down}
endfor
*keys {enter}
Нажмите "серый плюс". Там находится список сохраненных фильтров, позволяющих выделять файлы и директории согласно заданным критериям. Если этот список достаточно велик, поиск нужного фильтра может оказаться утомительным делом.
Скрипт позволяет производить выделение одной кнопкой или горячей клавишей. Первый параметр - имя фильтра, второй - "1" для выделения и "2" для снятия выделения.
Мне показалось очень удобным следующее: создать два фильтра "Только файлы, не директории" и "Только директории, не файлы", присвоить их вызов скрипту и назначить им горячие клавиши Ctrl+Alt+F и Ctrl+Alt+D.
|   | На главную |   | Все о Total Commander |   | PowerPro |   | PowerPro & Total Commander |