Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » FAR Manager (часть 5)

Модерирует : gyra, Maz

Maz (15-01-2020 17:38): FAR Manager (часть 6)  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200

   

Maz



Дед Мазай
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

 
Предыдущие топики:  1 2 3 4
 
Где взять последнюю версию?
На странице загрузки скачайте MSI-инсталлятор стабильной сборки нужной вам разрядности (32 или 64 бита) или дистрибутив в виде 7z-архива и установите/распакуйте в любую папку (FAR портабелен и может работать без установки).
Там же на свой страх и риск можно взять наиболее свежую "ночную" сборку (в ночных сборках устраняются выявленные недоработки, добавляются новые функции, но могут содержаться и серьёзные ошибки).
Архив всех предыдущих ночных сборок FAR
Last release на github - собирается практически сразу (в течение получаса) после каждого коммита.
 
Общие сведения о совместимости FAR и плагинов
 
Можно воспользоваться одной из пользовательских сборок FAR Manager
Вопросы, касающиеся сборок, следует задавать непосредственно их авторам, а не на официальном форуме.
 
Где взять дополнительные плагины, скрипты и макросы?
Плагринг. В настоящее время большинство авторов (возможно, уже и все) выкладывают плагины здесь. Кроме плагинов здесь появляется всё относящиеся к FAR: дополнения, консольные шрифты, скрипты и пр.
Анонсы плагинов на официальном форуме. Даже если автор не выкладывает по каким-либо причинам плагин на плагринге, он может дать анонс в этой теме.
Полезные скрипты и макросы.
 
Инструкции по сборке ФАРа из исходников
Набор для самостоятельной сборки ФАРа
Как собрать FAR самостоятельно (старая инструкция)  
 
Ссылки на устаревшие версии
Выдержка из Far Manager Site and Forum ‹ FAQ :
Отличия FAR 3 от FAR 2
Отличия FAR 2 от FAR 1.7
 
Примечания
 
* 13 декабря 2008 г. произошло переименование веток: ANSI-ветка 1.71 превратилась в 1.75, а Unicode-ветка получила номер версии 2.0 (вместо 1.80). Т.е. версии 1.хх это ANSI ("старый" FAR), а версии 2.хх – Unicode ("новый" FAR). Эти ветки сильно различаются по способу взаимодействия с плагинами и системой!
* При обновлении ANSI-ветки 1.хх более старые версии плагинов могут работать в более новом FAR, но более новые плагины в большинстве случаев требуют обновления FAR (см. документацию).
* Unicode-плагины в ANSI-версии FAR не работают – у них иной способ взаимодействия (API) с Far.exe, поэтому даже не пытайтесь их использовать в FAR версии ниже 1.80.
* При обновлении Unicode-версии FAR 1.80/2.0/3.0 обращайте внимание на номер сборки: следует обязательно обновить все плагины для сборок 677/680/684, иначе они не будут работать. ANSI-плагины (кроме тех, которые работают в редакторе) можно применять в Unicode-версии FAR, в меню плагинов (вызываемом по F11) они будут помечены значком [A] справа от их имени. Unicode-плагины в FAR 1.80/2.x/3.х никаким значком после имени не помечаются.
* Unicode-версия FAR 1.80/2.x/3.х требует как минимум Windows 2000, т.е. она работает только в Windows 2000/XP/2003/Vista/2008/7/8/10.
* Плагины от FAR 2 несовместимы с FAR 3 и не запустятся.
* В FAR 3 выборочно могут работать плагины от FAR 1, однако не стоит брать от FAR 1 плагины для редактора или работающие с дисками: первые портят текст в Юникоде, вторые – файловую систему.
* В любом случае разрядность плагинов должна совпадать с разрядностью FAR, иначе плагин не будет загружен.
* Блондинку на скриншоте зовут Tommie Jo.

 
Принципиальные различия между hard link, symlink и junction
Как устранить взаимное влияние запущенных копий FAR в памяти
Как запустить Lua/MoonScript из FAR
Как правильно добавить в программу нужную DLL (или иную зависимость), чтобы при обновлении ОС или иных программ она не перестала работать
Патч для ansi-плагинов для хранения настроек плагинов в папке профиля, а не в реестре
Как распаковать UUE/XXE файлы патчей и использовать их?
 
