Макросы для выделения файлов пробелом (не перемещая курсор)

Здесь обсуждается всё, что касается макросов.
Post Reply
kiR@ch
Posts: 5
Joined: Wed 15 Sep, 2010 19:38

Макросы для выделения файлов пробелом (не перемещая курсор)

Post by kiR@ch » Tue 21 Sep, 2010 15:32

Всем привет.
Не знал куда лучше написать, сюда или в макросы, но наверное лучше сюда, потому что может быть область вопроса не только макросы.
Ну в общем вот в чем мой вопрос: захотел сделать так, чтобы по нажатию пробела выделялся файл(или папка, в общем на чем курсор стоит), как это в тотале например сделано. Нашел в стандартных макросах Panel.SpaceToSelect, применил его. Вроде все ок. Посмотрел внутрь - просто "подделывает" нажатие пробела нажатием insert'a. Но мне не понравился один момент - что после нажатия пробела(как и после нажатия инсерта) файл выделяется, а курсор переходит к след файлу. И не привык я к такому, да и выделение идет не сверху вниз, а снизу вверх, то неудобно нажимать лишний раз up. В общем захотелось, чтобы как в том же тотале сделано, по нажатию пробела файл выделялся, а курсор оставался на месте(на этом самом выделенном месте). Первое, что пришло на ум, в макросе пробела добавил в последовательность после нажатия "инсерта" еще и нажатие "вверх". Эффекта добился, кроме одного: теперь, когда пытаешься выделить пробелом последний файл, курсор перемещается вверх на одну позицию(ну логично, после инсерта он остается на месте, так как конец списка файлов, и плюс еще один "вверх"). В общем то мелочь, но меня немного раздражает. Нет ли способа обойти это? Что нибудь типа if'a на проверку последний ли файл в списке. Или другой какой-то способ. Я пока не особо в фаре разбираюсь, поэтому решил спросить.

User avatar
HaRT
Moderator
Posts: 8660
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 78 times
Been thanked: 143 times

Выделение файла по пробелу

Post by HaRT » Tue 21 Sep, 2010 15:39

Вот мой макрос для этих целей (Фар1):

Code: Select all

$If( APanel.Visible && ! APanel.Empty && CmdLine.Bof ) $If( APanel.Eof ) Ins $Else Ins Up $End $Else $AKey $End
Примечание модератора:
http://forum.farmanager.com/viewtopic.p ... 16#p130316
Фар есть инструмент, а не нянька. © 2009 DrKnS

User avatar
Kerberos464
Posts: 1239
Joined: Wed 29 Jul, 2009 20:24
Location: Saint-Petersburg
Has thanked: 19 times
Been thanked: 1 time

Re: Выделение файла по пробелу

Post by Kerberos464 » Tue 21 Sep, 2010 15:47

а вот без проверок, зато попроще:

Code: Select all

$If (APanel.ItemCount==APanel.CurPos) Ins $Else Ins Up $End
сделан "на коленке", но с виду работает.
16.09.2012 14:35:28 +0200 - build 2799 - все нативные плагины перестали работать.
30.09.2012 03:26:20 +0200 - build 2851 - все макросы перестали работать.
31.02.2029 25:61:61 +0200 - build 6666 - весь фар перестал работать.

kiR@ch
Posts: 5
Joined: Wed 15 Sep, 2010 19:38

Re: Выделение файла по пробелу

Post by kiR@ch » Tue 21 Sep, 2010 16:05

2 HaRT: спасибо, отлично работает! Правда не особо понял "магию", но спасибо!:)

Post Reply

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