Макрос, реализующий функции плагина Active-Help

Здесь обсуждается всё, что касается макросов.
buniak_a_h
Posts: 904
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 78 times
Been thanked: 28 times
Contact:

Макрос, реализующий функции плагина Active-Help

Post by buniak_a_h » Sat 05 Aug, 2017 05:51

Был хороший плагин active-Help, который перестал работать на 64-разрядной версии. Я всех его возможностей не помню, использовал только запуск отмеченного текста как команды ShellExecute и вызов помощи по языку программирования (*.hlp, *.chm). Постарался сделать его заменитель на макро (Lua)


Active-Help.013.7z
Версия 013 с модулями
(21.18 KiB) Downloaded 57 times
Last edited by buniak_a_h on Sun 27 Jan, 2019 13:10, edited 24 times in total.

buniak_a_h
Posts: 904
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 78 times
Been thanked: 28 times
Contact:

Макрос, реализующий функции плагина Active-Help

Post by buniak_a_h » Mon 11 Sep, 2017 21:54

Latest post of the previous page:

John Doe wrote:
Mon 11 Sep, 2017 17:34
А Команда для вызова помощи (+параметры) это опциональные поля?
Не просто опциональные - теперь оказалось вообще лишние. Ну, на будущее оставил.
Просто когда начинал, то не знал, как вызвать помощь по конкретной теме (ключу). Потом нашёл командную строку для hlp-файлов. Логично предположил (как мне казалось), что аналогичная строка существует и для chm ; просто я её ещё не нашёл. Поэтому оставил эти поля, чтоб тот, кто знает как, смог бы настроить командную строку. Однако с chm оказалось несколько сложнее. Поэтому для chm они вообще лишние; да и для hlp - тоже, т.к. для hlp я командную строку забил в макрос. Руки не дошли почикать (да и пока не знаю, может ещё какие системы помощи есть. Например, VC++ формирует какой-то запрос серверу...)
John Doe wrote:
Mon 11 Sep, 2017 17:34
buniak_a_h wrote:
Mon 11 Sep, 2017 17:11
Ну, я примерно так и делал. Хранение настройки сделал в текстовый файл, соответственно загрузку сделал. До того, как узнал про mf.mload/mf.msave
А при чём тут msave.
При том, что до того, как я узнал про settings и mf.load/mf.save, а читал и сохранял настройки в текстовый файл. Именно такого вида, как Вы нарисовали.
John Doe wrote:
Mon 11 Sep, 2017 17:34
Я говорил о том, что можно было бы сэкономить немало часов времени разработки/отладки, если для начала ограничиться текстовым конфигом.
Потом, когда структура данных устаканится, можно и в диалоги вывести конечно.
Я, собственно, и затеял поначалу всю эту канитель, чтобы посмотреть, какие возможности организации диалогов есть в FAR-е. И настройки было только две: клавиша для ShellExecute и клавиша для вызова справки.
John Doe wrote:
Mon 11 Sep, 2017 17:34
То, как оно сейчас, учитывая особенности интерфейса, и необходимость как-то неочевидно перемещаться между управляющими элементами, мне не очень удобно.
Ну, не последняя версия... По уму надо делать симуляцию грида с двумя столбцами. Хотя, если не делать алиасы, то весь вторичный диалог ("Редактирование помощи") сводится к двум полям: маске файла и многострочному списку файлов. Остальное просто пока без надобности.
Или Ваше замечание относится к первому диалогу? Так там, вроде, ничего лишнего.
Можно, конечно, разбить его не два диалога: настройка горячих клавиш и редактирование ассоциаций. Наверно, это будет правильно...
Спасибо за идею.

User avatar
bigvax
Posts: 20
Joined: Fri 02 Jun, 2006 17:18
Location: где-то во времени
Has thanked: 1 time
Contact:

Макрос, реализующий функции плагина Active-Help

Post by bigvax » Sun 24 Sep, 2017 12:41

Александр, скажите, а где скрипт хранит свои настройки?
И как их можно сохранить/скопировать - это на предмет перетаскивания полностью настроенного «под себя» Фара с машины на машину...
Всегда виртуально Ваш, BigVax