ВНИМАНИЕ!
 
Правильное (корректное) завершение Far: всегда завершайте сеанс работы с Far по F10! Подробнее на форуме - Различие выхода из Far по F10 и крестиком
 
Общие правила обращения за помощью
  1. Решаете задачу самостоятельно, при необходимости ищете ответы в теме и других источниках. Предварительное изучение документации обязательно!
  2. Если ваших знаний не хватает, то задаёте вопрос в форуме и строго следуете инструкциям тех людей, которые вам помогают.
  3. Если решить задачу, следуя пунктам 1 и 2, не удалось, то задаёте вопрос разработчикам.

Невыполнение этих правил ведёт к тому, что никто не станет помогать решать вашу задачу.

Всего записей: 38741 | Зарегистр. 26-02-2002 | Отправлено: 18:55 23-11-2017 | Исправлено: Victor_VG, 10:00 09-09-2019
Alexyz21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
shmuz
Спасибо. Как я понимаю, если begin/end selection начнёт влиять на SetSelection, то поведение последней без них изменится, соответственно "поедут" скрипты у всех - не лучше ли просто её дополнить новым форматом массива items с boolean для каждого индекса? panel.SetSelection(nil,1,items), где items={{idx1,boolean},...,{idxN,boolean}}.

Всего записей: 3469 | Зарегистр. 16-06-2007 | Отправлено: 09:32 14-08-2019 | Исправлено: Alexyz21, 09:49 14-08-2019
shmuz

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexyz21

Цитата:
 если begin/end selection начнёт влиять на SetSelection, то поведение последней без них изменится

Не изменится, так как в SetSelection внутри уже стоит begin/end selection.

Цитата:
не лучше ли просто её дополнить новым форматом массива items с boolean для каждого индекса?

Скорее всего этого не будет, т.к. легко написать такую ф-цию на Lua.

Всего записей: 1856 | Зарегистр. 09-03-2012 | Отправлено: 09:48 14-08-2019
Alexyz21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Как-то не очень себе представляю как это будет работать, но вам, разумеется, виднее. Имхо items={{idx1,boolean},...,{idxN,boolean}} легко понимаемо, а begin/end как-то витиевато.

Всего записей: 3469 | Зарегистр. 16-06-2007 | Отправлено: 09:58 14-08-2019
shmuz

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Имхо items={{idx1,boolean},...,{idxN,boolean}} легко понимаемо, а begin/end как-то витиевато.

Во-первых, это из Far API, смотрите FCTL_BEGINSELECTION, FCTL_ENDSELECTION в энциклопедии.
Во-вторых, в чём проблема? FCTL_BEGINSELECTION запрещает перерисовку панели, а FCTL_ENDSELECTION снова разрешает. Вы делаете все свои операции выделения между ними, при этом индексы элементов меняться не будут.
 
Добавлено:
Чтобы не было витиевато, напишете ф-цию на Lua.

Всего записей: 1856 | Зарегистр. 09-03-2012 | Отправлено: 10:09 14-08-2019
Alexyz21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
FCTL_BEGINSELECTION запрещает перерисовку панели, а FCTL_ENDSELECTION снова разрешает.

Не знал, что оно работает именно так, потому что из:

Цитата:
Начать/закончить операцию выделения в панели.
Param1 не используется.
Param2 не используется.
это не следует, точнее следует совсем другое, отсюда и непонимание.

Всего записей: 3469 | Зарегистр. 16-06-2007 | Отправлено: 10:14 14-08-2019
shmuz

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
FCTL_BEGINSELECTION запрещает перерисовку панели, а FCTL_ENDSELECTION снова разрешает.

