Ru-Board.club
← Вернуться в раздел «Программы»

» Far Manager

Автор: Benchmark
Дата сообщения: 25.02.2016 03:05

Цитата:
4559, 4560

Там ещё и с NetBox намудрили. Теперь если в ком.строке задать фтп-адрес, оно ошибку выкинет.
Автор: VictorVG2
Дата сообщения: 25.02.2016 04:21
Benchmark

Лады, надо глянуть. Я покуда с РН вожусь. номер коммита на сейчас 321, последний пущенный в паблик 291 был вчера утром.
Автор: Smitis
Дата сообщения: 25.02.2016 10:53

Цитата:
4559, 4560 на ура валяться в крэш при топтании клавы, подозреваю, что дело в AltHistory - на её шоркатах такое заметил.

Ни разу не было. У меня FAR (x32) уже настолько давно не падал, что, imho, любую версию можно объявлять стабильной.
Автор: Alexyz21
Дата сообщения: 25.02.2016 14:40
shmuz
надо бы в winapi.lua добавить константы

Код: FILE_ATTRIBUTE_INTEGRITY_STREAM -- 0x00008000
FILE_ATTRIBUTE_NO_SCRUB_DATA -- 0x00020000
Автор: VictorVG2
Дата сообщения: 25.02.2016 15:36
Benchmark

Увы, но этому явлению сто лет в обед - Issues#120. Просто мы про него забыли. Спасибо за напоминание.
Автор: Benchmark
Дата сообщения: 25.02.2016 16:57
VictorVG2
Честно скажу - вот такие баги очень удивляют.

Такое впечатление, что скомпилировалось и ладно. Как можно собрать новый билд и ради теста не зайти хоть на один ftp ? Непонятно.
Автор: VictorVG2
Дата сообщения: 25.02.2016 18:05
Benchmark

Просто потерялся, бывает ибо некоторые создают разом пачки баг-репортов и ... забывают про них. Да и объём работы - например в РН сегодня было всего 43 коммита, а и заодно пару багов пристрелили, но это мелочи.
Автор: Alexyz21
Дата сообщения: 25.02.2016 21:20
Angel_Ka
Как поживает наша сортировка по атрибутам?
Автор: VictorVG2
Дата сообщения: 25.02.2016 21:41
FarUE3 b4562 r13873 Thu Feb 25 23:35:05 +0300 2016

Цитата:
1. Far b4562 r13873
2. LuaFAR Search v3.23.0.0 (хоткеи: Grep - CtrlShiftH, Replace - CtrlShiftJ)
3. LuaCheck 0.14
4. Обновление macro.txt
5. Рефакторинг. Обновление совместимо с SVN r13870 - SVN r13873

изменения в х64 совпадают с п1 - п4.

P.S.

Если что перекачивать не надо - пересборка была вызвана changelog.txt, а в него можно просто нужный текст скопировать и вставить.
Автор: Angel_Ka
Дата сообщения: 25.02.2016 23:00
Alexyz21

Цитата:
Как поживает наша сортировка по атрибутам?

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

При этом если Вы предложите свой вариант в упреждение, буду только безмерно рад.
Автор: shmuz
Дата сообщения: 25.02.2016 23:42
Angel_Ka

Цитата:
сразу с наскока для меня слишком тяжко

Это не удивительно, т.к. кастомная сортировка в Far основана на применении LuaJIT FFI. А это уже не совсем Lua, а скорее Си + Lua, и для тех, кто не владеет Си (или, скажем, Паскалем), наступают тяжёлые времена.
Автор: Alexyz21
Дата сообщения: 26.02.2016 10:37
Сортировка по весу атрибутов файлов, файлы с указанным набором атрибутов помещаются первыми, остальные по весу.

Набор атрибутов можно указывать:
1. В числовом виде, как сумму весов атрибутов.
2. В виде строки из символов-шоркатов атрибутов.
3. Чекбоксами.
4. 2 режима сравнения:
1. нестрогое: [ ] All selected, любые из выбранных атрибутов.
2. строгое: [x] All selected, все выбранные атрибуты.
[more=Panel.CustomSortByAttributes.lua]
Код: -- http://forum.ru-board.com/topic.cgi?forum=5&topic=48136&start=720#18

