Редактор БД плагинов

Здесь выкладываются готовые к использованию макросы и скрипты.
IgorZ
Posts: 790
Joined: Wed 13 Jul, 2011 03:32
Has thanked: 15 times
Been thanked: 93 times

Редактор БД плагинов

Post by IgorZ »

(бывший "Экспорт / импорт данных LuaMacro")
Описание:
Данный скрипт позволяет просматривать данные плагинов, хранящиеся в локальном и глобальном профилях Far-а, редактировать их, экспортировать в файл, а также импортировать из ранее экспортированного файла. По умолчанию предлагаются данные LuaMacro. После выбора другого плагина умолчание меняется до перезагрузки макросов. Формат файла импорта/экспорта текстовый, довольно простой - фактически, .ini-формат с некоторыми дополнительным ограничениями, так что, в принципе, легко редактируемый при надобности. Можно последовательно сохранить несколько разрозненных кусков данных в один файл путём дописывания в конец. Полученный файл можно импортировать в Far.



В стандартной поставке идёт файл, добавляющий следующие возможности:
  • Пункт в меню плагинов.
Требуемая версия Far 3.0.4324+.

Attachments
DBEdit.3.1.0.7z
(19.02 KiB) Downloaded 73 times
DBEdit.2.1.8.7z
Последняя публичная версия не в виде модуля
(18.87 KiB) Downloaded 199 times
Last edited by IgorZ on Tue 23 May, 2023 06:39, edited 8 times in total.
IgorZ
Posts: 790
Joined: Wed 13 Jul, 2011 03:32
Has thanked: 15 times
Been thanked: 93 times

Редактор БД плагинов

Post by IgorZ »

Latest post of the previous page:

DV wrote: Tue 21 Apr, 2020 11:23
IgorZ wrote: Tue 21 Apr, 2020 09:28Версия 2.1.5
Спасибо - но, увы, всё с тем же RESearch:
Упс... Прошу прощения, только сейчас дошло, что проверял на "условно-стабильной" сборке 5577, в которой этого нововведения ещё не было. Переделаю.

P. S. Собственно, переделка оказалась элементарной. Строку 393 меняем с

Code: Select all

res.str,res.dump = _G.unicode.utf8.utf8valid(elem.value) and elem.value:gsub("\n","\\n"),"["..table.concat({elem.value:byte(1,-1)},",").."]"
на

Code: Select all

res.str,res.dump = _G.unicode.utf8.utf8valid(elem.value) and elem.value:gsub("\n","\\n"),"["..table.concat({string.byte(elem.value,1,-1)},",").."]"
Last edited by IgorZ on Wed 22 Apr, 2020 05:49, edited 1 time in total.
IgorZ
Posts: 790
Joined: Wed 13 Jul, 2011 03:32
Has thanked: 15 times
Been thanked: 93 times

Редактор БД плагинов

Post by IgorZ »

DV wrote: Tue 21 Apr, 2020 11:23
IgorZ wrote: Tue 21 Apr, 2020 09:28Версия 2.1.5
Спасибо - но, увы, всё с тем же RESearch:


Версия 2.1.6 -
  • Исправлена ошибка с неюникодной строкой значения типа FST_DATA. Проверил на сборке 5587 и БД RESearch - работает нормально, AllCP отображает и не падает.
IgorZ
Posts: 790
Joined: Wed 13 Jul, 2011 03:32
Has thanked: 15 times
Been thanked: 93 times

Редактор БД плагинов

Post by IgorZ »

Версия 2.1.7 -
  • Исправлена ошибка с переключением БД между локальной и глобальной, когда переключать нечего.
  • Добавлен перехват CtrlBreak.
Обе ситуации приводили к падению скрипта. Найдены с подачи Victor_VG (Ru.Board). Самое смешное: именно ту ошибку, которую постил он, повторить так и не удалось, несмотря ни на что.
User avatar
buniak_a_h
Posts: 4234
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 642 times
Contact:

