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

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

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

Post by jbak » Mon 06 Nov, 2006 10:09

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

Все трудности - в слове "дождаться"

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

Post by zg » Mon 06 Nov, 2006 11:10

s&r.

User avatar
DrKnS
Posts: 4619
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 4 times
Been thanked: 122 times
Contact:

Post by DrKnS » Mon 06 Nov, 2006 11:27

Для русского интерфейса:
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 » Mon 06 Nov, 2006 11:36

DrKnS
Спасибо, то, что и требуется. Просто про $while напрочь забыл

Ann
Posts: 182
Joined: Tue 26 Jun, 2007 11:05

Re:

Post by Ann » Sun 20 Sep, 2009 12:06

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

Если можно, подскажите, пожалуйста, в чём моя ошибка? :oops:

User avatar
DrKnS
Posts: 4619
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 4 times
Been thanked: 122 times
Contact:

Re: Re:

Post by DrKnS » Sun 20 Sep, 2009 12:36

Ann wrote:воспроизвёл, кажется, точно по писаному:
Ну писано оно было чёрт знает когда, так что слепо копировать не стоит.
в чём моя ошибка?
$while ( Dlg.GetValue(10,0) !=\"[ Отм&ена ]\" )
Тут надо 11, а не 10.
"DisableOutput"=dword:00000001
Здесь 0, а не 1.

Ann
Posts: 182
Joined: Tue 26 Jun, 2007 11:05

Re: Re:

Post by Ann » Sun 20 Sep, 2009 13:25

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: 4619
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 4 times
Been thanked: 122 times
Contact:

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

Post by DrKnS » Sun 20 Sep, 2009 13:42

Вот я дурак, мог бы и догадаться, ведь эта кнопка размером в 11 знаков, а не 10...
Причем тут "размер кнопки"?
Почитайте описание, что ли: 11 - это порядковый номер элемента.
Мне чудится что 1 это "да, запретить вывод результатов команд на экран, то есть в консоль", а 0 это "нет, не DisableOutput, то есть наоборот выводить их в консоль". И поэтому зачем в данном случает это делать мне не понятно.
Если "да, запретить" - диалог выводиться не будет, процесс поиска показан не будет, следовательно, у пользователя (т. е. у вас) будет полное впечатление, что фар висит.
Если же "наоборот выводить их в консоль" - список найденного растет, имена в статусной строке меняются, проценты бегут, работа кипит.

Ann
Posts: 182
Joined: Tue 26 Jun, 2007 11:05

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

Post by Ann » Sun 20 Sep, 2009 14:22

DrKnS
Огромное спасибо, что учите туповатого пользователя!
Разъяснением о пользе вывода в консоль вполне удовлетворён, ведь если поиск долгий, то да, так намного лучше!
И ведь об этом позже, из опыта, вероятно можно было бы и догадаться...
А вот то, что кнопка [ Отм&ена ] в диалоге как его элемент имеет порядковый номер 11 и, если я правильно понял, именуется "Окно списка", мне бы вез Вашего разъяснения, пожалуй, ввек не догадаться...
Примите, пожалуйста, благодарность пользователя, желающего глубже постигать ФАР!
Image

AlexII
Posts: 260
Joined: Mon 10 Apr, 2006 00:53
Location: станица Григорополисская
Has thanked: 59 times
Contact:

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

Post by AlexII » Sun 20 Sep, 2009 17:51

OFF: Ann, я пользую вот такой для определения номера элемента диалога для функции «Dlg.GetValue()».

Ann
Posts: 182
Joined: Tue 26 Jun, 2007 11:05

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

Post by Ann » Sun 20 Sep, 2009 18:33

AlexII
Вот спасибо за ценный подарок! :Yahoo!: Для себя оформил его так:
Работает на ура!
Правда мне в его содержании очень сложно разобраться. Не могли бы Вы насколько можно подробнее его прокомментировать?
Image

AlexII
Posts: 260
Joined: Mon 10 Apr, 2006 00:53
Location: станица Григорополисская
Has thanked: 59 times
Contact:

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

Post by AlexII » Sun 20 Sep, 2009 19:40

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

Отдельное спасибо DrKnS, — до его поста я даже не знал, что в документации прикручены якоря на страницах.

Ann
Posts: 182
Joined: Tue 26 Jun, 2007 11:05

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

Post by Ann » Sun 20 Sep, 2009 20:14

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

Благодраю и Вас, AlexII, и DrKnS`а за бесценную помощь, и jbak`а, поставившего актуальный вопрос!!!ImageImage

wakh
Posts: 109
Joined: Wed 27 Apr, 2005 09:16
Location: Перогиреево
Has thanked: 4 times
Contact:

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

Post by wakh » Mon 03 Jan, 2011 18:17

Хочется, чтобы фар по клавише запускал вьювер (пикчавью) всех файлов в поддиректориях.
Примерно так
[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: 3292
Joined: Sun 11 Nov, 2007 02:03
Been thanked: 4 times
Contact:

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

Post by Maximus5 » Mon 03 Jan, 2011 18:24

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

wakh
Posts: 109
Joined: Wed 27 Apr, 2005 09:16
Location: Перогиреево
Has thanked: 4 times
Contact:

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

Post by wakh » Mon 03 Jan, 2011 22:56

не пашет :(
Занимаюсь роликами и SEO, обращайтесь :)

Post Reply

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