if not (bit and jit) then return end

local F = far.Flags
local guid = win.Uuid("A79390CE-5450-403A-8FAE-17EE3315CB38")
local MenuGuid = "B8B6E1DA-4221-47D2-AB2E-9EC67D0DC1E3"
-- Settings --------------------------------------------------------------------
local ModeNumber = 109
local Description = "Custom: by attributes"
local Indi1 = "aA"
local Indicator = Indi1
local Key = "CtrlShiftF3"
--------------------------------------------------------------------------------

local Items = {
--[[01]] {F.DI_DOUBLEBOX, 3,1, 65,14, 0, 0,0, 0, "Custom sort"},
--[[02]] {F.DI_TEXT, 5,2, 18,2, 0, 0,0, 0, "By attributes:"},
--[[03]] {F.DI_EDIT, 20,2, 36,2, 0, 0,0, 0, ""},
--[[04]] {F.DI_BUTTON, 38,2, 50,2, 0, 0,0, 0, "[ From fi&le ]"},
--[[05]] {F.DI_CHECKBOX, 5,3, 30,3, 0, 0,0, 0, "&Read only"},
--[[06]] {F.DI_CHECKBOX, 5,4, 30,4, 0, 0,0, 0, "&Archive"},
--[[07]] {F.DI_CHECKBOX, 5,5, 30,5, 0, 0,0, 0, "&Hidden"},
--[[08]] {F.DI_CHECKBOX, 5,6, 30,6, 0, 0,0, 0, "&System"},
--[[09]] {F.DI_CHECKBOX, 5,7, 30,7, 0, 0,0, 0, "&Compressed"},
--[[10]] {F.DI_CHECKBOX, 5,8, 30,8, 0, 0,0, 0, "&Encrypted"},
--[[11]] {F.DI_CHECKBOX, 5,9, 30,9, 0, 0,0, 0, "Not &indexed"},
--[[12]] {F.DI_CHECKBOX, 5,10, 30,10, 0, 0,0, 0, "&Directory"},
--[[13]] {F.DI_CHECKBOX, 38,3, 63,3, 0, 0,0, 0, "S&parse"},
--[[14]] {F.DI_CHECKBOX, 38,4, 63,4, 0, 0,0, 0, "Temporar&y"},
--[[15]] {F.DI_CHECKBOX, 38,5, 63,5, 0, 0,0, 0, "O&ffline"},
--[[16]] {F.DI_CHECKBOX, 38,6, 63,6, 0, 0,0, 0, "Reparse poin&t"},
--[[17]] {F.DI_CHECKBOX, 38,7, 63,7, 0, 0,0, 0, "&Virtual"},
--[[18]] {F.DI_CHECKBOX, 38,8, 63,8, 0, 0,0, 0, "Inte&grity stream"},
--[[29]] {F.DI_CHECKBOX, 38,9, 63,9, 0, 0,0, 0, "No scru&b data"},
--[[20]] {F.DI_CHECKBOX, 38,10, 63,10, 0, 0,0, 0, "Device &X"},
--[[21]] {F.DI_CHECKBOX, 19,11, 36,10, 0, 0,0, 0, "All selected &Z"},
--[[22]] {F.DI_CHECKBOX, 5,13, 17,13, 0, 0,0, 0, "Report &W"},
--[[23]] {F.DI_TEXT, -1,12, 0,0, 0, 0,0, F.DIF_SEPARATOR,""},
--[[24]] {F.DI_BUTTON, 0,13, 0,0, 0, 0,0, F.DIF_DEFAULTBUTTON+F.DIF_CENTERGROUP,"&Ok"},
--[[25]] {F.DI_BUTTON, 0,13, 0,0, 0, 0,0, F.DIF_CENTERGROUP,"Ca&ncel"}
}