Редактор БД плагинов

Post by buniak_a_h »

IgorZ wrote: Wed 22 Apr, 2020 05:42Версия 2.1.7 -
На более ранних версиях не проверял, но в этой вылет. Насколько я понял, скрипт рассчитан на взаимодействие с Scripts browser-ом.
IgorZ
Posts: 790
Joined: Wed 13 Jul, 2011 03:32
Has thanked: 15 times
Been thanked: 93 times

Редактор БД плагинов

Post by IgorZ »

Версия 2.1.8 -
  • CtrlBreak работает как F10 (немедленный выход из скрипта), MsLClick работает как Enter (вход в подключ/редактирование элемента под курсором). Данные комбинации обрабатывались неполностью. Я подумал и решил, что использовать - лучше, чем запрещать.
  • Исправлен nfo.execute. Теперь не падает при запуске из ScriptBrowser-а.
  • Рефакторинг. Традиционно, добавим заготовки для новых ошибок. ;)
User avatar
buniak_a_h
Posts: 4234
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 642 times
Contact:

Редактор БД плагинов

Post by buniak_a_h »

IgorZ wrote: Thu 03 Mar, 2016 10:28
  • Вызов главного меню. Позволяет просматривать данные, экспортировать и импортировать. Клавиша вызова: Alt+Shift+F2.
Во временной панели данное кнопкосочетание назначено на функцию экспорта списка файлов в файл. Посему прошу на будущее внести следующие изменения:
  1. В список Guids добавить строку

    Code: Select all

    TmpPanel =  win.Uuid("B77C964B-E31E-4D4C-8FE5-D6B0C6853E7C"),
  2. В этот макрос добавить строку:

    Code: Select all

    condition = function() return not APanel.Plugin or panel.GetPanelInfo(nil, 1).OwnerGuid ~= Guids.TmpPanel end;
IgorZ
Posts: 790
Joined: Wed 13 Jul, 2011 03:32
Has thanked: 15 times
Been thanked: 93 times

Редактор БД плагинов

Post by IgorZ »

Версия 3.0.0 -
  • Переделан на модуль. Задумано давно, сделано только теперь.
  • Добавлен макрос, возвращающий доступ к клавиатурным комбинациям AltShiftF2/F3 плагина TmpPanel. Теперь при нажатии этих клавиш в TmpPanel можно импользовать и его встроенные возможности, и DBEdit.
  • Рефакторинг, много по мелочи.
IgorZ
Posts: 790
Joined: Wed 13 Jul, 2011 03:32
Has thanked: 15 times
Been thanked: 93 times

Редактор БД плагинов

Post by IgorZ »

Версия 3.1.0 - Переделан показ значений типа FST_DATA в меню и при редактировании:
  • Сами значения, если состоят из нескольких строк, показываются построчно, а не в одну строку с разбиением \n.
  • Дамп значения выводится не упрощённо, как раньше, а аналогично другим программам (<смещение от начала>: <байт0> .. <байт15> <символьное представление 16 байт>) и показывается в одном из двух случаев:
    1. значение не может быть отображено; тогда дамп выводится вместо значения;
    2. включён режим обязательного показа дампа в главном меню.
  • Добавлен режим обязательного показа дампа для типа FST_DATA в главном меню. Режим переключается комбинацией CtrlD. Значение по умолчанию выставляется в nfo.options.show_dump.
Last edited by IgorZ on Tue 23 May, 2023 06:57, edited 1 time in total.
Prutkov
Posts: 44
Joined: Sat 08 Apr, 2023 04:58
Has thanked: 33 times
Been thanked: 2 times

Редактор БД плагинов

Post by Prutkov »

IgorZ,

User avatar
SUSim
Posts: 1633
Joined: Thu 18 Feb, 2010 17:32
Has thanked: 9 times
Been thanked: 25 times

Редактор БД плагинов

Post by SUSim »

