Angel_Ka

Full Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Alexyz21 А можно этот макрос преобразовать в функцию для Panel.CustomSortByName.lua? А то я попробовал прямолинейно так: Код: local fn0,fn1 = "","" for i=1,panel.GetPanelInfo(nil,1).ItemsNumber do fn0,fn1 = fn1,regex.match(panel.GetPanelItem(nil,1,i).FileName,"[^\\\\]+$") if fn1==fn0 then panel.SetSelection(nil,1,{i-1,i},true) end end | И она работает, но, в отличие от макроса, выдаёт ошибку типа: Цитата: Error W:\Far\Plugins\luamacro\LuaMacro.dll: W:\Far\Plugins\luamacro\panelsort.lua:283: attempt to compare nil with number Stack Traceback =============== (2) metamethod C function '__lt' (3) Lua local 'before' at file 'W:\Far\Plugins\luamacro\panelsort.lua:283' Local variables: n1 = number: 59 n2 = number: 11 r = nil (*temporary) = number: 0 (*temporary) = string: "Технология клееных материалов и древесных плит, Юрова О.В., Кочева М.Н., 2010.txt" (*temporary) = string: "Технология соединения материалов и деталей в производстве изделий из древесины, Юрова О.В.,2010" (*temporary) = number: 1 (*temporary) = number: 527393 (*temporary) = userdata: 0x09a6d0d0 (*temporary) = userdata: 0x0a0017f0 (*temporary) = string: "attempt to compare nil with number" (4) Lua upvalue 'shellsort' at file 'W:\Far\Plugins\luamacro\panelsort.lua:30' Local variables: n = number: 98 before = Lua function 'Before' (defined at line 247 of chunk W:\Far\Plugins\luamacro\panelsort.lua) (for generator) = C function: builtin#6 (for state) = table: 0x099f4840 {1:1391376, 2:463792, 3:198768, 4:86961, 5:33936, 6:13776, 7:4592, 8:1968 (more...)} (for control) = number: 12 _ = number: 12 h = number: 48 (for index) = number: 59 (for limit) = number: 97 (for step) = number: 1 i = number: 59 v = number: 59 (for index) = number: 11 (for limit) = number: 0 (for step) = number: -48 j = number: 11 OK | Добавлено: Alexyz21 Цитата: Да. И он прекрасно работает. БОЛЬШОЕ СПАСИБО! Добавлено: Новый вариант макроса при попытке применить его в качестве функции в Panel.CustomSortByName.lua выдаёт ту же ошибку, что и прежний. | Всего записей: 585 | Зарегистр. 20-05-2007 | Отправлено: 09:00 02-05-2016 | Исправлено: Angel_Ka, 09:15 02-05-2016 |
|