local AttributesSymbols="rahsceidpyftvgbx"

local AttributeValue = {
--[[FILE_ATTRIBUTE_READONLY ]] 0x00000001,
--[[FILE_ATTRIBUTE_ARCHIVE ]] 0x00000020,
--[[FILE_ATTRIBUTE_HIDDEN ]] 0x00000002,
--[[FILE_ATTRIBUTE_SYSTEM ]] 0x00000004,
--[[FILE_ATTRIBUTE_COMPRESSED ]] 0x00000800,
--[[FILE_ATTRIBUTE_ENCRYPTED ]] 0x00004000,
--[[FILE_ATTRIBUTE_NOT_CONTENT_INDEXED]] 0x00002000,
--[[FILE_ATTRIBUTE_DIRECTORY ]] 0x00000010,
--[[FILE_ATTRIBUTE_SPARSE_FILE ]] 0x00000200,
--[[FILE_ATTRIBUTE_TEMPORARY ]] 0x00000100,
--[[FILE_ATTRIBUTE_OFFLINE ]] 0x00001000,
--[[FILE_ATTRIBUTE_REPARSE_POINT ]] 0x00000400,
--[[FILE_ATTRIBUTE_VIRTUAL ]] 0x00010000,
--[[FILE_ATTRIBUTE_INTEGRITY_STREAM ]] 0x00008000,
--[[FILE_ATTRIBUTE_NO_SCRUB_DATA ]] 0x00020000,
--[[FILE_ATTRIBUTE_DEVICE ]] 0x00000040
}

--local FILE_ATTRIBUTE_NORMAL = 0x00000080

local SAttributes,FAttributes,FAMasque,AttributesWeight,CompareMode,xReport,count,GFocus,ttime0,count0 = "",{},0x3FF77,-1,false,false,0,2
for i=1,#AttributeValue do FAttributes[i]=false end

local Compare = function(p1,p2)
count = count+1
local l1 = bit.band(tonumber(p1.FileAttributes),FAMasque)
local l2 = bit.band(tonumber(p2.FileAttributes),FAMasque)
if CompareMode then
if l1==AttributesWeight then l1=-1 end
if l2==AttributesWeight then l2=-1 end
else
if bit.band(l1,AttributesWeight)>0 then l1 = l1-FAMasque-1 end
if bit.band(l2,AttributesWeight)>0 then l2 = l2-FAMasque-1 end
end
return l1<l2 and -1 or l1>l2 and 1 or 0
end

local tFAttributes,tSAttributes,tCompareMode = {}

