User menu F2

Столкнулись с проблемой в использовании Far? Здесь можно получить помощь.
indakote
Posts: 48
Joined: Mon 13 Oct, 2014 09:29

Вызов плагина из меню F2

Post by indakote »

Latest post of the previous page:

Возможно ли такое чудо? Я так понимаю, нужно обращаться по GUID'у?
User avatar
Wave
Posts: 1887
Joined: Thu 04 Aug, 2005 18:47
Has thanked: 14 times
Been thanked: 26 times

Re: Вызов плагина из меню F2

Post by Wave »

Самый простой вариант:
lua: Keys("F11"); Menu.Select("File Unlock", 3); Keys("Enter");
Пользуюсь ФАРом больше 20 лет © собирательный.
indakote
Posts: 48
Joined: Mon 13 Oct, 2014 09:29

Re: Вызов плагина из меню F2

Post by indakote »

Wave wrote:Самый простой вариант:
lua: Keys("F11"); Menu.Select("File Unlock", 3); Keys("Enter");
Благодарю! А в Menu.Select второй параметр за что отвечает?
User avatar
Wave
Posts: 1887
Joined: Thu 04 Aug, 2005 18:47
Has thanked: 14 times
Been thanked: 26 times

Re: User menu F2

Post by Wave »

См. энциклопедию. Искать строку с начала, целиком, подстроку… Как-то так. Я обычно ставлю тройку — подстроку.
Пользуюсь ФАРом больше 20 лет © собирательный.
indakote
Posts: 48
Joined: Mon 13 Oct, 2014 09:29

Re: User menu F2

Post by indakote »

Благодарю! :)
indakote
Posts: 48
Joined: Mon 13 Oct, 2014 09:29

Re: Вызов плагина из меню F2

Post by indakote »

indakote wrote:
Wave wrote:Самый простой вариант:
lua: Keys("F11"); Menu.Select("File Unlock", 3); Keys("Enter");
Благодарю! А в Menu.Select второй параметр за что отвечает?
Кстати, вот именно File Unlock заинтересовал -- это вы плаг юзаете или внешнее АПИ к какому-то анлокеру?
User avatar
Wave
Posts: 1887
Joined: Thu 04 Aug, 2005 18:47
Has thanked: 14 times
Been thanked: 26 times

Re: User menu F2

Post by Wave »

