Page 4 of 6

LNK-file viewer

Posted: Mon 22 Dec, 2014 20:25
by HaRT

Latest post of the previous page:

Shmuel wrote: Я бы мог добавить поддержку передачи таблиц, просто до сих пор такой потребности не возникало.
Правильно ли я понимаю, что и массив таблиц сейчас из плагина не передать?

Posted: Mon 22 Dec, 2014 20:26
by John Doe
HaRT wrote:
John Doe wrote:Разве плагин может вернуть таблицу
Если правда, что плагин может вернуть только массив, то вроде ж это может быть массив таблиц (см. третий кусок кода в вопросе и пояснение перед ним).
Так прямо не получится передать lua-объект через Far API.
Можно реализовать только обходным путём.
Shmuel wrote:Мне кажется, можно было бы обойтись и без таблицы, просто фиксированной последовательностью передаваемых значений.
По крайней мере для обсуждаемого случая этого кажется достаточно.

LNK-file viewer

Posted: Mon 22 Dec, 2014 20:31
by Shmuel
HaRT wrote: Правильно ли я понимаю, что и массив таблиц сейчас из плагина не передать?
Если одну таблицу нельзя передать, то ясно, что и массив таблиц нельзя. Это если говорить о прямом API. А передать по заранее обговорённой конвенции можно что угодно и сейчас, в том числе и массив таблиц.

LNK-file viewer

Posted: Mon 22 Dec, 2014 20:39
by stasf
HaRT wrote: Правильно ли я понимаю, что и массив таблиц сейчас из плагина не передать?
Ну да, исходя из содержания FarMacroValue похоже, что только массив массивов можно...
Только как этим на стороне макроса пользоваться?

LNK-file viewer

Posted: Mon 22 Dec, 2014 21:27
by stasf
John Doe wrote:
Shmuel wrote:Мне кажется, можно было бы обойтись и без таблицы, просто фиксированной последовательностью передаваемых значений.
По крайней мере для обсуждаемого случая этого кажется достаточно.
Честно говоря, фиксированный список приведет к сужению возможностей...
Ведь потребности у всех разные. Для кого-то пути к таргету достаточно (хотя, правильно извлечь его, учитывая многообразие внутреннего содержания LNK-файла - отдельная тема), а для кого-то (кто занимается forensics examinations) может понадобиться извлечь поле
/XtraData/Tracker Data/Target DROIDs/Birth ObjectID/TimeStamp

Так что, хотелось бы сделать простой, удобный и универсальный механизм доступа к данным...

С учетом обсуждения у кого-то конкретные возражения против первоначального варианта
stasf wrote: local LnkFlags {, var} = Plugin.SyncCall ( LnkViewGUID, LnkFileName {, LnkDataField} )
с учетом возможностей
stasf wrote: local Flags, TargetPath, TargetParams = Plugin.SyncCall(LnkViewGUID, LnkFileName, "@TargetPath", "@TargetParams")
и
stasf wrote: local Flags, LnkFields = Plugin.SyncCall(LnkViewGUID, LnkFileName, "/")
имеются?

LNK-file viewer

Posted: Mon 22 Dec, 2014 22:04
by stasf
Shmuel wrote:Если одну таблицу нельзя передать, то ясно, что и массив таблиц нельзя.
И ведь вот это:
stasf wrote:

Code: Select all

Plugin.Call(LnkViewGUID)
будет открывать панель LNK-viewer'а на текущем файле в активной панели (если он подходящего формата).
тоже, наверное, не получится?
Панельные методы-то вызывать, похоже, некому :-(

LNK-file viewer

Posted: Mon 22 Dec, 2014 22:12
by Shmuel
stasf wrote: Панельные методы-то вызывать, похоже, некому
Если это вопрос ко мне, то я его не понял.
Но саму идею считаю неправильной, то-есть считаю, что плагин должен получать имя файла всегда, а что ему передать, макрос сам разберётся.

LNK-file viewer

Posted: Mon 22 Dec, 2014 22:31
by stasf
Shmuel wrote:
stasf wrote: Панельные методы-то вызывать, похоже, некому
Если это вопрос ко мне, то я его не понял.
Ну, я имел в виду, что после возврата из OpenW c OPEN_FROMMACRO Far в любом случае не будет вызывать никаких там GetFindDataW и пр...
Shmuel wrote:Но саму идею считаю неправильной, то-есть считаю, что плагин должен получать имя файла всегда, а что ему передать, макрос сам разберётся.
Да - согласен - Вы разрешили мои сомнения - спасибо.

LNK-file viewer

Posted: Mon 29 Dec, 2014 21:35
by stasf
SUSim wrote: Если Вы реализуете возможность отдавать в макрос, хотя бы, рабочую папку и объект запуска, то многое другое уже можно будет развить макросами!!!
Реализовано в версии плагина 1.2.0

LNK-file viewer

Posted: Mon 29 Dec, 2014 21:40
by stasf
SUSim wrote: ( - ссылку на класс в реестре и из неё, всё таки, вытащить закупаемый файл)
А вот про это не могли бы Вы поподробнее объяснить, что имеется в виду ?
Я сейчас как раз размышляю над тем, как бы усилить алгоритм извлечения имени таргет-файла...

LNK-file viewer

Posted: Wed 28 Jan, 2015 01:17
by Wave
Не совсем понял, можно ли как-то и как именно получить путь, на который ссылается ярлык, с тем чтобы перейти по этому пути? В смысле, запустить на каком-нить Far.lnk и перейти на %FARHOME%\Far.exe

LNK-file viewer

Posted: Wed 28 Jan, 2015 10:02
by John Doe
Справка для кого писана?

LNK-file viewer

Posted: Thu 12 Mar, 2015 13:07
by virjokk
Планируется ли возможность настройки шаблона имени создаваемой ссылки в директории ссылок?

LNK-file viewer

Posted: Thu 12 Mar, 2015 20:28
by stasf
virjokk wrote:Планируется ли возможность настройки шаблона имени создаваемой ссылки в директории ссылок?
Откровенно говоря, не вижу в этом особой необходимости.
Ссылку в директории ссылок можно переименовать обычными средствами FAR.
Если требуется переименование по шаблону, можно воспользоваться плагином RESearch, который занимается подобными вопросами профессионально:-))

LNK-file viewer

Posted: Mon 23 Mar, 2015 23:14
by Shmuel
В хелпе есть примеры кода на Lua, такие как:

Code: Select all

if Flg then do
    local c = string.format ("Target : %s",Target)
    far.Message (c)
    end
end
Хотел бы обратить ваше внимание, что do...end является лишним при применении конструкции if.

LNK-file viewer

Posted: Tue 24 Mar, 2015 10:21
by fps
Если нажать F11 -> Lnk-file Viewer на файле "c:\file" создается ярлык с неверным target "C:\\file"
При этом из ком.строки "lnk:create C:\file" ярлык создается правильно.