Может быть точнее сказать "запрещает пересортировку панели".

Всего записей: 1856 | Зарегистр. 09-03-2012 | Отправлено: 10:20 14-08-2019
Alexyz21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Нормально... ))) Очевидно, что мой великий и могучий хромает на обе ноги, потому в моём понимании когда начало выделения означает запрет пересортировки и есть офигеть как ВИТИЕВАТО ))) Надо было фартим таки заменить FCTL_BEGINSELECTION на FCTL_DENYRESORT, или нечто более созвучное смыслу операции, а не оставлять прежнее. А-аа! "Поплыли" бы плагины... На время перехода можно было бы использовать синонимы, наверное.

Всего записей: 3469 | Зарегистр. 16-06-2007 | Отправлено: 10:34 14-08-2019 | Исправлено: Alexyz21, 10:38 14-08-2019
shmuz

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexyz21
Я добавил эти ф-ции, через полчаса можно будет скачать сборку с гитхаба.
Проверять сейчас времени нет, если что вылезет - отпишитесь.

Всего записей: 1856 | Зарегистр. 09-03-2012 | Отправлено: 11:01 14-08-2019
Alexyz21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
shmuz
Спасибо, если что вылезет - отпишусь.
 
Код:

Код:
    panel.BeginSelection(nil,1)
    panel.SetSelection(nil,1,itm0,false)
    panel.SetSelection(nil,1,itm1,true)
    panel.EndSelection(nil,1)
    panel.RedrawPanel(nil,1)

Результат прежний + строка Panel Tabs под панелью стала мигать - видимо какой-то асинхрон под конему вылез, перезапустил фар, теперь не мигает, работа макроса не изменилась.

Всего записей: 3469 | Зарегистр. 16-06-2007 | Отправлено: 11:11 14-08-2019 | Исправлено: Alexyz21, 11:47 14-08-2019
skipik



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
wseventeen

Цитата:
Перевел ImageView на FreeImageLib 3.18.0
Никаких проблем со сборкой у меня нет.
Всё собирается хоть из студии через .vcxproj, хоть черех .sln, хоть через батник и msbuild.
Все .vcxproj и .sln естественно мои.

Подтверждаю. Всё ок!

Всего записей: 4802 | Зарегистр. 07-07-2006 | Отправлено: 11:35 14-08-2019
Victor_VG



Tracker Mod
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexyz21
 
Да, операторы Begin ... End определяют блок операторов выполняемый как логически единая операция. Никакой иной смысловой нагрузки они не несут. Например (Паскаль):

Код:
function InitializeUninstall(): Boolean;
begin
  if CheckForMutexes(installer_mutex) then begin
    SuppressibleMsgBox(CustomMessage('msg_SetupIsRunningWarning'), mbError, MB_OK, MB_OK);
    Result := False;
  end
  else begin
    Result := True;
    CreateMutex(installer_mutex);
  end;
end;

иначе тут пришлось с бубном поплясать.

----------
Жив курилка! (Р. Ролан, "Кола Брюньон")
Xeon E5 2697v2/C602/128 GB PC3-14900L/GTX 1660 Ti, Xeon E5-2697v2/C602J/128 Gb PC3-14900L/GTX 1660 Ti

Всего записей: 33119 | Зарегистр. 31-07-2002 | Отправлено: 11:44 14-08-2019
shmuz

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexyz21

Цитата:
Результат прежний

Позже (вечером или завтра) буду проверять.
Не исключено, что Фар не поддерживает вложенность FCTL_BEGINSELECTION / FCTL_ENDSELECTION. В этом случае придётся убрать эти пары из функций panel.SetSelection / panel.ClearSelection.

Всего записей: 1856 | Зарегистр. 09-03-2012 | Отправлено: 11:52 14-08-2019
Alexyz21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
В этом случае придётся убрать эти пары из функций panel.SetSelection / panel.ClearSelection.