buniak_a_h
Posts: 904
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 78 times
Been thanked: 28 times
Contact:

Макрос, реализующий функции плагина Active-Help

Post by buniak_a_h » Sun 24 Sep, 2017 19:41

bigvax wrote:
Sun 24 Sep, 2017 12:41
Александр, скажите, а где скрипт хранит свои настройки?
И как их можно сохранить/скопировать - это на предмет перетаскивания полностью настроенного «под себя» Фара с машины на машину...
Хранит в базе ФАРа (уж не знаю, что это такое, но работает быстро).
Для перетаскивания там есть кнопки "Экспорт" и "Импорт". Спрашивает путь к файлу... :-)
Если несколько файлов помощи, рекомендую стразу после импорта проиндексировать.
Ну и там много нового появилось (в частности, получать помощь не из редактора, а из командной строки. Бывает надобно...)

2useven10
Posts: 3917
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 4 times
Been thanked: 164 times

Макрос, реализующий функции плагина Active-Help

Post by 2useven10 » Sun 24 Sep, 2017 21:31

bigvax, скорее всего: %FARPROFILE%\PluginsData\4EBBEFC8-2084-4B7F-94C0-692CE136894D.db
или/и %FARLOCALPROFILE%\PluginsData\4EBBEFC8-2084-4B7F-94C0-692CE136894D.db
4EBBEFC8-2084-4B7F-94C0-692CE136894D - это guid плагина luamacro.

buniak_a_h
Posts: 904
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 78 times
Been thanked: 28 times
Contact:

Макрос, реализующий функции плагина Active-Help

Post by buniak_a_h » Sun 24 Sep, 2017 23:53

2useven10 wrote:
Sun 24 Sep, 2017 21:31
bigvax, скорее всего: ...
Думаю, для миграции настроек на другой комп это не имеет большого значения (хотя интересно). Просто потому что "выдирать" нужные настройки оттуда не имеет смысла; легче выгрузить в файл и загрузить на другом компе.К тому же там при необходимости можно подправить пути (иногда это удобнее, чем настройку вызывать. Например, если файлы мигрировали на другой логический диск или в другой каталог с сохранением структуры). Но для "общей эрудиции" полезно, спасибо.

User avatar
bigvax
Posts: 20
Joined: Fri 02 Jun, 2006 17:18
Location: где-то во времени
Has thanked: 1 time
Contact:

Макрос, реализующий функции плагина Active-Help

Post by bigvax » Mon 25 Sep, 2017 00:41

buniak_a_h, спасибо!
Уже увидел кнопки Импорт/Экспорт в новой версии макроса - очень вовремя оказалось ;)
Всегда виртуально Ваш, BigVax

2useven10
Posts: 3917
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 4 times
Been thanked: 164 times

Макрос, реализующий функции плагина Active-Help

Post by 2useven10 » Thu 14 Dec, 2017 07:16

John Doe wrote:
Thu 07 Sep, 2017 13:01
В таком случае будем ждать решения тикета http://bugs.farmanager.com/view.php?id=3483
Не прошло и полгода.

buniak_a_h
Posts: 904
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 78 times
Been thanked: 28 times
Contact:

Макрос, реализующий функции плагина Active-Help

Post by buniak_a_h » Thu 14 Dec, 2017 09:32

Я видел, спасибо. Но пока не знаю, где посмотреть. В "ночной сборке" ФАРа - b262 ...

buniak_a_h
Posts: 904
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 78 times
Been thanked: 28 times
Contact:

Макрос, реализующий функции плагина Active-Help

Post by buniak_a_h » Thu 14 Dec, 2017 09:40

2useven10, Сорри. уже вышла b263 ... Наука не стоит ...

buniak_a_h
Posts: 904
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 78 times
Been thanked: 28 times
Contact:

Макрос, реализующий функции плагина Active-Help

Post by buniak_a_h » Thu 14 Dec, 2017 09:52