Юзаю анлокер http://unlocker.emptyloop.com/
lua: Keys("CtrlG"); S = '"' .. mf.env("ProgramFiles") .. [[\Unlocker\Unlocker.exe"]] .. [[ "!!\!!.!!" /S]] print(S); Keys("Enter");
или
lua: Keys("CtrlG"); S = '"' .. mf.env("ProgramFiles") .. [[\Unlocker\Unlocker.exe"]] .. [[ "!!\!!.!!" /S /D]] print(S); Keys("Enter");
Первый вариант молча разблокирует выделенные файлы, второй вариант так же молча их удаляет.

но есть и плагин такой. Утилита мощней и работает быстрей. Плагин можно и выбросить. Просто я для примера открыл своё меню F2 и ближайший же вызов плагина скопировал. На самом деле вызов плагина у меня выглядит так:
lua: Plugin.Load(mf.env("FARHOME" .. "\\Plugins.off\\System\\FileUnlock\\FileUnlock.dll")); Keys("F11"); Menu.Select("File Unlock", 3); Keys("Enter");
Пользуюсь ФАРом больше 20 лет © собирательный.
textExpanser
Posts: 74
Joined: Wed 11 Apr, 2007 18:23

User Menu: Подставить имя файла в диалог ввода как значение по умолчанию

Post by textExpanser »

Речь о диалогах !?<title>?<init>! в User меню.

Задача: в пользовательском меню нужно открыть диалог, чтобы переспросить имя файла, вставив имя текущего файла (чтобы юзер его изменил).

Но как его вставить в конструкцию
!?<title>?<init>!
если шаблон имени файла тоже использует восклицательные знаки?
!?<title>?!\!.!! - не работает
!?<title>?"!\!.!"! - не работает
!?<title>?"!!\!!.!!"! - не работает
Первый же знак ! после ? закрывает конструкцию !?<title>?<init>! (кстати, а как быть, если нужно ввести "!" или "?" )

Есть какой-нибудь хак? (Только чтобы в диалоге было именно имя файла, а не переменная - ведь его нужно отредактировать). Неужели это настолько не продумали?

PS: Очень жаль, что переменные среды типа %myvar%, %time%, %date% не раскрываются в поле ввода диалога (хотя в поле <title> раскрываются).
Last edited by textExpanser on Sun 26 Jul, 2015 17:04, edited 1 time in total.
User avatar
John Doe
Бюрократ
Posts: 13855
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 428 times
Contact:

User Menu: Подставить имя файла в поле значения по умолчанию "!??!"

Post by John Doe »

textExpanser wrote: если имя файла тоже использует восклицательные знаки?
Есть в справке.
textExpanser
Posts: 74
Joined: Wed 11 Apr, 2007 18:23

User Menu: Подставить имя файла в диалог ввода как значение по умолчанию

Post by textExpanser »

Сорри, спасибо :)

А как насчет раскрывания переменных среды?

Code: Select all

set mytitle=title
set myvar=something
set timestamp=%date% %time%
echo !?%mytitle%?%myvar% %timestamp% %date%!
%mytitle% раскроется, а остальное так и предстанет в поле ввода в сыром виде (хотя в командной строке таки раскроется).


И еще вопросик раз уж...: можно ли поле ввода/диалог сделать шире (во всю ширину экрана, например), если значение по-умолчанию не помещается?
User avatar
John Doe
Бюрократ
Posts: 13855
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 428 times
Contact:

User Menu: Подставить имя файла в диалог ввода как значение по умолчанию

Post by John Doe »

textExpanser wrote: а остальное так и предстанет в поле ввода в сыром виде (хотя в командной строке таки раскроется).
Откуда фару знать, может я хочу подставить именно переменные. Неоднозначный вопрос...
textExpanser
Posts: 74
Joined: Wed 11 Apr, 2007 18:23

User Menu: Подставить имя файла в диалог ввода как значение по умолчанию

Post by textExpanser »

А если их раскрывать каким-нибудь специальным значком? Или лучше наоборот - сохранять нераскрытыми, если они в какой-то специальной форме или перед ними поставлен значок, типа `, к примеру
User avatar
John Doe
Бюрократ
Posts: 13855
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 428 times
Contact:

User Menu: Подставить имя файла в диалог ввода как значение по умолчанию

Post by John Doe »

Напишите на мантис, но я бы не рассчитывал на скорую реализацию (другие пожелания по метасимволам там давно лежат).
Имхо от значков и закорючек надо уходить к чему-то более читабельному.
textExpanser
Posts: 74
Joined: Wed 11 Apr, 2007 18:23

User Menu: Подставить имя файла в диалог ввода как значение по умолчанию

Post by textExpanser »

Например, {filepath} {path} {filename} {name} {ext} {name.short} {%time%} ?
А лучше символы, которые не встречаются в файловых именах: <filepath> <filename> (ведь > и < в командах если и используются редко, то их продублировать не проблема: >> >>>>
alushin
Posts: 1
Joined: Wed 02 Sep, 2015 19:12

User menu F2

Post by alushin »

Запуск console приложения в отдельном окне.
В FAR я могу запустить console приложение (например cmd) в отдельном окне просто нажав shift-enter (вместо Enter). Как это сделать из меню?
User avatar
HaRT
Moderator
Posts: 10865
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

User menu F2

Post by HaRT »

alushin, start "" MyApp.exe param1 param2
Фар есть инструмент, а не нянька. © 2009 DrKnS
Post Reply

Return to “Нужна помощь”