|
|
| Название | UserMenuAnalyzer |
| Имя файла (*.txt) | UserMenuAnalyzer.txt |
| Описание | Извлекает информацию о пользовательских меню (разделы [User] и [DirMenu]) конфигурации |
| Автор | Вахмурка |
| Параметры | ("user") |
| Вызываемые плагины | ini |
| Иконка |
|
| Версия | 1.0 |
| Дата обновления | 02.03.15 |
args Sec
static Config = env("WINDIR") ++ "\wincmd.ini"
static CR = esc(?+\n+, ?+\+)
static Tab = esc(?+\t+, ?+\+)
local i, Value, OpenSM, CloseSM, Separator, Temp, cd, param, Target, Nest, MaxNest
for(i = 1; i <= 200; i++)
Temp = "menu" ++ i
if(ini.check_exists(Config, Sec, Temp) != 3) do
break
else
Value = ini.get(Config, Sec, Temp)
if(Value == "-") do
Separator++
jump NotMenu
endif
if(Value[0, 1] == "--") do
CloseSM++
Nest--
jump NotMenu
endif
if(Value[0] == "-") do
OpenSM++
Nest++
MaxNest = max(Nest, MaxNest)
jump NotMenu
endif
endif
@NotMenu
Temp = "cmd" ++ i
if(ini.check_exists(Config, Sec, Temp) == 3 && slice(ini.get(Config, Sec, Temp), 3) == "cd ")
cd++
if(ini.check_exists(Config, Sec, "path" ++ i) == 3)
Target++
endfor
Temp = "Section:" ++ Tab ++ Tab ++ Sec ++ CR ++ "Items:" ++ Tab ++ Tab ++ (i - 1) ++ CR
Temp ++= "Submenu starts:" ++ Tab ++ OpenSM ++ CR ++ "Submenu ends:" ++ Tab ++ CloseSM ++ CR
Temp ++= "Max. Nesting:" ++ Tab ++ MaxNest ++ CR ++ "'cd' Commands:" ++ Tab ++ cd ++ CR
Temp ++= "Separators:" ++ Tab++ Separator ++ CR ++ "Target paths:" ++ Tab ++ Target
messagebox("ok info", Temp, "UserMenuAnalyzer Script")
if(Sec.case("lower") == "user")
.UserMenuAnalyzer("DirMenu")
Особый интерес представляют три начальные цифры. Самая первая показывает общее число пунктов, которое не может превышать 200. Собственно, и скрипт я написал, чтобы контролировать близость моего меню (правда, другого, из раздела {DirMenu]), к "критической точке".
Вторая и третья цифры должны совпадать. Они показывают число пунктов, начинающих подменю, и заканчивающих их, соответственно. Если они не равны, рекомендуется тщательно проверить свою конфигурацию – возможны проблемы, например, с плагином TWinKey, который не будет отображать меню правильно.
Остальные показатели представляют интерес разве что с точки зрения любопытства: максимальная глубина вложенности, число команд перехода к директории, разделителей и команд с путем-приемником.
После нажатия ОК будет выдана аналогичная информация об упомянутом меню из раздела {DirMenu].
|
На главную |
|
Все о Total Commander |
|
PowerPro |
|
PowerPro & Total Commander |