| 
 | 
| Название | 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 |