И тут мы приходим к тому, что
Цитата:
Как я понимаю, если begin/end selection начнёт влиять на SetSelection, то поведение последней без них изменится


Всего записей: 3469 | Зарегистр. 16-06-2007 | Отправлено: 11:56 14-08-2019
shmuz

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Цитата:
Как я понимаю, если begin/end selection начнёт влиять на SetSelection, то поведение последней без них изменится  

Да, изменится. Не конец света.

Всего записей: 1856 | Зарегистр. 09-03-2012 | Отправлено: 11:59 14-08-2019
Alexyz21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
shmuz
Может лучше тогда уже расширить panel.SetSelection (handle, whatpanel, items1, selection, items2) - тогда и ломать ничего не требуется. Для items2 подразумевается not selection, но можно передавать и явно, но особого смысла передавать 2 массива с одинаковым selection я не вижу.
 

Всего записей: 3469 | Зарегистр. 16-06-2007 | Отправлено: 12:39 14-08-2019 | Исправлено: Alexyz21, 12:43 14-08-2019
shmuz

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexyz21
Будет видно, но если для хорошего результата придётся немножко сломать, то ничего страшного.

Всего записей: 1856 | Зарегистр. 09-03-2012 | Отправлено: 12:59 14-08-2019
Alexyz21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
В этом случае придётся убрать эти пары из функций panel.SetSelection / panel.ClearSelection.

Тогда придётся юзать begin/end практически всегда, иначе повсплывают бэксайд эффекты типа ShiftF12, а это неэффективно из скрипта звать дополнительные внешние функции, которые можно оставить внутри.
 
Смысла в FCTL_CLEARSELECTION не вижу, поскольку = FCTL_SETSELECTION с Param2=false. И по идее, если не указывать Param2, то выделение должно сниматься, у нас это selection. - Не указали явно, значит nil, т.е. =false, значит clear.  
 
Не могу представить сценарии, когда из скриптов нужны begin/end - гораздо эффективнее сначала в скрипте собрать массив, а потом за один вызов SetSelection() "сделать" панель целиком, вместо того, чтобы открывать begin, дёргать SetSelection() N-ое количество раз, закрывать end. Поэтому желательно за один вызов и установить, и снять, тем более, что разбиение на отдельные вызовы приводит к осложнениям.

Всего записей: 3469 | Зарегистр. 16-06-2007 | Отправлено: 14:21 14-08-2019 | Исправлено: Alexyz21, 14:26 14-08-2019
shmuz

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexyz21
Да я ничего там изобретать не собираюсь, только передать в Lua возможности FAR API.
Каждый, кто захочет, обернёт это в Lua-функцию по своему вкусу.
И вообще, не надо нервничать, я так же, как и вы, заинтересован в качественном результате.
Просто я сейчас занимаюсь другими вещами.

Всего записей: 1856 | Зарегистр. 09-03-2012 | Отправлено: 14:35 14-08-2019
Alexyz21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Что сейчас нервничать? - Нервиничать будем, когда Вы сделаете, а нам с этим нужно будет жить ))) Хотелось бы по эффективнее и логически стройно, да. По срокам как получится, никто не торопит.

Всего записей: 3469 | Зарегистр. 16-06-2007 | Отправлено: 14:48 14-08-2019
shmuz

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Нервиничать будем, когда Вы сделаете, а нам с этим нужно будет жить )))

Если так случится, то я не деревянный, если переубедите - переделаю.
Ещё раз - я сейчас занимаюсь другими делами.

Всего записей: 1856 | Зарегистр. 09-03-2012 | Отправлено: 14:58 14-08-2019
   

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200

Компьютерный форум Ru.Board » Компьютеры » Программы » FAR Manager (часть 5)
Maz (15-01-2020 17:38): FAR Manager (часть 6)


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru