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

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

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

Post by John Doe » Mon 07 Jul, 2008 08:14

Макрос добавляет в диалог поиска файлов (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 339 times

wolf
Posts: 1030
Joined: Fri 08 Apr, 2005 12:54
Location: Moscow

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

Post by wolf » Mon 07 Jul, 2008 10:06

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

ну и дескрипшена не хватает..
ошибка — считать, что фар для пользователей. (с) zg

User avatar
Andrey Budko
Posts: 1203
Joined: Fri 01 Apr, 2005 14:03
Contact:

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

Post by Andrey Budko » Mon 07 Jul, 2008 10:23

Можно сделать универсальнее:
1) проверить еще и на русский капшон;
2) заменить AltM на AltW AltW Home (это в случае если нету в макроязыке SetValue);

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

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

Post by John Doe » Mon 07 Jul, 2008 10:44

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.

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

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

Post by John Doe » Mon 07 Jul, 2008 13:00

Оплошал я: макрос составил давно, и не протестировал в билде 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.

wolf
Posts: 1030
Joined: Fri 08 Apr, 2005 12:54
Location: Moscow

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

Post by wolf » Wed 09 Jul, 2008 09:31

John Doe wrote:Нет смысла пробовать макрос в фаре версии ниже 1.71 alpha 4 build 2409
ссылочкой на какой-то билд 2409+ поделись - а то в новостях только 2406
ошибка — считать, что фар для пользователей. (с) zg

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

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

Post by John Doe » Wed 09 Jul, 2008 11:36

Цитата была из whatsnew к билду 2406. Прошу прощения за неточность.

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

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

Post by John Doe » Sat 26 Jul, 2008 11:48

В фаре обнаружился баг (или фича), затрудняющая использование данного макроса.
Причём проблема возникает вовсе не в поиске.
Создал тикет на Mantis:
0000579: Неполадки при операциях фара (таких как копирование), запущенных из макроса

User avatar
zg
zero-gravity
Posts: 5648
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 112 times
Contact:

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

Post by zg » Sat 02 Aug, 2008 10:30

John Doe wrote:В фаре обнаружился баг (или фича), затрудняющая использование данного макроса.
Причём проблема возникает вовсе не в поиске.
$MMode 1 в конце или перед последней коммандой не помогает?

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

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

Post by John Doe » Tue 05 Aug, 2008 11:00

Не помогает. Но вносит странности.
Детали тут

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

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

Post by John Doe » Wed 15 Apr, 2009 18:58

Обновил макрос - теперь учитываются регэкспы.
Добавилось новое правило "искуственного интеллекта": в случае регэкспа нет необходимости указывать закрывающий слэш - макрос сам добавляет его в конец строки вместе с параметром - "i"
(По-умолчанию в регэкспах регистр букв имеет значение, а i включает регистронезависимый поиск.)

Maximus5
Posts: 3292
Joined: Sun 11 Nov, 2007 02:03
Been thanked: 4 times
Contact:

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

Post by Maximus5 » Wed 15 Apr, 2009 20:19

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

PS. все равно не взлетает :( макрос импортирован, в macro browser sequence заполнен... фары 1.75 и 2.0 последние, интерфейс английский. где-то в sequence ошибка?

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

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

Post by John Doe » Thu 16 Apr, 2009 08:46

Был не прав.
Исправился

Maximus5
Posts: 3292
Joined: Sun 11 Nov, 2007 02:03
Been thanked: 4 times
Contact:

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

Post by Maximus5 » Thu 16 Apr, 2009 12:55

Похоже на правду (сам не пробовал т.к. себе уже починил)
Однако,надо бы учесть, что в архиве отсутствует MacroConsts.reg и у пользователей оно скорее всего не взлетит

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

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

Post by John Doe » Thu 16 Apr, 2009 15:46

Добавил

User avatar
DimmY
Posts: 179
Joined: Mon 04 Apr, 2005 14:38
Been thanked: 1 time

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

Post by DimmY » Thu 16 Apr, 2009 22:06

Теперь работает, спасибо.

Locked

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