local function DlgProc(hDlg,Msg,Param1,Param2)
if Msg==F.DN_INITDIALOG then
tSAttributes,tCompareMode = SAttributes,CompareMode
for i=1,#AttributeValue do tFAttributes[i]=FAttributes[i] end
hDlg:send(F.DM_SETTEXT,3,tostring(tSAttributes):gsub("^0",""))
hDlg:send(F.DM_SETCHECK,21,tCompareMode and F.BSTATE_CHECKED or F.BSTATE_UNCHECKED)
for i=1,#AttributeValue do
hDlg:send(F.DM_SETCHECK,i+4,tFAttributes[i] and F.BSTATE_CHECKED or F.BSTATE_UNCHECKED)
end
hDlg:send(F.DM_SETFOCUS,GFocus,0)
elseif Msg==F.DN_EDITCHANGE and Param1==3 then
local text = hDlg:send(F.DM_GETTEXT,3):lower()
if text:match("^%d") then text=text:gsub("%D","")
elseif text:match("^["..AttributesSymbols.."]") then text=text:gsub("[^"..AttributesSymbols.."]","")
else text=text:gsub("[^%d"..AttributesSymbols.."]","")
end
if tonumber(text) then
text = text:gsub("^0","")
tSAttributes = bit.band(tonumber(text) or 0,FAMasque)
for i=1,#AttributeValue do
tFAttributes[i] = bit.band(tSAttributes,AttributeValue[i])==AttributeValue[i] and true or false
hDlg:send(F.DM_SETCHECK,i+4,tFAttributes[i] and F.BSTATE_CHECKED or F.BSTATE_UNCHECKED)
end
else
tSAttributes,text = tostring(text),""
for i=1,#AttributesSymbols do
if tSAttributes:match(AttributesSymbols:sub(i,i)) then tFAttributes[i]=true text=text..AttributesSymbols:sub(i,i) else tFAttributes[i]=false end
hDlg:send(F.DM_SETCHECK,i+4,tFAttributes[i] and F.BSTATE_CHECKED or F.BSTATE_UNCHECKED)
end
tSAttributes = text
end
hDlg:send(F.DM_SETTEXT,3,text)
elseif Msg==F.DN_BTNCLICK and Param1==4 then
tSAttributes = mf.fattr(APanel.Current) or tSAttributes
hDlg:send(F.DM_SETTEXT,3,tSAttributes)
for i=1,#AttributeValue do
tFAttributes[i] = bit.band(tSAttributes,AttributeValue[i])==AttributeValue[i] and true or false
hDlg:send(F.DM_SETCHECK,i+4,tFAttributes[i] and F.BSTATE_CHECKED or F.BSTATE_UNCHECKED)
end
elseif Msg==F.DN_BTNCLICK and Param1==21 then
tCompareMode = Param2~=0
elseif Msg==F.DN_BTNCLICK and Param1>4 and Param1<21 then
local i=Param1-4
tFAttributes[i] = Param2~=0
if tonumber(tSAttributes) then
tSAttributes = tFAttributes[i] and bit.bor(tSAttributes,AttributeValue[i]) or bit.band(tSAttributes,bit.bnot(AttributeValue[i]))
else
tSAttributes = tFAttributes[i] and tSAttributes..AttributesSymbols:sub(i,i) or tSAttributes:gsub(AttributesSymbols:sub(i,i),"")
end
hDlg:send(F.DM_SETTEXT,3,tSAttributes)
elseif Msg==F.DN_BTNCLICK and Param1==22 then -- [x] Report
xReport = Param2~=0
elseif Msg==F.DN_GOTFOCUS then
if Param1>1 and Param1<#Items-2 then GFocus=Param1 end
else
return
end
return true
end

Panel.LoadCustomSortMode(ModeNumber,{Description=Description;Indicator=Indicator;Compare=Compare})

Macro {
description = Description; area = "Shell Menu"; key = Key.." Enter MsLClick";
condition = function(key) return Area.Shell and key==Key or Area.Menu and Menu.Id==MenuGuid and Menu.Value:match(Description) and (key=="Enter" or key=="MsLClick") end;
action = function()
if Area.Menu then Keys("Esc") end
if far.Dialog(guid,-1,-1,69,16,nil,Items,nil,DlgProc)==#Items-1 then
SAttributes = tSAttributes
local OldAttributesWeight = AttributesWeight
AttributesWeight=0 for i=1,#AttributeValue do FAttributes[i]=tFAttributes[i] if FAttributes[i] then AttributesWeight=AttributesWeight+AttributeValue[i] end end
if AttributesWeight~=OldAttributesWeight or tCompareMode~=CompareMode then panel.SetSortOrder(nil,1,bit.band(panel.GetPanelInfo(nil,1).Flags,F.PFLAGS_REVERSESORTORDER)==0) end
CompareMode = tCompareMode
count = 0
local ttime=far.FarClock()
Panel.LoadCustomSortMode(ModeNumber,{Description=Description;Indicator=Indicator;Compare=Compare})
Panel.SetCustomSortMode(ModeNumber,0)
ttime = far.FarClock()-ttime
local report = "Curr count: "..count.." mcs: "..ttime
if count0 then
report = report.."\nPrev count: "..count0.." mcs: "..ttime0.."\nDifference:"..string.format("%+"..(string.len(tostring(count0))+1).."d",count-count0).." mcs:"..string.format("%+"..(string.len(tostring(ttime0))+1).."d",ttime-ttime0)
end
count0,ttime0 = count,ttime
if xReport then
panel.RedrawPanel(nil,1)
msgbox("Report",report,0x00010008)
end
end
end;
}
Автор: VictorVG2
Дата сообщения: 26.02.2016 14:05
BookMark Manager v2.20 (IgorZ on Fri 26 Feb, 2016 10:22) при вызове хелпа по F1 из окна скрипта выводит ошибку в строке 482 (вне зависимости от имени скрипта и диалога где F1 нажали) - в функцию ShowHelp() вместо имени пункта передаётся nil, а по идее туда бы должно передаваться имя пункта справки, но этот кусок скрипта утерян. По крайней мере у себя я такой стек увидел:



- попробую придумать как это место поправить? Единственное хоть bmhelp: работает и вызывает оглавление хелпа, а остальное чинить надо. По крайней мере я смотрю функции ShowHelp() скрипта во всех случаях её вызова кроме как по префиксу должно передаваться имя топика, а не мусор...

добавлено:
Починил, выложил исправленный вариант в теме.
Автор: Alexyz21
Дата сообщения: 26.02.2016 14:17
Вот же ж, под XPSP2 4524 работает, а после обновления до 4562 валится с трэплогами на альтхисторевских AltF1[12], а в AltHistory же ж лекарства от склероза Печально...
Автор: Angel_Ka
Дата сообщения: 26.02.2016 16:22
Alexyz21
В восторге от удобства формы диалога, выводимого макросом Panel.CustomSortByAttributes.lua! Сразу захотелось, чтобы и в соответствующих формах Фара тоже были бы окошечки "By Attributes:" — это необыкновенно удобно!

Но вот по содержанию не могу понять в чём дело: по атрибуту "только для чтения" сортировка получается с разрывами. И в x64, и в x86.
Автор: VictorVG2
Дата сообщения: 26.02.2016 16:29
Alexyz21

Так про что AltHistory требует адаптации, а что это она валит Far после b4525 уже не раз писали, но у всех вечно дежурное решение "Это кирпич, тьфу, Far плохой коль падает с плагином <имярек>, плагин неизменен во Времени и Пространстве, а значит Far откатим дабы не тревожить покой Святого Плагина!".
Автор: Alexyz21
Дата сообщения: 26.02.2016 16:51
Angel_Ka
разрывы потому, что текущий алгоритм ориентирован на точное соответствие указанному пользователем набору атрибутов, а не на наличие того или иного атрибута среди указанных. Назначьте файлам исключительно RO, сняв остальные атрибуты и они "всплывут".

Добавлено:
VictorVG2
Откатим потому, что нужен рабочий автомобиль целиком, а не новенький движок от него. FAR это не просто голый дистриб, а целая среда с плагинами и макросами и нужно что бы она работала.

Добавлено:
Angel_Ka
Можно добавить ещё алгоритмы, использовав 1-й символ под указание режима, и сделать выбор режима радиокнопкой. Режимы: 1. [=] строгое соответствие 2. [~] наличие любого из 3. [!] ни одного из. В квадратных скобках символ режима сортировки.
Автор: Angel_Ka
Дата сообщения: 26.02.2016 17:14
Alexyz21

Цитата:
Можно добавить ещё алгоритмы, использовав 1-й символ под указание режима, и сделать выбор режима радиокнопкой. Режимы: 1. [=] строгое соответствие 2. [~] наличие любого из 3. [!] ни одного из. В квадратных скобках символ режима сортировки.

Так это же мечта просто была бы! Воистину нет пределов совершенству, если за дело берётся мастер!
Автор: VictorVG2
Дата сообщения: 26.02.2016 17:16
BookMark Manager 2.20

Вызов справки в диалогах я починил, хотя и "методом грубой силы" :

BookmarkManager.lua, исправления по строкам:

строка: было: изменил на:
Автор: VictorVG2
Дата сообщения: 27.02.2016 01:25
FarUE3 b4563 r13876 Sat Feb 27 02:00:59 +0300 2016