2useven10 wrote:
Thu 14 Dec, 2017 07:16
Не прошло и полгода.
Получил новый плагин (b263). Есть большой (!!!) минус: не реализованы wildcard-ы в <item>. Ну, тогда надо делать ещё одну команду: list (список всех файлов архива).
Просто стандартная ситуация: надо распаковать все текстовые файлы. Или все исходники. Ну, Вы понимаете...
Для моих целей эта версия пока бесполезна... :cry:

2useven10
Posts: 3917
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 4 times
Been thanked: 164 times

Макрос, реализующий функции плагина Active-Help

Post by 2useven10 » Thu 14 Dec, 2017 10:11

Интересно кто это писал ?
Не реализовано естественное желание распаковать не полностью весь архив, а только один (несколько по списку) файл.
Где здесь слово wildcard ?

buniak_a_h
Posts: 904
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 78 times
Been thanked: 28 times
Contact:

Макрос, реализующий функции плагина Active-Help

Post by buniak_a_h » Thu 14 Dec, 2017 10:16

2useven10 wrote:
Thu 14 Dec, 2017 10:11
Где здесь слово wildcard ?
Ну, извините. Как-то посчитал, что термин "несколько по списку файлов" включает такие конструкции, как *.pas;*.txt;*.doc. Я же не прошу указания имени файла с использованием регэкспов (Что, кстати, наверняка многим было бы полезно). Просто я предполагаю, что если такого не предусмотрено в 7z.exe, то делать сложнее. Но такие комбинации, как я описал, срабатывают при вызове 7z.exe из командной строки; посему казалось естественным реализовать именно тот функционал, что предусмотрен командной строкой 7z.exe
Last edited by buniak_a_h on Thu 14 Dec, 2017 10:20, edited 1 time in total.

buniak_a_h
Posts: 904
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 78 times
Been thanked: 28 times
Contact:

Макрос, реализующий функции плагина Active-Help

Post by buniak_a_h » Thu 14 Dec, 2017 10:27

2useven10 wrote:
Thu 14 Dec, 2017 10:11
Где здесь слово wildcard ?
И, кстати, вдогонку (и в оправдание себя, любимого):
Описание строки 7z.exe:
7z <command> [<switches>...] <archive_name> [<file_names>...]
Здесь тоже в <file_names> не указана возможность указания wildcard-ов. А также во всех системных (и стандартных де-факто) командах типа copy, rar и т.д.
Т.е. если аргумент допускает указание списка файлов, то автоматически подразумевается, что в имени допускаются символы * и ? . И это - как_бы стандарт... Не думал, что это надо оговаривать особо...
Last edited by buniak_a_h on Thu 14 Dec, 2017 10:31, edited 1 time in total.

2useven10
Posts: 3917
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 4 times
Been thanked: 164 times

Макрос, реализующий функции плагина Active-Help

Post by 2useven10 » Thu 14 Dec, 2017 12:03

b264

ccaid
Posts: 846
Joined: Fri 12 Jun, 2009 16:04
Has thanked: 17 times
Been thanked: 5 times

Макрос, реализующий функции плагина Active-Help

Post by ccaid » Thu 14 Dec, 2017 18:10

а вот выдержка из справки по 7z:
7z <command> [<switch>...] <base_archive_name> [<arguments>...]

<arguments> ::= <switch> | <wildcard> | <filename> | <list_file>
<switch>::= <switch_symbol><switch_characters>[<option>]
<switch_symbol> ::= '/' | '-'
<list_file> ::= @{filename}
wildcard'ы указаны отдельно, список файлов это явное перечисление имен (в данном случае — в файле)
Фар делают добрые люди

buniak_a_h
Posts: 904
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 78 times
Been thanked: 28 times
Contact:

Макрос, реализующий функции плагина Active-Help

Post by buniak_a_h » Thu 14 Dec, 2017 18:24

ccaid wrote:
Thu 14 Dec, 2017 18:10
а вот выдержка из справки по 7z:
Ну, это уже не из справки, наверно, а по документации пошарили.


Post Reply

Return to “Обсуждение макросов”