|
Имя файла (*.txt) | Sub_ReadTabs.txt |
Автор | Вахмурка |
Вызываемый плагин | ini |
Версия | 1.2 |
Дата обновления | 24.06.2008 |
args Single static Icons = "путь к библиотеке\TT.icl" local Keys, Temp, i, Values, Tube, FT, BT local Section = Single ++ "tabs" local Path = ini.get(Config, Single, "path") local Number = TT.Length local Panel = ifelse(Single == "left", 1, 2) if(ini.check_exists(TW, "FontColor", "Target") == 3) FT = ini.get(TW, "FontColor", "Target") if(ini.check_exists(TW, "BackColor", "Target") == 3) BT = ini.get(TW, "BackColor", "Target") if(ini.check_exists(Config, Section) != 2) do TT.Insert(Number) TT.AddLeft(Number, 0) TT.AddMiddle(Number, Panel) TT.SetIconVisible(Number, 0) TT.SetLeftOnTop(Number, 1) TT.SetTextColor(Number, FT) TT.SetBackColor(Number, BT) TT.SetId(Number, Path) quit(1) endif Keys = ini.enum_keys(Config, Section) Number = line(Keys, 0) if(Number < 4 && ini.check_exists(Config, Section, "activelocked") == 3) do Number = TT.Length() TT.Insert(Number) TT.AddLeft(Number, 0) TT.AddMiddle(Number, Panel) TT.SetIcon(Number, Icons, ini.get(Config, Section, "activelocked")) if(ini.check_exists(Config, Section, "activecaption") == 3) TT.SetToolTip(Number, ini.get(Config, Section, "activecaption")) TT.SetLeftOnTop(Number, 1) TT.SetTextColor(Number, FT) TT.SetBackColor(Number, BT) TT.SetId(Number, Path) quit(1) endif for(i = 1; i < Number; i++) Temp = i ++ "_path" if(ini.check_exists(Config, Section, Temp) != 3) do Values = i + 1 break endif endfor Number = ini.get(Config, Section, "activetab") flag clear 1 local Start = TT.Length local End = Values + Start for(i = Start; i < End; i++) TT.Insert(i) TT.AddLeft(i, i - Start) TT.AddMiddle(i, Panel) if(i - Start == Number) do TT.SetId(i, Path) flag set 1 Temp = 0 if(ini.check_exists(Config, Section, "activelocked") == 3) Temp = ini.get(Config, Section, "activelocked") TT.SetIcon(i, Icons, Temp) TT.SetLeftOnTop(i, 1) TT.SetTextColor(i, FT) TT.SetBackColor(i, BT) if(ini.check_exists(Config, Section, "activecaption") == 3) TT.SetTooltip(i, ini.get(Config, Section, "activecaption"), Number) else Key = i - pproflag(1) - Start Temp = Key ++ "_path" Temp = ini.get(Config, Section, Temp) TT.SetId(i, Temp) Temp = Key ++ "_options" Temp = ini.get(Config, Section, Temp) Tube = word(Temp, 6, "|") TT.SetIcon(i, Icons, Tube) Temp = Key ++ "_caption" if(ini.check_exists(Config, Section, Temp) == 3) TT.SetTooltip(i, ini.get(Config, Section, Temp), i - Start) endif endfor quit(Values)
Имя файла (*.txt) | Sub_DebugCL.txt |
Автор | Вахмурка |
Вызываемый плагин | - |
Версия | 1.2 |
Дата обновления | 06.04.2006 |
local List = arg(1) local CR = esc(?+\n+, ?+\+) local Check, Temp, Cap, Mess if(cl.Exists(List) != 1) do messagebox("ok", "Command List '" ++ List ++ "' does not exist", "CL error") quit all endif local Number = cl.Length(List) Cap = "Command List '" ++ List ++ "' has " ++ Number ++ " entries" Mess = "Command List info:" ++ CR Temp = cl.GetBackColor(List) if(Temp != "") Mess = Mess ++ CR ++ "Background color: " ++ Temp Temp = cl.GetBackground(List) if(Temp != "") Mess = Mess ++ CR ++ "Background file: " ++ Temp Temp = cl.GetTextColor(List) if(Temp != "") Mess = Mess ++ CR ++ "Text color: " ++ Temp Mess = Mess ++ CR ++ "Hide interval: " ++ cl.GetHideAfter(List) Mess = Mess ++ CR ++ "Maximum text length: " ++ cl.GetMaxtext(List) Temp = cl.GetLastBar() if(Temp != "") do Mess = Mess ++ CR ++ "Name of bar with last button pressed: '" ++ Temp ++ "'" Mess = Mess ++ CR ++ "Last pressed button on bar '" ++ Temp ++ "': " Mess = Mess ++ cl.GetLastPressed(Temp) ++ CR ++ "Last mouse button on bar '" Mess = Mess ++ Temp ++ "': " ++ cl.GetLastMouse (Temp) endif if(messagebox("okcancel information", Mess, Cap) == 0) quit all Mess = "" for(i = 0; i < Number; i = i + 1) for(j = 1; 1; j = j + 1) Check = Mess Cap = "Entry #" ++ i ++ " of " ++ Number - 1 Temp = cl.GetLeftCmd(List, i, j) if(Temp != "") Mess = Mess ++ CR ++ "Left Command #" ++ j ++ ": '" ++ Temp ++ "'" Temp = cl.GetRightCmd(List, i, j) if(Temp != "") Mess = Mess ++ CR ++ "Right Command #" ++ j ++ ": '" ++ Temp ++ "'" Temp = cl.GetMiddleCmd(List, i, j) if(Temp != "") Mess = Mess ++ CR ++ "Middle Command #" ++ j ++ ": '" ++ Temp ++ "'" Temp = cl.GetLeftParam(List, i, j) if(Temp != "") Mess = Mess ++ CR ++ "Left Parameter #" ++ j ++ ": '" ++ Temp ++ "'" Temp = cl.GetRightParam(List, i, j) if(Temp != "") Mess = Mess ++ CR ++ "Right Parameter #" ++ j ++ ": '" ++ Temp ++ "'" Temp = cl.GetMiddleParam(List, i, j) if(Temp != "") Mess = Mess ++ CR ++ "Middle Parameter #" ++ j ++ ": '" ++ Temp ++ "'" Temp = cl.GetLeftWork(List, i, j) if(Temp != "") Mess = Mess ++ CR ++ "Left work dir #" ++ j ++ ": '" ++ Temp ++ "'" Temp = cl.GetRightWork(List, i, j) if(Temp != "") Mess = Mess ++ CR ++ "Right work dir #" ++ j ++ ": '" ++ Temp ++ "'" Temp = cl.GetMiddleWork(List, i, j) if(Temp != "") Mess = Mess ++ CR ++ "Middle work dir #" ++ j ++ ": '" ++ Temp ++ "'" Temp = cl.GetLeftHow(List, i, j) if(Temp != "normal") Mess = Mess ++ CR ++ "Left how start #" ++ j ++ ": '" ++ Temp ++ "'" Temp = cl.GetRightHow(List, i, j) if(Temp != "normal") Mess = Mess ++ CR ++ "Right how start #" ++ j ++ ": '" ++ Temp ++ "'" Temp = cl.GetMiddleHow(List, i, j) if(Temp != "normal") Mess = Mess ++ CR ++ "Middle how start #" ++ j ++ ": '" ++ Temp ++ "'" if(Check == Mess) break endfor Mess = Mess ++ CR ++ CR ++ "Left ontop checkbox is " Mess = Mess ++ ifelse(cl.GetLeftOnTop(List, i), "ON", "OFF") Mess = Mess ++ CR ++ "Right ontop checkbox is " Mess = Mess ++ ifelse(cl.GetRightOnTop(List, i), "ON", "OFF") Mess = Mess ++ CR ++ "Middle ontop checkbox is " Mess = Mess ++ ifelse(cl.GetMiddleOnTop(List, i), "ON", "OFF") Mess = Mess ++ CR ++ "Left switch to if active checkbox is " Mess = Mess ++ ifelse(cl.GetLeftSwitchTo(List, i), "ON", "OFF") Mess = Mess ++ CR ++ "Right switch to if active checkbox is " Mess = Mess ++ ifelse(cl.GetRightSwitchTo(List, i), "ON", "OFF") Mess = Mess ++ CR ++ "Middle switch to if active checkbox is " Mess = Mess ++ ifelse(cl.GetMiddleSwitchTo(List, i), "ON", "OFF") Temp = cl.GetId(List, i) Mess = Mess ++ ifelse(Temp, CR ++ "ID: '" ++ Temp ++ "'", "") Temp = cl.GetLabel(List, i) Mess = Mess ++ ifelse(Temp, CR ++ "Label: '" ++ Temp ++ "'", "") Temp = cl.GetLabelValue(List, i) Mess = Mess ++ ifelse(Temp, CR ++ "Label value: '" ++ Temp ++ "'", "") Temp = cl.GetTooltip(List, i) Mess = Mess ++ ifelse(Temp, CR ++ "Tooltip: '" ++ Temp ++ "'", "") Temp = cl.GetTooltipValue(List, i) Mess = Mess ++ ifelse(Temp, CR ++ "Tooltip value: '" ++ Temp ++ "'", "") Temp = cl.GetIconFile(List, i) if(Temp) do Mess = Mess ++ CR ++ "Icon file: '" ++ Temp ++ "'" Mess = Mess ++ CR ++ "Icon number: " ++ cl.GetIconNumber(List, i) endif Mess = Mess ++ CR ++ "Item is " Mess = Mess ++ ifelse(cl.IsVisible(List, i), "visible", "NOT visible") Mess = Mess ++ CR ++ "Item is " Mess = Mess ++ ifelse(cl.IsEnabled(List, i), "enabled", "NOT enabled") Mess = Mess ++ CR ++ "Icon is " Mess = Mess ++ ifelse(cl.IsIconVisible(List, i), "visible", "NOT visible") Mess = Mess ++ CR ++ "Item Width: " ++ cl.GetWidth(List, i) Mess = Mess ++ CR ++ "Item Height: " ++ cl.GetHeight(List, i) Temp = cl.GetBackColor(List, i) Mess = Mess ++ ifelse(Temp, CR ++ "Item Background: '" ++ Temp ++ "'", "") Temp = cl.GetTextColor(List, i) Mess = Mess ++ ifelse(Temp, CR ++ "Item Text Color: '" ++ Temp ++ "'", "") if(messagebox("okcancel information", Mess, Cap) == 0) quit all Mess = "" endfor
Скрипт предназначен для отладочной печати списка команд (command list). Вызовите его командой
runfile.Sub_DebugCL("имя_CL")
и извлеките из списка команд всю информацию, которая в нем хранится.
Имя файла (*.txt) | Sub_ParsePath.txt |
Автор | Вахмурка |
Вызываемый плагин | file |
Версия | 1.4 |
Дата обновления | 13.07.2009 |
args FullPath, Depth local Number, Char, i, Result local Slash = esc(?+\\+, ?+\+) local Name = file.nametype(FullPath) Number = index(FullPath, "/") if(not Number) do Number = index(FullPath, Slash) if(not Number) quit Char = Slash else Char = "/" endif local Path = file.folder(FullPath) Number = word(Path, 0, Slash) if(arg(0) == 1) quit(Number) if(Number < abs(Depth)) quit(FullPath) if(Depth > 0) do for(i = Number; i > Number - Depth; i--) Result = word(Path, i, Slash) ++ Char ++ Result endfor elseif(Depth == 0) do quit(Name) elseif(Depth < 0) do for(i = 1; i <= Number + Depth; i++) Result = Result ++ word(Path, i, Slash) ++ Char endfor endif quit(remove(Result, -1))
Скрипт предназначен для выделения из заданного пути директорий с заданной глубиной. Первый параметр - путь к файлу или директории, причем разделителем может служить как "\" (синтаксис Total Commander), так и "/" (PowerPro). Второй параметр - глубина, считая от имени файла к корню.
Файлу соответствует глубина 0. Если первый параметр оканчивается разделителем, то предполагается, что задано имя директории, в противном случае - файла.
Если второй параметр отрицателен, то отсчет ведется в направлении от корня к имени файла.
Если второй параметр больше действительной глубины (в нашем случае это 5), скрипт возвращает первый параметр. Если второй параметр равен 0, будет возвращено имя файла, если оно задано, и пустую строку в противном случае.
В версии 1.2 введена возможность вычисления действительной глубины пути заданного файла - для этого надо опустить второй параметр.
К примеру, для гипотетического файла c:\One\Two\Three\Four\name.txt скрипт вернет следующие значения:
Первый параметр | Второй параметр | Возвращаемое значение |
"c:\One\Two\Three\Four\" | "3" | "Two\Three\Four" |
"c:\One\Two\Three\Four\name" | "2" | "Three\Four" |
"c:\One\Two\Three\Four\name.txt" | "5" | "c:\One\Two\Three\Four" |
"c:/One/Two/Three/Four/" | "4" | "One/Two/Three/Four" |
"c:/One/Two/Three/Four/name.txt" | "-3" | "c:/One" |
"c:\One\Two\Three\Four\name.txt" | "-1" | "c:\One\Two\Three" |
"c:/One/Two/Three/Four/name.txt" | 5 |
Имя файла | Sub_TreeDownCmd.txt |
Автор | Вахмурка |
Вызываемые плагины | file, miscplugin |
Версия | 1.0 |
Дата обновления | 24.06.2006 |
args Path, Name local Report = miscplugin.tempfilename() local Str = "/c dir " ++ Path ++ " /a:d /b > " ++ Report local ExitCode = file.runwait(0, "cmd", Str, "", "hide") if(not file.size(Report)) quit("") local Hand = file.open(Report, "r") local Temp = "z;" flag clear 2 if(Hand > 0 && not ExitCode) do for(not(file.eof(Hand))) Str = file.readstring(Hand) Str = file.nametype(file.getshortpath(Path ++ "\" ++ Str)) if(Str) do if(stricoll(Str, Name) == 1) do flag set 2 if(stricoll(Temp, Str) == 1 || Temp == "z;") Temp = Str endif endif endfor else messagebox("ok error", "File not opened", "FILE plugin error") quit all endif file.close(Hand) if(pproflag(2)) do quit(Path ++ "\" ++ Temp) else quit("") endif
Имя файла (*.txt) | Sub_TreeUpCmd.txt |
Автор | Вахмурка |
Вызываемые плагины | file, miscplugin |
Версия | 1.0 |
Дата обновления | 24.06.2006 |
args Path, Name local Report = miscplugin.tempfilename() local Str = "/c dir " ++ Path ++ " /a:d /b > " ++ Report local ExitCode = file.runwait(0, "cmd", Str, "", "hide") if(file.size(Report) - 2 == length(Name)) quit("") local Temp local Hand = file.open(Report, "r") flag clear 2 if(Hand > 0 && not ExitCode) do for(not(file.eof(Hand))) Str = file.readstring(Hand) if(Str) do Str = file.nametype(file.getshortpath(Path ++ "\" ++ Str)) if(stricoll(Str, Name) == -1) do flag set 2 if(stricoll(Temp, Str) == -1) Temp = Str endif endif endfor else messagebox("ok error", "File not opened", "FILE plugin error") quit all endif file.close(Hand) if(pproflag(2)) do quit(Temp) else quit("") endif
Имя файла (*.txt) | Sub_LowestDirCmd.txt |
Автор | Вахмурка |
Вызываемые плагины | file, miscplugin |
Версия | 1.0 |
Дата обновления | 24.06.2006 |
args Path local Report = miscplugin.tempfilename() local Str = "/c dir " ++ Path ++ " /a:d /b > " ++ Report local ExitCode = file.runwait(0, "cmd", Str, "", "hide") if(not file.size(Report)) quit("") flag clear 2 local Hand = file.open(Report, "r") local Temp if(Hand > 0 && not ExitCode) do for(not(file.eof(Hand))) Str = file.readstring(Hand) if(Str) do Str = file.nametype(file.getshortpath(Path ++ "\" ++ Str)) if(stricoll(Temp, Str) == -1) Temp = Str endif endfor else messagebox("ok error", "File not opened", "FILE plugin error") quit all endif file.close(Hand) quit(Path ++ "\" ++ Temp)
Имя файла (*.txt) | Sub_MoveFile.txt |
Автор | Вахмурка |
Вызываемые плагины | file |
Версия | 1.0 |
Дата обновления | 27.01.2006 |
local Name = file.nametype(arg(1)) local New = arg(2) ++ Name file.move(arg(1), New)
Имя файла | Sub_Descript_ion.txt |
Автор | Вахмурка |
Вызываемые плагины | ini, file, map |
Версия | 1.0 |
Дата обновления | 27.08.2007 |
args Path, FileName, Comment, Action local Source = Path ++ "descript.ion" local CR = esc(?+\n+, ?+\+) local Quote = esc(?+\"+, ?+\+) local AsQuote = "|" local Config = pprofolder ++ "scripts\ini\Descript_ion.ini" local fh, Str, SomeFile, Temp, NotComms, Delim if(ini.check_exists(Config, "Options", "Delimiter") == 3) Delim = ini.get(Config, "Options", "Delimiter") if(index(FileName, " ")) FileName = AsQuote ++ FileName ++ AsQuote if(not file.validpath(Source)) do if(index("drg", Action)) quit("ERROR: no comment file") fh = file.open(Source, "w") if(fh <= 0) do messagebox("ok error", "File not opened", "FILE plugin error #12") quit all endif file.writeline(fh, replacechars(FileName, AsQuote, Quote) ++ " " ++ Comment) file.close(fh) quit else fh = file.open(Source, "r") if(fh <= 0) do messagebox("ok error", "File not opened", "FILE plugin error #11") quit endif endif local M = map.create(10, 1) flag set 1 for(not(file.eof(fh))) Str = file.readstring(fh) if(not Str) continue SomeName = word(Str, 1) if(file.validpath(Path ++ SomeName)) do Temp = select(Str, length(SomeName) - length(Str) + 1) else SomeName = word(Str, 1, Quote) if(not file.validpath(Path ++ SomeName)) do NotComms = NotComms ++ Str ++ CR continue else SomeName = AsQuote ++ SomeName ++ AsQuote Temp = select(Str, length(SomeName) - length(Str) + 1) endif endif if(SomeName == FileName) do if(Action == "g") do map.destroy(M) file.close(fh) quit(Temp) elseif(Action == "r") do M[FileName] = Comment flag clear 1 elseif(Action == "b") do M[FileName] = Comment ++ Delim ++ Temp flag clear 1 elseif(Action == "a") do M[FileName] = Temp ++ Delim ++ Comment flag clear 1 endif else M[SomeName] = Temp endif endfor if(index("s", Action)) M[FileName] = Comment if(index("bar", Action) && pproflag(1)) M[FileName] = Comment file.close(fh) file.delete(Source) fh = file.open(Source, "w") if(fh <= 0) do messagebox("ok error", "File not opened", "FILE plugin error #13") quit all endif if(NotComms) file.writeline(fh, NotComms ++ CR) map.restart(M) for(not(map.eof(M))) Str = map.getnext(M) if(not Str) continue file.writeline(fh, replacechars(Str, AsQuote, Quote) ++ " " ++ M[Str]) endfor file.close(fh) map.destroy(M)
В скрипт передаются следующие аргументы:
В двух последних случаях скрипт пытается прочесть значение ключа Delimiter раздела Options файла scripts\ini\Descript_ion.ini. Например, если PowerPro установлена, как у меня, в d:\Utils\PowerPro, то файл настроек имеет путь d:\Utils\PowerPro\scripts\ini\Descript_ion.ini.
Если ключ существует, его значение будет использовано в качестве разделителя между старым и новым комментариями. По умолчанию значение разделителя - точка.
Имя файла | Sub_TMTC.txt |
Автор | Вахмурка |
Вызываемые плагины | tc, win, childwin |
Версия | 1.0 |
Дата обновления | 08.06.2009 |
args hwnd, Panel if(not Panel) do Panel = tc.active(hwnd) elseif(Panel == 1) Panel = "left" elseif(Panel == 2) Panel = "right" endif local List = win.childhandlelist(hwnd, "c=TMyPanel") local TMTC = win.childhandlelist(hwnd, "c=TMyTabControl") local Num = word(TMTC, 0) local TMP if(Num == 0) do quit(0) elseif(Num == 1) do local TPP = win.childhandlelist(hwnd, "c=TPathPanel") local LPath = win.gettext(word(TPP, 1)) local RPath = win.gettext(word(TPP, 2)) for each word Hand in List Num = childwin.handle(Hand, "TPathPanel") if(Num) do Num = win.gettext(Num) if(Num == LPath && Panel == "right") do TMP = Hand break endif if(Num == RPath && Panel == "left") do TMP = Hand break endif endif endfor if(not TMP) quit(0) for each word Hand in List Num = childwin.handle(Hand, "TMyComboBox") if(Num) do if(childwin.gettext(Num) && Hand != TMP) do TMP = Hand break endif endif endfor else for each word Hand in List Num = childwin.handle(Hand, "TMyTabControl") if(Num) do TMP = Hand if(Panel == "left") break endif endfor endif TMTC = childwin.handle(TMP, "TMyTabControl") if(not TMTC) quit(0) quit(TMTC)
Внимание! Скрипт не работает в Total Commander 7.5 pb1 и pb2!
Имя файла | Sub_Progress.txt |
Автор | Вахмурка |
Вызываемые плагины | - |
Версия | 1.0 |
Дата обновления | 23.06.2017 |
args Val, Start, End, Width, AutoClose, Display, Props static D = Display static P = "%" if(!Display) D = P static AC = AutoClose if(!End) End = 100 static E = End if(!Width) Width = 200 static C = cl.Create("Progress", 1) C.Insert(0) C.SetLabel(0, "*control progress " ++ Val ++ " " ++ Start ++ " " ++ End) C.SetProperties("Format=barsize tooltips flat position: middlecaption") if(Props) C.AddProperties(Props) C.SetWidth(0, Width) C.Insert(0) C.AddLeft(0, "*bar close Progress") C.SetWidth(0, 60) C.SetToolTip(0, "Left: Close/_____________/Start: " ++ Start ++ "/End: " ++ End) C.show @Current args Val local Temp = Val switch (D) case P Temp ++= D break case "/" Temp ++= D ++ E endswitch C.SetLabel(0, Temp) C.SetCtrlValue(1, Val) if(Val >= E && AC) do wait.forinterval(AC) C.close endif
Скрипт носит информативно-иллюстративную функцию, позволяя следить за ходом выполнения длительных операций. В средней части заголовка окна изображается небольшая панель, содержащая два элемента. Правый – так называемый прогресс-бар, показывающий выполнение операции в наглядном графическом виде. Левый предоставляет ту же информацию в числовом виде (счетчик) и позволяет закрыть панель, если это необходимо.
Скрипт вызывается минимум дважды. Первый раз – до начала операции, для отображения панели. Последующие – для обновления информации.
Для первого вызова в скрипт передаются следующие параметры:
Val – текущее значение счетчика;
Start – начальное значение счетчика (при первом запуске обычно Val = Start);
End – конечное значение счетчика (по умолчанию 100);
Width – ширина панели (по умолчанию 200);
AutoClose – время в миллисекундах, по истечении которого панель закрывается после завершения операции. Если AutoClose = 0, то панель можно закрыть только нажатием на левую кнопку панели;
Display – формат счетчика. Возможные значения:
Второй и последующие вызовы скрипта требуют одного параметра – текущего значения счетчика.
Например, обрабатываются 123 файла. До начала обработки вызывается скрипт с параметрами
.Subs\Sub_Progress(0, 0, 123, 300, 5000, "/", "roundbar: 7")
Панель будет иметь ширину 300 пикселей и сильно закругленные углы. На кнопке отобразится информация "0/123".
Далее, при обработке файла номер i вызов осуществляется командой
.Subs\Sub_Progress@Current(i)
Например, если i = 61, то на кнопке появится надпись "61/123" и полоска будет залита примерно до середины.
После того, как будет обработан 123-й файл, пройдет 5 секунд и панель исчезнет.
Имя файла | Sub_Spin.txt |
Автор | Вахмурка |
Вызываемые плагины | dialog |
Версия | 1.0 |
Дата обновления | 23.06.2018 |
args Start, From, To, Caption, Text, Styles, Cancel, H, W, YSET, HSET, YOC, WOC, HOC, XE, WE, XS, WS, XT, WT, XC if(!H) H = 160 if(!W) W = 44 if(!YSET) YSET = 6 if(!HSET) HSET = 12 if(!YOC) YOC = 22 if(!WOC) WOC = 74 if(!HOC) HOC = 16 if(!XE) XE = 16 if(!WE) WE = 12 if(!XS) XS = 6 if(!WS) WS = 12 if(!XT) XT = 32 if(!WT) WT = 128 if(!XC) XC = 86 static No = Cancel static Num if(!Styles) Styles = "thickframe sysmenu centre" dialog.error_dialog_on() local hDlg = dialog.define(0, 0, H, W, Caption, Styles) if(!hDlg) quit hDlg.define_control(XE, YSET, WE, HSET, "editbox", "ebCnt", Start, "3d border", "", "", 0x0300) hDlg.define_control(XS, YSET, WS, HSET, "spinner", "spCnt", "", "setbuddyint") hDlg.define_control(XT, YSET, WT, HSET, "static", "text", Text) hDlg.define_control(XS, YOC, WOC, HOC, "button", "", "OK", "", cbx("@onOk")) hDlg.define_control(XC, YOC, WOC, HOC, "button", "btQuit", "&Cancel", "", cbx("@onQuit")) hDlg.create(1) local hWnd = hDlg.get("ebCnt", "hwnd") hDlg.send_message("spCnt", "setbuddy", hWnd, 0, 0) hDlg.set_range("spCnt", From, To) hDlg.run("foreground") quit(Num) Function onOk(sUserArg, dlgHan) Num = dlgHan.get_value("spCnt") dlgHan = dlgHan.destroy() quit Function onQuit(sUserArg, dlgHan) Num = No dlgHan = dlgHan.destroy()
Скрипт предназначен для ввода одного целого числа. Это можно сделать в поле редактирования, а можно воспользоваться spin-control'ом (он же "счетчик" или "вертушка").
Параметры имеют следующий смысл:
Параметры начиная с H можно не задавать, тогда используются умолчания. Все размеры окон и элементов управления подобраны близко к "золотому сечению".
Имя файла | Sub_BarName.txt |
Автор | Вахмурка |
Вызываемые плагины | win, childwin |
Версия | 1.0 |
Дата обновления | 28.10.19 |
local hh = win.handle("c=TTOTAL_CMD") win.postmessage(hh, 0x400+51, 498, 0) wait.for(100, win.exists("c=TBUTTONCHANGEDLG")) local TBCD = win.handle("c=TBUTTONCHANGEDLG") local BarName = childwin.gettext(TBCD, "TMyPanel") if(!BarName) BarName = childwin.gettext(TBCD, 8) if(TBCD) win.close(TBCD) if(validpath(BarName)) quit(BarName)
Скрипт возвращает имя текущей панели кнопок (button bar)
На главную | Все о Total Commander | PowerPro | PowerPro & Total Commander |