Менеджер переменных окружения

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

Менеджер переменных окружения

Post by IgorZ »

Данный скрипт позволяет манипулировать переменными окружения: создавать, удалять, редактировать, сохранять в файл, читать из него.
Скрипт содержит один макрос.
Клавиша вызова: AltShiftE.

Требуемая версия Far 3.0.4000+.

Attachments
EnvManager.1.4.1.7z
(13.22 KiB) Downloaded 273 times
Last edited by IgorZ on Thu 21 Sep, 2017 06:33, edited 4 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:

Dennis_Moore wrote: Mon 19 Jun, 2017 13:16
IgorZ wrote: Mon 19 Jun, 2017 05:14 Результат вывода сюда.

После 15-ти минут расследования оказалось что скрипту не нравится мой конфиг LuaMacro в %FARPROFILE%\PluginsData, если его убрать и перезапустить FAR падения нет.
Вот этот конфиг:
Кажется, разобрался. Попробуйте заменить строку 209 с

Code: Select all

  if v.src~=" Mem" or (source[i+1] and source[i+1].Name~=v.Name) then
на

Code: Select all

  if not v.separator and (v.src~=" Mem" or (source[i+1] and source[i+1].Name~=v.Name)) then
и проверьте с проблемной базой. Сообщите результат.
User avatar
Dennis_Moore
Posts: 295
Joined: Tue 03 Mar, 2015 19:54
Location: Kiev
Has thanked: 6 times
Been thanked: 17 times

Менеджер переменных окружения

Post by Dennis_Moore »

IgorZ wrote: Tue 20 Jun, 2017 05:49 и проверьте с проблемной базой. Сообщите результат.
Спасибо, теперь все работает. Т.е. проблема была в скрипте, а не в базе ?
IgorZ
Posts: 790
Joined: Wed 13 Jul, 2011 03:32
Has thanked: 15 times
Been thanked: 93 times

Менеджер переменных окружения

Post by IgorZ »

Dennis_Moore wrote: Tue 20 Jun, 2017 13:34
IgorZ wrote: Tue 20 Jun, 2017 05:49 и проверьте с проблемной базой. Сообщите результат.
Спасибо, теперь все работает. Т.е. проблема была в скрипте, а не в базе ?
Да.
IgorZ
Posts: 790
Joined: Wed 13 Jul, 2011 03:32
Has thanked: 15 times
Been thanked: 93 times

Менеджер переменных окружения

Post by IgorZ »

Версия 1.3.2 - Исправлена ошибка с сохранением переменных окружения при непустом белом списке. Мелкие правки. В частности, редактирование значения переменной в редакторе из диалога редактирования можно вызвать не только по F4, но и по AltF4: F4 может перебивать макрос для DialogTools.
DV
Posts: 455
Joined: Mon 07 Aug, 2006 08:23
Has thanked: 31 times
Been thanked: 15 times

Менеджер переменных окружения

Post by DV »

