Как использовать в макросе Поиск Файлов (Alt-F7)?

Здесь обсуждается всё, что касается макросов.
User avatar
jbak
Posts: 609
Joined: Tue 04 Oct, 2005 15:01
Location: Одесса

Как использовать в макросе Поиск Файлов (Alt-F7)?

Post by jbak »

Кто подскажет, как сделать такой макрос:
1. Вбить в поиске по AltF7 поисковое условие (с этим проблем нет)
2. Запустить поиск. Дождаться окончания выполнения
3. Сбросить найденное на временную панель.

Все трудности - в слове "дождаться"
User avatar
zg
zero-gravity
Posts: 6016
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 185 times
Contact:

Post by zg »

s&r.
User avatar
DrKnS
Posts: 6114
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 12 times
Been thanked: 426 times

Post by DrKnS »

Для русского интерфейса:
macro:post AltF7 tab $text "qwerty" Enter $while(Dlg.GetValue(10,0)!="[ Отм&ена ]") Shift $end AltK
User avatar
jbak
Posts: 609
Joined: Tue 04 Oct, 2005 15:01
Location: Одесса

Post by jbak »

DrKnS
Спасибо, то, что и требуется. Просто про $while напрочь забыл
User avatar
Ann
Posts: 478
Joined: Tue 26 Jun, 2007 11:05
Has thanked: 141 times
Been thanked: 45 times

Re:

Post by Ann »

DrKnS wrote:Для русского интерфейса:
macro:post AltF7 tab $text "qwerty" Enter $while(Dlg.GetValue(10,0)!="[ Отм&ена ]") Shift $end AltK
Хочу сделать макрос на основе рекомендованного Вами. Однако ни как не могу взять в толк как правильно употребить функцию Dlg.GetValue - ФАР подвисает и всё тут. Хотя воспроизвёл, кажется, точно по писаному:

Если можно, подскажите, пожалуйста, в чём моя ошибка? :oops:
User avatar
DrKnS
Posts: 6114
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 12 times
Been thanked: 426 times

Re: Re:

Post by DrKnS »

Ann wrote:воспроизвёл, кажется, точно по писаному:
Ну писано оно было чёрт знает когда, так что слепо копировать не стоит.
в чём моя ошибка?
$while ( Dlg.GetValue(10,0) !=\"[ Отм&ена ]\" )
Тут надо 11, а не 10.
"DisableOutput"=dword:00000001
Здесь 0, а не 1.
User avatar
Ann
Posts: 478
Joined: Tue 26 Jun, 2007 11:05
Has thanked: 141 times
Been thanked: 45 times

Re: Re:

Post by Ann »

DrKnS Большое спасибо! :Yahoo!:
DrKnS wrote:слепо копировать не стоит
Сначала я, право, пытался... :oops:
DrKnS wrote:
$while ( Dlg.GetValue(10,0) !=\"[ Отм&ена ]\" )
Тут надо 11, а не 10.
Вот я дурак, мог бы и догадаться, ведь эта кнопка размером в 11 знаков, а не 10... :fool:
DrKnS wrote:
"DisableOutput"=dword:00000001
Здесь 0, а не 1.
А вот тут я до сих пор не въезжаю. Мне чудится что 1 это "да, запретить вывод результатов команд на экран, то есть в консоль", а 0 это "нет, не DisableOutput, то есть наоборот выводить их в консоль". И поэтому зачем в данном случает это делать мне не понятно. :unknown: Если можно, разъясните, пожалуйста! :oops:
User avatar
DrKnS
Posts: 6114
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 12 times
Been thanked: 426 times

Re: Макрос на поиск файлов

Post by DrKnS »

Вот я дурак, мог бы и догадаться, ведь эта кнопка размером в 11 знаков, а не 10...
Причем тут "размер кнопки"?
Почитайте описание, что ли: 11 - это порядковый номер элемента.
Мне чудится что 1 это "да, запретить вывод результатов команд на экран, то есть в консоль", а 0 это "нет, не DisableOutput, то есть наоборот выводить их в консоль". И поэтому зачем в данном случает это делать мне не понятно.
Если "да, запретить" - диалог выводиться не будет, процесс поиска показан не будет, следовательно, у пользователя (т. е. у вас) будет полное впечатление, что фар висит.
Если же "наоборот выводить их в консоль" - список найденного растет, имена в статусной строке меняются, проценты бегут, работа кипит.
User avatar
Ann
Posts: 478
Joined: Tue 26 Jun, 2007 11:05
Has thanked: 141 times
Been thanked: 45 times

Re: Макрос на поиск файлов

Post by Ann »

DrKnS
Огромное спасибо, что учите туповатого пользователя!
Разъяснением о пользе вывода в консоль вполне удовлетворён, ведь если поиск долгий, то да, так намного лучше!
И ведь об этом позже, из опыта, вероятно можно было бы и догадаться...
А вот то, что кнопка [ Отм&ена ] в диалоге как его элемент имеет порядковый номер 11 и, если я правильно понял, именуется "Окно списка", мне бы вез Вашего разъяснения, пожалуй, ввек не догадаться...
Примите, пожалуйста, благодарность пользователя, желающего глубже постигать ФАР!
Image
AlexII
Posts: 270
Joined: Mon 10 Apr, 2006 00:53
Location: станица Григорополисская
Has thanked: 147 times
Contact:

Re: Макрос на поиск файлов

Post by AlexII »

OFF: Ann, я пользую вот такой для определения номера элемента диалога для функции «Dlg.GetValue()».
User avatar
Ann
Posts: 478
Joined: Tue 26 Jun, 2007 11:05
Has thanked: 141 times
Been thanked: 45 times

Re: Макрос на поиск файлов

Post by Ann »

AlexII
Вот спасибо за ценный подарок! :Yahoo!: Для себя оформил его так:
Работает на ура!
Правда мне в его содержании очень сложно разобраться. Не могли бы Вы насколько можно подробнее его прокомментировать?
Image
AlexII
Posts: 270
Joined: Mon 10 Apr, 2006 00:53
Location: станица Григорополисская
Has thanked: 147 times
Contact:

Re: Макрос на поиск файлов

Post by AlexII »

Ann wrote:Правда мне в его содержании очень сложно разобраться. Не могли бы Вы насколько можно подробнее его прокомментировать?
Моя вина, приношу свои извинения, что .

Отдельное спасибо DrKnS, — до его поста я даже не знал, что в документации прикручены якоря на страницах.
User avatar
Ann
Posts: 478
Joined: Tue 26 Jun, 2007 11:05
Has thanked: 141 times
Been thanked: 45 times

Re: Макрос на поиск файлов

Post by Ann »

AlexII
Image Ну теперь ваще красотища!
AlexII wrote:приношу свои извинения
Извиняться Вам не за что, Вы не обязаны тратить своё время на помощь другим. Но если бы каждый форумчанин так "извинялся", то ФАР, по-моему, был бы ещё более привлекательным!
Image

Благодраю и Вас, AlexII, и DrKnS`а за бесценную помощь, и jbak`а, поставившего актуальный вопрос!!!ImageImage
wakh
Posts: 128
Joined: Wed 27 Apr, 2005 09:16
Location: Перогиреево
Has thanked: 6 times
Contact:

Помогите cделать макрос

Post by wakh »

Хочется, чтобы фар по клавише запускал вьювер (пикчавью) всех файлов в поддиректориях.
Примерно так
[HKEY_CURRENT_USER\Software\Far\KeyMacros\Shell\AltF3]
"Sequence"="AltF7 Multiply . j p g Enter Tab Tab Enter CtrlF7 Down F3"
"DisableOutput"=dword:00000001
Нужно чтобы после первого Enter FAR дожидался окончания поиска
Занимаюсь роликами и SEO, обращайтесь :)
Maximus5
Posts: 3295
Joined: Sun 11 Nov, 2007 02:03
Been thanked: 10 times
Contact:

Re: Помогите cделать макрос

Post by Maximus5 »

не проверял, но можно вставить что-то вроде
$While (Dialog && (substr(Title,0,10)=="Find file:")) $End
Post Reply

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