Цитата:
1. Far b4563 r13876
2. Observer v1.11.1
3. BookmarkManager 2.2.0 (в диалогах не работала справка, починил)
4. LuaManager v2.3.0
5. Рефакторинг. Обновление совместимо с SVN r13870 - SVN r13876

Изменения в х64 соответствуют п1 - п4.

Общее - заметно сократилось время перезагрузки скриптов, тестовые скрипты отрабатывают на порядок быстрее - например тест-скрипт./script.tar.bz2/script.tar/test.7z/test.lua из script.tar.bz2 лежащий на NFS томе с кучей симлинков и который сам смонтирован через каскад симлинков между тремя уровнями точек монтирования NFS ветви, в гигабитной LAN отрабатывает за 0,289/0,981 сек при том, что на пассивной панели тоже NFS слайс с полусотней точек монтирования и не одним десятком тысяч симлинков на расположенные в пространстве NFS файлы и каталоги. Ранее, до b4562 включительно этот же скрипт, но лежащий в /var/home/test/test.lua даже при отключении точек монтирования NFS ветвей показывал 5,678/1,234 сек.
Автор: Angel_Ka
Дата сообщения: 27.02.2016 05:54
Alexyz21

А нельзя ли сделать так, чтобы в поле By Attributes макроса Panel.CustomSortByAttributes.lua по умолчанию вместо 0 выставлялся десятичный код набора атрибутов файла, находящегося под курсором? И, само собой, как сейчас в макросе и есть — автоотмечались бы соответствующие крыжики.

Попрактиковавшись с вот таким макросом:

Код: -- Загрузить сортировку
local ModeNumber = 111
local ffi = require "ffi"
local C = ffi.C

Panel.LoadCustomSortMode (ModeNumber,
{
Description="по атрибутам как у файла под курсором";
Compare = function(p1, p2)
local l0 = tonumber(_G.ctr)
local l1 = bit.band(tonumber(p1.FileAttributes), l0)
local l2 = bit.band(tonumber(p2.FileAttributes), l0)
return l1 - l2
end;
Indicator = "Ff";
})

-- Применить сортировку
Macro {
description="сортировать по атрибутам, которые имеет файл под курсором";
area="Shell"; key="CtrlShift9";
action=function()
_G.ctr=mf.fattr(APanel.Current)
Panel.SetCustomSortMode(ModeNumber,0)
end;
}
Автор: Alexyz21
Дата сообщения: 27.02.2016 09:33
Angel_Ka
Посмотрю.
Автор: Angel_Ka
Дата сообщения: 27.02.2016 10:27
Информация для фартима:

В нативном фаровском меню "Критерий сортировки" (вызываемом по CtrlF12) повторяется хоткей:
Количество (п)отоков
(П)олное имя

В английской версии — "Sort by" два повтора хоткеев:
Chan(g)e time
Use sort (g)roups
и
(W)rite time
Sho(w) directories first


Добавлено:
В Главном меню Фара позиция сортировки файлов обозначена как "Режим(ы) сортировки Ctrl+F12", а вызываемое ею меню: "Критерий сортировки".
Имхо, целесообразнее было бы и там, и там одинаковое обозначение: "К(р)итерии сортировки"
Автор: Alexyz21
Дата сообщения: 27.02.2016 10:57
имхо режимы было бы лучше - в англ используется Mode

Добавлю для фартима от себя:
FileAttributes включает в себя не все атрибуты, а лишь:
a - archive
c - compressed
d - directory
e - reparse point
h - hidden
o - offline
p - sparse file
r - read only
s - system file
t - temporary

из:
[ ] &Read only [ ] S&parse
[ ] &Archive [ ] Temporar&y
[ ] &Hidden [ ] O&ffline
[ ] &System [ ] Reparse poin&t
[ ] &Compressed [ ] &Virtual
[ ] &Encrypted [ ] Integrity strea&m
[ ] Not &indexed [ ] No scru&b data
, плюс те атрбуты, которые здесь отсутствуют.

В принципе букв хватает, если их расставить как в примере выше, но в этом случае буквы у reparse point, offline и temporary иные.