Макрос последней версии, внёс одну переменную в Black List, а убрать оттуда не могу :(
Если внести в Black List хотя бы две переменные, то сочетанием CtrlB Del Enter можно убрать одну из них, а оставшуюся (последнюю) не удаётся убрать никак.
DV
Posts: 455
Joined: Mon 07 Aug, 2006 08:23
Has thanked: 31 times
Been thanked: 15 times

Менеджер переменных окружения

Post by DV »

И предложение на рассмотрение: добавить возможность временно "отключать" выбранные переменные (аналог "set var=" с помощью меню).
IgorZ
Posts: 790
Joined: Wed 13 Jul, 2011 03:32
Has thanked: 15 times
Been thanked: 93 times

Менеджер переменных окружения

Post by IgorZ »

Версия 1.3.3 - Исправлена ошибка с удалением всех переменных из чёрного списка, внесённая в версии 1.3.2. Оптимизация...
DV wrote: Fri 04 Aug, 2017 15:14 И предложение на рассмотрение: добавить возможность временно "отключать" выбранные переменные (аналог "set var=" с помощью меню).
Не уверен. Может, используете имеющийся механизм сохранения/чтения переменных в/из файл?
DV
Posts: 455
Joined: Mon 07 Aug, 2006 08:23
Has thanked: 31 times
Been thanked: 15 times

Менеджер переменных окружения

Post by DV »

Спасибо за обновление!
Сохранение/чтение в файл для "отключения" переменных долговато использовать. Я скорее представлял себе что-то наподобие "чёрного списка": к примеру, по Alt+D перемещаем переменную в список "отключенных", а по Ctrl+D убираем из этого списка. При этом "отключение" обычной переменной окружения предполагало бы запоминание её имени и текущего значения (например, туда же, куда сохраняются имена из "чёрного списка") и затем установку пустого значения для этой переменной. А "восстановление" - установку сохранённого значения. Переменные же из реестра можно было бы временно "скрыть" путём установки пустого значения переменной окружения с тем же именем - а восстановить, наверное, вновь прочитав её значение из реестра.
IgorZ
Posts: 790
Joined: Wed 13 Jul, 2011 03:32
Has thanked: 15 times
Been thanked: 93 times

Менеджер переменных окружения

Post by IgorZ »

DV wrote: Tue 08 Aug, 2017 20:16 Спасибо за обновление!
Сохранение/чтение в файл для "отключения" переменных долговато использовать. Я скорее представлял себе что-то наподобие "чёрного списка": к примеру, по Alt+D перемещаем переменную в список "отключенных", а по Ctrl+D убираем из этого списка. При этом "отключение" обычной переменной окружения предполагало бы запоминание её имени и текущего значения (например, туда же, куда сохраняются имена из "чёрного списка") и затем установку пустого значения для этой переменной. А "восстановление" - установку сохранённого значения. Переменные же из реестра можно было бы временно "скрыть" путём установки пустого значения переменной окружения с тем же именем - а восстановить, наверное, вновь прочитав её значение из реестра.
Вообще-то, для отключения переменную надо полностью (в том числе, из реестра) удалять, а не менять её значение, иначе результат будет непредсказуем, но однозначно отличен от ожидаемого. То есть, отключение должно быть равнозначно сохранению переменной в файл с последующим удалением, а включение - чтению переменной из файла.
В ближайшее время я иду в отпуск, так что сейчас зачищаю перед ним хвосты, а потом, скорее всего, будет не до того. Так что ждать чего-то в ближайший месяц не советую. Потом - кто знает...
IgorZ
Posts: 790
Joined: Wed 13 Jul, 2011 03:32
Has thanked: 15 times
Been thanked: 93 times

Менеджер переменных окружения

Post by IgorZ »

Версия 1.4.0 - Добавлена возможность временно отключать переменные. Добавлена возможность загружать переменные из файла с командной строки. Переделана справка. Рефакторинг.
DV wrote: Fri 04 Aug, 2017 15:14 И предложение на рассмотрение: добавить возможность временно "отключать" выбранные переменные (аналог "set var=" с помощью меню).
Проверяйте.

P. S. Уже выложив, задумался. Сейчас при загрузке переменных из файла с префикса выводится диалоговое окно выбора, какие переменные загружать. Может, имеет смысл при работе с командной строки не выводить диалог, а безусловно грузить все содержащиеся в нём переменные?
User avatar
John Doe
Бюрократ
Posts: 13801
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 72 times
Been thanked: 425 times
Contact:

Менеджер переменных окружения

Post by John Doe »

Как будет лучше по умолчанию судить не берусь, но полагаю, что не помешает ключ, управляющий этим поведением.
IgorZ
Posts: 790
Joined: Wed 13 Jul, 2011 03:32
Has thanked: 15 times
Been thanked: 93 times

Менеджер переменных окружения

Post by IgorZ »

Версия 1.4.1 - Добавлена возможность загружать переменные из файла с командной строки без диалога выбора переменных. Просто сделал ещё один префикс. Добавлена возможность удалять переменные при загрузке из файла, заодно и совместимость улучшилась. Если раньше конструкция set name= устанавливала значение переменной name в пустую строку, то теперь, как и стандартная команда ОС, удаляет такую переменную. Мелкие правки.
Post Reply

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