Макрос возвращающий поиску прежнее поведение

Здесь обсуждается всё, что касается макросов.
User avatar
John Doe
Бюрократ
Posts: 13807
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 426 times
Contact:

Макрос возвращающий поиску прежнее поведение

Post by John Doe »

Макрос добавляет в диалог поиска файлов (AltF7) немного "искусственного интеллекта".
Функции:
1. автоматическое добавление "*" к маске
2. автоматическое закрытие регэкспа с установкой регистронезависимого поиска (/.../i)
Подробнее:

[attachment=0][FindFile]Enter.reg.zip[/attachment]

Макрос назначается на Enter в области Dialog.
Срабатывает только на Enter - т.е. CtrlEnter, хоткеи, и мышиные клики позволяют обойти его и произвести поиск без "искусственного интеллекта"
Предполагается английский язык интерфейса.
В макросе используются константы, которые можно импортировать в реестр из файла MacroConsts.reg (прилагается).
(Отличается от имеющегося тут только тем, что добавлена ветка для Far 2).

зачёркнутое неактуально для новой версии (см. ниже)


Update
  • В [FindFile]Enter.reg.zip (выше) содержится старая версия макроса.
    Предлагаю обновлённый вариант

    Помимо прочих изменений:
    *не зависит от языка
    *MacroConsts.reg теперь в дистрибутиве фара: Addons\Macros\MacroConsts.reg

    Для Far 1.75:

    Для свежих билдов Far 2:
    (Помимо MacroConsts.reg ещё требуется константа "GUID_DLG_FindFile" ="{8C9EAD29-910F-4B24-A669-EDAFBA6ED964}")

    "Прозрачная" версия (назначается не на Enter в области Dialog, а на AltF7 в Shell):

Update 2
  • Версия для Far 3 тут.
Attachments
[FindFile]Enter.reg.zip
(4.98 KiB) Downloaded 381 times
wolf
Posts: 1030
Joined: Fri 08 Apr, 2005 12:54
Location: Moscow

Re: Макрос возвращающий поиску прежнее поведение

Post by wolf »

Спасибо за макрос, только я его себе перевесил на CtrlEnter - от "строгого" поиска тоже есть польза.

ну и дескрипшена не хватает..
ошибка — считать, что фар для пользователей. (с) zg
User avatar
Andrey Budko
Posts: 1203
Joined: Fri 01 Apr, 2005 14:03
Contact:

Re: Макрос возвращающий поиску прежнее поведение

Post by Andrey Budko »

Можно сделать универсальнее:
1) проверить еще и на русский капшон;
2) заменить AltM на AltW AltW Home (это в случае если нету в макроязыке SetValue);
User avatar
John Doe
Бюрократ
Posts: 13807
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 426 times
Contact:

Re: Макрос возвращающий поиску прежнее поведение

Post by John Doe »

wolf wrote:Спасибо за макрос, только я его себе перевесил на CtrlEnter - от "строгого" поиска тоже есть польза.
Даже с моим макросом "строгий" поиск можно вызвать по AltF либо нажав на кнопку [ Find ] мышью.
А то ведь CtrlEnter - это уже две клавиши... Как по мне - весь смысл теряется. И не лучше уж тогда привыкнуть к новому поиску и вручную добавлять * в конец строки, чем учиться в разных случаях нажимать то Enter, то CtrlEnter?
Andrey Budko wrote:Можно сделать универсальнее:
Про SetValue не понял.

P.S. Улучшения можете сразу постить. Я добавлю в исходное сообщение.
Last edited by John Doe on Mon 07 Jul, 2008 13:31, edited 2 times in total.
https://t.me/FarManager — Telegram чат
User avatar
John Doe
Бюрократ
Posts: 13807
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 426 times
Contact:

Re: Макрос возвращающий поиску прежнее поведение

Post by John Doe »

