UserMenuAnalyzer

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