Button2em_

Название Button2em_
Имя файла (*.txt) Button2em.txt
Описание Преобразование кнопки в пользовательскую команду
Автор Вахмурка
Параметры -
Вызываемые плагины file, ini, vec
Иконка
Версия 1.2
Дата обновления 15.02.2012
local Path = путь_к_панелям\*.bar"
local Bar = pickfile(file.listfiles(Path, 0), "Pick Bar File")
static BB = "Buttonbar"
static M = "menu"

if(not Bar)
	quit

local i, Mess, Counter
local Buttons = ini.get(Bar, BB, "Buttoncount")
if(ini_status != "OK") do
	messagebox("ok error", ini_status, "INI plugin error #1")
	quit
endif

local v = vec.create(Buttons)
if(v <= 0) do
	messagebox("ok error", "Failure creating vector", "VEC plugin Error #1")
	quit
endif

for(i = 1; i <= Buttons; i++)
	Path = ini.check_exists(Bar, BB, M ++ i)
	if(Path != 3)
		continue

	Mess = Mess ++ ini.get(Bar, BB, M ++ i) ++ esc(?+\n+, ?+\+)
	v[Counter] = i
	Counter++
endfor

pickstring(Mess, "Pick a button from " ++ Bar, 2)

if(not _pickedline_)
	quit

Counter = v[_pickedline_ - 1]
v.destroy

v = vec.createfromwords("button cmd path param menu")
if(v <= 0) do
	messagebox("ok error", "Failure creating vector", "VEC plugin Error #2")
	quit
endif

Buttons = ini.get(Bar, BB, M ++ Counter)
Buttons = case("title", Buttons)
Mess = "em_" ++ replacechars(Buttons, " ", "")
Buttons = inputdefault(Mess, "Enter new user command name")

if(not Buttons)
	quit

Path = env("WINDIR") ++ "\usercmd.ini"

for(i = 0; i < 4; i++)
	if(ini.check_exists(Bar, BB, v[i] ++ Counter) == 3) do
		Mess = ini.get(Bar, BB, v[i] ++ Counter)
		ini.set(Path, Buttons, v[i], Mess) 
	endif
endfor

Комментарии:

Скрипт преобразует кнопку с панели в пользовательскую команду (например, с целью присвоения последней горячей клавиши). Сначала в теле скрипта следует указать путь к файлам панелей (*.bar) - обычно он определяется ключом TabDir конфигурации. Далее, указывается путь к файлу usercmd.ini, обычно совпадающий с путем к wincmd.ini.

После запуска скрипта сначала выбираем панель, затем кнопку на ней. Название кнопки преобразуется и предлагается как имя новой команды, но его можо изменить.


На главную Все о Total Commander PowerPro PowerPro & Total Commander