Оплошал я: макрос составил давно, и не протестировал в билде 2406. А как известно из whatsnew:
- Macro: breaking change. Dlg.ItemType отдает все то же самое, что возвращает Dlg.GetValue(XXX,1), ...
Исправил макрос в исходном посте.
Last edited by John Doe on Wed 09 Jul, 2008 11:36, edited 1 time in total.
https://t.me/FarManager — Telegram чат
wolf
Posts: 1030
Joined: Fri 08 Apr, 2005 12:54
Location: Moscow

Re: Макрос возвращающий поиску прежнее поведение

Post by wolf »

John Doe wrote:Нет смысла пробовать макрос в фаре версии ниже 1.71 alpha 4 build 2409
ссылочкой на какой-то билд 2409+ поделись - а то в новостях только 2406
ошибка — считать, что фар для пользователей. (с) zg
User avatar
John Doe
Бюрократ
Posts: 13807
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 426 times
Contact:

Re: Макрос возвращающий поиску прежнее поведение

Post by John Doe »

Цитата была из whatsnew к билду 2406. Прошу прощения за неточность.
https://t.me/FarManager — Telegram чат
User avatar
John Doe
Бюрократ
Posts: 13807
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 426 times
Contact:

Re: Макрос возвращающий поиску прежнее поведение

Post by John Doe »

В фаре обнаружился баг (или фича), затрудняющая использование данного макроса.
Причём проблема возникает вовсе не в поиске.
Создал тикет на Mantis:
0000579: Неполадки при операциях фара (таких как копирование), запущенных из макроса
User avatar
zg
zero-gravity
Posts: 6016
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 185 times
Contact:

Re: Макрос возвращающий поиску прежнее поведение

Post by zg »

John Doe wrote:В фаре обнаружился баг (или фича), затрудняющая использование данного макроса.
Причём проблема возникает вовсе не в поиске.
$MMode 1 в конце или перед последней коммандой не помогает?
User avatar
John Doe
Бюрократ
Posts: 13807
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 426 times
Contact:

Re: Макрос возвращающий поиску прежнее поведение

Post by John Doe »

Не помогает. Но вносит странности.
Детали тут
https://t.me/FarManager — Telegram чат
User avatar
John Doe
Бюрократ
Posts: 13807
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 426 times
Contact:

Re: Макрос возвращающий поиску прежнее поведение

Post by John Doe »

Обновил макрос - теперь учитываются регэкспы.
Добавилось новое правило "искуственного интеллекта": в случае регэкспа нет необходимости указывать закрывающий слэш - макрос сам добавляет его в конец строки вместе с параметром - "i"
(По-умолчанию в регэкспах регистр букв имеет значение, а i включает регистронезависимый поиск.)
https://t.me/FarManager — Telegram чат
Maximus5
Posts: 3295
Joined: Sun 11 Nov, 2007 02:03
Been thanked: 10 times
Contact:

Re: Макрос возвращающий поиску прежнее поведение

Post by Maximus5 »

в рег-файле в sequence наблюдаем
"?"
а надо похоже
\"?\"

PS. все равно не взлетает :( макрос импортирован, в macro browser sequence заполнен... фары 1.75 и 2.0 последние, интерфейс английский. где-то в sequence ошибка?
User avatar
John Doe
Бюрократ
Posts: 13807
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 426 times
Contact:

Re: Макрос возвращающий поиску прежнее поведение

Post by John Doe »

Был не прав.
Исправился
https://t.me/FarManager — Telegram чат
Maximus5
Posts: 3295
Joined: Sun 11 Nov, 2007 02:03
Been thanked: 10 times
Contact:

Re: Макрос возвращающий поиску прежнее поведение

Post by Maximus5 »

Похоже на правду (сам не пробовал т.к. себе уже починил)
Однако,надо бы учесть, что в архиве отсутствует MacroConsts.reg и у пользователей оно скорее всего не взлетит
User avatar
John Doe
Бюрократ
Posts: 13807
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 426 times
Contact:

Re: Макрос возвращающий поиску прежнее поведение

Post by John Doe »

Добавил
https://t.me/FarManager — Telegram чат
Locked

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