LnkView — LNK-file Viewer

Здесь можно обсудить ваш любимый плагин.
User avatar
HaRT
Moderator
Posts: 8118
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 68 times
Been thanked: 106 times

LNK-file viewer

Post by HaRT » Mon 22 Dec, 2014 20:25

Latest post of the previous page:

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

User avatar
John Doe
Бюрократ
Posts: 11419
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 17 times
Been thanked: 101 times

Post by John Doe » Mon 22 Dec, 2014 20:26

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

Shmuel
Posts: 5231
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 16 times
Been thanked: 151 times

LNK-file viewer

Post by Shmuel » Mon 22 Dec, 2014 20:31

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

stasf
Posts: 111
Joined: Wed 10 Dec, 2014 22:53
Has thanked: 2 times
Been thanked: 1 time

LNK-file viewer

Post by stasf » Mon 22 Dec, 2014 20:39

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

stasf
Posts: 111
Joined: Wed 10 Dec, 2014 22:53
Has thanked: 2 times
Been thanked: 1 time

LNK-file viewer

Post by stasf » Mon 22 Dec, 2014 21:27

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, "/")
имеются?

stasf
Posts: 111
Joined: Wed 10 Dec, 2014 22:53
Has thanked: 2 times
Been thanked: 1 time

LNK-file viewer

Post by stasf » Mon 22 Dec, 2014 22:04

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

Code: Select all

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

Shmuel
Posts: 5231
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 16 times
Been thanked: 151 times

LNK-file viewer

Post by Shmuel » Mon 22 Dec, 2014 22:12

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

stasf
Posts: 111
Joined: Wed 10 Dec, 2014 22:53
Has thanked: 2 times
Been thanked: 1 time

LNK-file viewer

Post by stasf » Mon 22 Dec, 2014 22:31

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

stasf
Posts: 111
Joined: Wed 10 Dec, 2014 22:53
Has thanked: 2 times
Been thanked: 1 time

LNK-file viewer

Post by stasf » Mon 29 Dec, 2014 21:35

SUSim wrote: Если Вы реализуете возможность отдавать в макрос, хотя бы, рабочую папку и объект запуска, то многое другое уже можно будет развить макросами!!!
Реализовано в версии плагина 1.2.0

stasf
Posts: 111
Joined: Wed 10 Dec, 2014 22:53
Has thanked: 2 times
Been thanked: 1 time

LNK-file viewer

Post by stasf » Mon 29 Dec, 2014 21:40

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

User avatar
Wave
Posts: 1721
Joined: Thu 04 Aug, 2005 18:47
Has thanked: 2 times
Been thanked: 10 times

LNK-file viewer

Post by Wave » Wed 28 Jan, 2015 01:17

Не совсем понял, можно ли как-то и как именно получить путь, на который ссылается ярлык, с тем чтобы перейти по этому пути? В смысле, запустить на каком-нить Far.lnk и перейти на %FARHOME%\Far.exe
Пользуюсь ФАРом больше 15 лет © собирательный.

User avatar
John Doe
Бюрократ
Posts: 11419
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 17 times
Been thanked: 101 times

LNK-file viewer

Post by John Doe » Wed 28 Jan, 2015 10:02

Справка для кого писана?

virjokk
Posts: 2
Joined: Mon 04 Oct, 2010 19:20

LNK-file viewer

Post by virjokk » Thu 12 Mar, 2015 13:07

Планируется ли возможность настройки шаблона имени создаваемой ссылки в директории ссылок?

stasf
Posts: 111
Joined: Wed 10 Dec, 2014 22:53
Has thanked: 2 times
Been thanked: 1 time

LNK-file viewer

Post by stasf » Thu 12 Mar, 2015 20:28

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

Shmuel
Posts: 5231
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 16 times
Been thanked: 151 times

LNK-file viewer

Post by Shmuel » Mon 23 Mar, 2015 23:14

В хелпе есть примеры кода на Lua, такие как:

Code: Select all

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

fps
Posts: 165
Joined: Wed 20 Apr, 2005 06:39
Has thanked: 11 times
Been thanked: 3 times

LNK-file viewer

Post by fps » Tue 24 Mar, 2015 10:21

Если нажать F11 -> Lnk-file Viewer на файле "c:\file" создается ярлык с неверным target "C:\\file"
При этом из ком.строки "lnk:create C:\file" ярлык создается правильно.

stasf
Posts: 111
Joined: Wed 10 Dec, 2014 22:53
Has thanked: 2 times
Been thanked: 1 time

LNK-file viewer

Post by stasf » Tue 24 Mar, 2015 20:38

Shmuel wrote:Хотел бы обратить ваше внимание, что do...end является лишним при применении конструкции if.
ОК - спасибо - уберу в следующей сборке

Post Reply

Return to “Обсуждение плагинов”