Файлы макросов не обновлялись... И незачем их обновлять.
Обновился модуль, я сам его разархивировал в соответсвующую папку с заменой.
Вроде всё ок заработало.
Даже лучше чем было :good:
Last edited by SUSim on Tue 23 May, 2023 18:11, edited 1 time in total.
SimSU ··· ·· -- ··· ··-
Prutkov
Posts: 44
Joined: Sat 08 Apr, 2023 04:58
Has thanked: 33 times
Been thanked: 2 times

Редактор БД плагинов

Post by Prutkov »

SUSim wrote: Tue 23 May, 2023 18:10 Файлы макросов не обновлялись... И незачем их обновлять
А мне и обновлять было нечего — ставил скрипт впервые.

Что в этом случае Вы мне посоветуете?
User avatar
SUSim
Posts: 1633
Joined: Thu 18 Feb, 2010 17:32
Has thanked: 9 times
Been thanked: 25 times

Редактор БД плагинов

Post by SUSim »

Prutkov, Просто удалить все файлы из своих директорий ;) но только те которые были в упомянутой поставке макроса!
Потом аккуратно положить модуль в директорию к модулям, а макрос в директорию скриптов.
Кстати я не роверял шорткат я из меню вызывал .... Може тут косяк?
Last edited by SUSim on Tue 23 May, 2023 20:09, edited 3 times in total.
SimSU ··· ·· -- ··· ··-
Prutkov
Posts: 44
Joined: Sat 08 Apr, 2023 04:58
Has thanked: 33 times
Been thanked: 2 times

Редактор БД плагинов

Post by Prutkov »

SUSim wrote: Tue 23 May, 2023 20:06Просто удалить все файлы из своих директорий ;) но только те которые были в упомянутой поставке макроса!
Сделал.
Потом аккуратно положить модуль в директорию к модулям, а макрос в директорию скриптов
Сделал.
Кстати я не проверял шорткат ....
Ну не сам же я его выдумал, а просто заглянул "под капот" DBEMacros.lua.

Результат, увы, тот же.
А может быть Вы пришлёте мне в личку свой вариант скрипта? Модуль-то, как я понимаю, у Вас обновлён? А можно бы и его тоже прислать.
Prutkov
Posts: 44
Joined: Sat 08 Apr, 2023 04:58
Has thanked: 33 times
Been thanked: 2 times

Редактор БД плагинов

Post by Prutkov »

Prutkov wrote: Tue 23 May, 2023 17:35 IgorZ,

Установил и испробовал скрипт из архива DBEdit.2.1.8.7z — вполне нормально работает. Спасибо Вам большое за него.
IgorZ
Posts: 790
Joined: Wed 13 Jul, 2011 03:32
Has thanked: 15 times
Been thanked: 93 times

Редактор БД плагинов

Post by IgorZ »

Prutkov wrote: Tue 23 May, 2023 17:35 IgorZ,

Файлы init.lua, English.hlf, Russian.hlf, English.lng, Russian.lng должны лежать в %FARPROFILE%\Macros\modules\DBEdit (%FARPROFILE%\Macros\modules\DBEdit\init.lua и т.д.).
Prutkov
Posts: 44
Joined: Sat 08 Apr, 2023 04:58
Has thanked: 33 times
Been thanked: 2 times

Редактор БД плагинов

Post by Prutkov »

IgorZ,
Всё так и есть.

Сейчас вот специально всё прежнее удалил и из свежеразархивированного DBEdit.3.1.0.7z положил по указанным Вами адресам. Результат тот же.

Начинаю подозревать, что какая-то из баз данных Фара глючит. Но какая именно найти не умею.

Добавлено:

Сделал тестовую сборку и положил туда только сабжевые файлы — всё нормально работает.

Но от настроенного Фара отказываться не хочу — помогите, пожалуйста, решить проблему.
Last edited by Prutkov on Wed 24 May, 2023 05:45, edited 1 time in total.
Post Reply

Return to “Полезные макросы и скрипты”