Добавлено:
Angel_Ka

Цитата:
чтобы при сбросе всех крыжиков атрибутов в диалоге Custom Sort вместо 0 в поле By Attributes подставлялся бы код 128, соответствующий атрибуту Normal.

Состояние атрибута Normal при сортировке не учитывается, так как в нём нет нужды - он что 5-я нога в колесе, проще его игнорировать. Например введите 128 (Normal) или 16 (Directory) - все чекбоксы очистятся.

Скрипт обновлён - добавлена кнопка подхвата файловых атрибутов из текущего Item.
Автор: Angel_Ka
Дата сообщения: 27.02.2016 16:09
Alexyz21

Цитата:
добавлена кнопка подхвата файловых атрибутов из текущего Item

Да, очень хорошо! Несколько универсальнее и комфортнее стало.
Очень рад, что Вы заинтересовались этим макросом! Уже сейчас он фантастически удобный по сравнению с тем, когда его не было. Огромная благодарность Вам!
С предвкушением ожидаю радиокнопок на условия сортировки.


Добавлено:
Что касается применения терминов "режимы" или "критерии", то здесь, разумеется, дело вкуса. И зависит от предпочтения того, кто это будет действительно делать.
Лично мне кажется не звучащим: "сортировать в режиме имени" или "в режиме атрибутов". И другое дело: "сортировать по критерию имени", "по критерию расширения", "по критерию атрибутов" … и сокращённо тоже созвучно: "по имени", "по расширению", "по атрибутам".
А вот в том случае, когда Вы предполагаете

Цитата:
Режимы: 1. [=] строгое соответствие 2. [~] наличие любого из 3. [!] ни одного из.

то здесь, по-моему, как раз очень уместно выразиться: "в режиме строгого соответствия", "в режиме наличия любого из", "в режиме исключения"…
Автор: wseventeen
Дата сообщения: 27.02.2016 17:02

Цитата:
"сортировать в режиме имени""
действительно звучит странно.
"режим сортировки по имени" гораздо лучше.
Автор: Angel_Ka
Дата сообщения: 27.02.2016 17:03
Alexyz21

Цитата:
Состояние атрибута Normal при сортировке не учитывается

Но практически, кажется, по данному критерию файлы отлично сортируются: ставлю курсор на файл с данным атрибутом, вызываю Ваш макрос, нажимаю кнопки [From File] и { Ok }, и получаю файлы, отсортированные по атрибуту Normal. И это очень хорошо.
А вот что фактически значит сортировка файлов по коду 0, не могу догадаться. И практики такой раньше вроде бы никогда не было. Поэтому данный вариант немножко и скребёт.



Добавлено:
wseventeen
Просто когда речь идёт о режиме, то автоматически всплывает вопрос-штамп "в каком режиме?", а когда обсуждаются критерии — то вопрос "по какому критерию?".

Впрочем, целиком полагаюсь на Ваш вкус и заведомо принимаю тот вариант, который Вам предпочтительнее. И дай Бог Вам здоровья и удачи!
Автор: HelioSS
Дата сообщения: 27.02.2016 17:29
Как в сабже получить доступ к устройству MediaAudio (к тому же телефону)?
Автор: VictorVG2
Дата сообщения: 27.02.2016 19:25
HelioSS

Поставить плагин который умеет с ним работать. У меня к примеру телефон на базе Android 4.4.x умеющий работать как USB накопитель и я для доступа к его памяти просто переключаю его в нужный режим, а для старых телефонов (N70, 6230i, 6610i) на Simbian OS мне требовались Nokia PC Suite или специальные плагины обеспечивавшие взаимодействие с устройством.
Автор: HelioSS
Дата сообщения: 27.02.2016 19:28
VictorVG2

Цитата:
Поставить плагин который умеет с ним работать.

Не стал писать, что надо написать но не стал - мне надо получить доступ из командной строки. Думаю, плагин тут совершенно не поможет.

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566

Предыдущая тема: оффтоп


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.