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

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

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

Post by IgorZ »

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

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

Attachments
EnvManager.1.4.1.7z
(13.22 KiB) Downloaded 189 times
Last edited by IgorZ on Thu 21 Sep, 2017 06:33, edited 4 times in total.

IgorZ
Posts: 679
Joined: Wed 13 Jul, 2011 03:32
Has thanked: 13 times
Been thanked: 56 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: 287
Joined: Tue 03 Mar, 2015 19:54
Location: Kiev
Has thanked: 6 times
Been thanked: 14 times

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

Post by Dennis_Moore »

IgorZ wrote:
Tue 20 Jun, 2017 05:49
и проверьте с проблемной базой. Сообщите результат.
Спасибо, теперь все работает. Т.е. проблема была в скрипте, а не в базе ?

IgorZ
Posts: 679
Joined: Wed 13 Jul, 2011 03:32
Has thanked: 13 times
Been thanked: 56 times

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

Post by IgorZ »

Dennis_Moore wrote:
Tue 20 Jun, 2017 13:34
IgorZ wrote:
Tue 20 Jun, 2017 05:49
и проверьте с проблемной базой. Сообщите результат.
Спасибо, теперь все работает. Т.е. проблема была в скрипте, а не в базе ?
Да.

IgorZ
Posts: 679
Joined: Wed 13 Jul, 2011 03:32
Has thanked: 13 times
Been thanked: 56 times

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

Post by IgorZ »

Версия 1.3.2 - Исправлена ошибка с сохранением переменных окружения при непустом белом списке. Мелкие правки. В частности, редактирование значения переменной в редакторе из диалога редактирования можно вызвать не только по F4, но и по AltF4: F4 может перебивать макрос для DialogTools.

DV
Posts: 394
Joined: Mon 07 Aug, 2006 08:23
Has thanked: 15 times
Been thanked: 14 times

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

Post by DV »

Макрос последней версии, внёс одну переменную в Black List, а убрать оттуда не могу :(
Если внести в Black List хотя бы две переменные, то сочетанием CtrlB Del Enter можно убрать одну из них, а оставшуюся (последнюю) не удаётся убрать никак.

DV
Posts: 394
Joined: Mon 07 Aug, 2006 08:23
Has thanked: 15 times
Been thanked: 14 times

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

Post by DV »

И предложение на рассмотрение: добавить возможность временно "отключать" выбранные переменные (аналог "set var=" с помощью меню).

IgorZ
Posts: 679
Joined: Wed 13 Jul, 2011 03:32
Has thanked: 13 times
Been thanked: 56 times

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

Post by IgorZ »

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

DV
Posts: 394
Joined: Mon 07 Aug, 2006 08:23
Has thanked: 15 times
Been thanked: 14 times

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

Post by DV »

Спасибо за обновление!
Сохранение/чтение в файл для "отключения" переменных долговато использовать. Я скорее представлял себе что-то наподобие "чёрного списка": к примеру, по Alt+D перемещаем переменную в список "отключенных", а по Ctrl+D убираем из этого списка. При этом "отключение" обычной переменной окружения предполагало бы запоминание её имени и текущего значения (например, туда же, куда сохраняются имена из "чёрного списка") и затем установку пустого значения для этой переменной. А "восстановление" - установку сохранённого значения. Переменные же из реестра можно было бы временно "скрыть" путём установки пустого значения переменной окружения с тем же именем - а восстановить, наверное, вновь прочитав её значение из реестра.

IgorZ
Posts: 679
Joined: Wed 13 Jul, 2011 03:32
Has thanked: 13 times
Been thanked: 56 times

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

Post by IgorZ »

DV wrote:
Tue 08 Aug, 2017 20:16
Спасибо за обновление!
Сохранение/чтение в файл для "отключения" переменных долговато использовать. Я скорее представлял себе что-то наподобие "чёрного списка": к примеру, по Alt+D перемещаем переменную в список "отключенных", а по Ctrl+D убираем из этого списка. При этом "отключение" обычной переменной окружения предполагало бы запоминание её имени и текущего значения (например, туда же, куда сохраняются имена из "чёрного списка") и затем установку пустого значения для этой переменной. А "восстановление" - установку сохранённого значения. Переменные же из реестра можно было бы временно "скрыть" путём установки пустого значения переменной окружения с тем же именем - а восстановить, наверное, вновь прочитав её значение из реестра.
Вообще-то, для отключения переменную надо полностью (в том числе, из реестра) удалять, а не менять её значение, иначе результат будет непредсказуем, но однозначно отличен от ожидаемого. То есть, отключение должно быть равнозначно сохранению переменной в файл с последующим удалением, а включение - чтению переменной из файла.
В ближайшее время я иду в отпуск, так что сейчас зачищаю перед ним хвосты, а потом, скорее всего, будет не до того. Так что ждать чего-то в ближайший месяц не советую. Потом - кто знает...

IgorZ
Posts: 679
Joined: Wed 13 Jul, 2011 03:32
Has thanked: 13 times
Been thanked: 56 times

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

Post by IgorZ »

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

P. S. Уже выложив, задумался. Сейчас при загрузке переменных из файла с префикса выводится диалоговое окно выбора, какие переменные загружать. Может, имеет смысл при работе с командной строки не выводить диалог, а безусловно грузить все содержащиеся в нём переменные?

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

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

Post by John Doe »

Как будет лучше по умолчанию судить не берусь, но полагаю, что не помешает ключ, управляющий этим поведением.

IgorZ
Posts: 679
Joined: Wed 13 Jul, 2011 03:32
Has thanked: 13 times
Been thanked: 56 times

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

Post by IgorZ »

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

Post Reply

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