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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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, не удалось, то задаёте вопрос разработчикам.

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

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



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

Цитата:
думаю прикрутить проверку на if (area==shell and Apanel.Path0 == PPanel.Path0) then ... end для выдачи сообщения только в этом случае т.к. тогда сравнение априори не имеет смысла.


Код:
if AP==PP then far.Message("it's the same object","Visual Compare")

это оно и есть

Всего записей: 3673 | Зарегистр. 16-06-2007 | Отправлено: 09:58 23-07-2019
Victor_VG



Tracker Mod
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexyz21
 
Это понятно, но именно сюда при Apanel.Selected == APanel.Current and APanel.Path ~= PPanel.Path в итоге приходит "исправленное" AP==PP вызывая ложное срабатывание даже если APanel.Path0 ~= PPanel.Path0 or APanel.Path ~= PPanel.Path.  
 
Вот что происходит:
 
If (Apanel.Selected == APanel.Current and ((APanel.Path0 ~= PPanel.Path0) or (APanel.Path ~= PPanel.Path)) Then AP=PP; far.Message("it's the same object","Visual Compare") End;
 
но я пока не придумал как эту ошибку алгоритма устранить сохранив всё остальное.

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

Всего записей: 34300 | Зарегистр. 31-07-2002 | Отправлено: 12:03 23-07-2019
Alexyz21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Victor_VG
Где ложное??? - Всё согласно описания - пользователь выделил 2 файла - 1 выделением, другой установив на нём курсор. Если он после INS нажимает UP, возвращая курсор назад на выделенный файл, то он либо просто ССЗБ, либо я в танке и не понимаю логики его метаний курсором. Надо сравнить файл с его версиями - выделили его и перемещая курсор по версиям, жмякая шоркат сравниваем. Если выделено 2 файла на панели, значит пользователь хочет сравнить между собой именно их, а не с тем, что под курсором. Если ничего не выделено на активной панели, значит пользователь сравнивает фалы под курсорами на разных панелях. Или хотим сравнивать файлы под курсорами при наличии выделения от 3-х файлов и больше?

Всего записей: 3673 | Зарегистр. 16-06-2007 | Отправлено: 12:59 23-07-2019 | Исправлено: Alexyz21, 13:28 23-07-2019
destiny_child



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

Цитата:
Если он после INS нажимает UP, возвращая курсор назад на выделенный файл, то он либо просто ССЗБ, либо я в танке и не понимаю логики его метаний курсором.

Хм, да я и сам себе не признаюсь в том - почему я так делаю. Но вот я ТАК реально делаю. Хз когда начал, хз почему, но это уже укоренившаяся привычка. НО! надо заметить, что у неё каких-либо негативных последствий я не заметил за ЭН лет такого "метания"....
Так что защиту от "дурака" ))) лучше реализовать в таком скрипте..

Всего записей: 3791 | Зарегистр. 01-04-2006 | Отправлено: 13:16 23-07-2019 | Исправлено: destiny_child, 12:46 24-07-2019
Alexyz21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Защиту от "дурака" должен добавлять сам пользователь - ему виднее что добавлять )))

Всего записей: 3673 | Зарегистр. 16-06-2007 | Отправлено: 13:27 23-07-2019
Victor_VG



Tracker Mod
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexyz21
 
Всё работает правильно, -даже если видим что "на активной панели выделен файл под курсором, на пассивной есть ли выделение не важно" и "на панелях разные по содержимому фрагменты файловой системы", то "На обеих панелях находится один и тот же объект!" и "сравнивать нечего ибо на обеих панелях априори один и тот же фрагмент файловой системы а под курсором всегда один и тот же объект!"  
 
Похоже новый скрипт написать ибо "Голову в песок! Не вижу - не существует!" © страус.
 
Добавлено:
Когда на разных панелях выделено по одному файлу и вызвано сравнение, то с надо сравнить именно их, а не мифическую пару на одной панели с подводкой по это теоретического обоснования из серии "если бы у рыбы были вши, то ...".

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

Всего записей: 34300 | Зарегистр. 31-07-2002 | Отправлено: 13:28 23-07-2019
Alexyz21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Victor_VG, хватит флуда - уже страницу ходим по кругу - конкретный пример, а не словоблудие в студию! - Что выделено, на какой панели, что под курсором, на какой панели, что ожидаю, что получаю.
 
 
Добавлено:
Victor_VG, зачем лишние действия по выделениям - ССЗБ? Конечно, некоторым (без уточнения) +1000 знаков не крюк... То, что Вы хотите конфликтует с используемым алгоритмом минимальных телодвижений.
 
Если принять за правильное поведение сравнение выделенных по 1-му файлу на разных панелях игнорируя положение курсора, то тогда с целью сохранения целостности логики нужно сравнивать только выделенные файлы, что в свою очередь приведёт к увеличению клавиатурной суеты. Необходимость постоянной установки/снятия выделения при пользовании донесёт абсурдность такого алгоритма быстрее слов.
 
Выделение на пассивной панели проглядел, исправлю.  

Всего записей: 3673 | Зарегистр. 16-06-2007 | Отправлено: 13:36 23-07-2019 | Исправлено: Alexyz21, 14:40 23-07-2019
Victor_VG



Tracker Mod
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexyz21
 
Рабочий момент: на панели непрерывно пишутся логи с многоканального измерительного прибора, имена файлов схожие, каждый отсчёт пишется в свой файл, частота отсчётов порядка 10 ГЦ. Выделяю нужные файлы чтобы не спутать, при сравнении получаю нежданное сообщение, хотя файлы разные.

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

Всего записей: 34300 | Зарегистр. 31-07-2002 | Отправлено: 15:39 23-07-2019 | Исправлено: Victor_VG, 15:41 23-07-2019
Alexyz21



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

Цитата:
нежданное сообщение

Это какое? Панель какая? Создайте на панели 2 статических файла с разным содержанием, выделите их оба, сравните, обратите внимание на пути в шапке - пути правильные? результат сравнения ожидаемый?

Всего записей: 3673 | Зарегистр. 16-06-2007 | Отправлено: 15:51 23-07-2019
Victor_VG



Tracker Mod
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexyz21
 
К нашим баранам:
 
ВИЖУ СООБЩЕНИЕ С ТЕКСТОМ:  

Цитата:
Visual Compare:  
 
it's the same object
 
  OK!  

НА КАЖДОЙ ПАНЕЛИ ПАНЕЛЯХ ПОМЕЧЕНО ПО ОДНОМУ ФАЙЛУ, КУРСОР СТОИТ НА ПОМЕЧЕННОМ ФАЙЛЕ АКТИВНОЙ ПАНЕЛИ, ЕГО ПОЛОЖЕНИЕ НА ПАССИВНОЙ ПАНЕЛИ НЕ ВАЖНО, SHA-256 СРАВНИВАЕМЫХ ФАЙЛОВ РАЗЛИЧАЮТСЯ, ПУТИ НА РЕАЛЬНОЙ ФАЙЛОВОЙ СИСТЕМЕ ТАК ЖЕ РАЗНЫЕ, НО ДЛЯ СКРИПТА ЭТО ОДИН И ТОТ ЖЕ ОБЪЕКТ.



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

Всего записей: 34300 | Зарегистр. 31-07-2002 | Отправлено: 16:01 23-07-2019 | Исправлено: Victor_VG, 16:05 23-07-2019
Alexyz21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Смотрю в книгу (мануал) - вижу фигу - panel.ClearSelection(), panel.SetSelection() ожидающие array of item indexes, ищу panel.GetSelection(), возвращающий этот самый массив - нэту... Ну нэту и нэту, ищу созвучное panel.GetSelect, ага, вижу panel.GetSelectedPanelItem, который возращает tPluginPanelItem, что совсем не то, что нужно. Не нашёл, в общем.
 
Добавлено:
Victor_VG, опять 25! ))) уже 2 или 3 раза ответил.
Как можно указать 2 файла на панели для сравнения? - Правильно, выделив оба, а как быстрее? - Правильно, выделив 1, а 2-ой, установив на него курсор, не выделять - ибо зачем? - курсор на него и так указывает.

Всего записей: 3673 | Зарегистр. 16-06-2007 | Отправлено: 16:06 23-07-2019 | Исправлено: Alexyz21, 16:24 23-07-2019
Victor_VG



Tracker Mod
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexyz21
 
Давай иначе построим алгоритм:
 
If APanel==Shell Then AP == APanel.Patch0(Object) Else Extract(TMP/FarCMP/Object) AP=TMP/FarCMP/Object End;
 
If PPanel==Shell Then PP == PPanel.Patch0(Object) Else Extract(TMP/FarCMP/Object) PP=TMP/FarCMP/Object End;
 
If AP == PP Then Message() Else Compare(AP,PP) End

 
так должно работать.

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

Всего записей: 34300 | Зарегистр. 31-07-2002 | Отправлено: 16:32 23-07-2019
Wave_Blessed

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Как клонировать только рабочую область git-репозитория?
FarUE3_x64.git\.git уже больше полугига, и обычно не нужна. Но при этом удобно время от времени делать git pull и смотреть, что изменилось.
Грубо говоря, как пользоваться git-ом в режиме как svn-ом, чтобы репозиторий лежал себе на гитхабе, но не загромождал винт? Можно, конечно, скачивать https://github.com/VictorVG/FarUE3_x64/archive/master.zip но это не так удобно.

Всего записей: 1253 | Зарегистр. 16-04-2006 | Отправлено: 16:47 23-07-2019
Victor_VG



Tracker Mod
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Wave_Blessed
 
Склонировать только рабочую область как в SVN архитектура Git не позволит - первый коммит сохраняет тело объекта, все следующие это инкрементые патчи относительно предыдущего коммита. Но, вариант есть:
 
for /f %%f in ('git rev-list -n1 --abbrev-commit master') do set cmt=%%f
for /f %%h in ('git tag -l -i --contains %cmt%') do set vr=%%h
echo %vr%
echo Git-%cmt%

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

Всего записей: 34300 | Зарегистр. 31-07-2002 | Отправлено: 17:43 23-07-2019
Alexyz21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Victor_VG, обновил, добавил инструкцию при неправильном выделении, правильно обрабатывается ситуация на активной выделено 0, на пассивной 1 и курсор стоит на нём.
 

Цитата:
If APanel==Shell Then AP == APanel.Patch0(Object) Else Extract(TMP/FarCMP/Object) AP=TMP/FarCMP/Object End;    If PPanel==Shell Then PP == PPanel.Patch0(Object) Else Extract(TMP/FarCMP/Object) PP=TMP/FarCMP/Object End;    If AP == PP Then Message() Else Compare(AP,PP) End

В общем так всё и есть

Всего записей: 3673 | Зарегистр. 16-06-2007 | Отправлено: 17:44 23-07-2019
Victor_VG



Tracker Mod
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexyz21
 
Добро. С РН 3.0.7067.2540 Git-aefd92ad закончу (там Стивен поправил несколько ошибок) про которые писали в его теме и протестирую скрипт.

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

Всего записей: 34300 | Зарегистр. 31-07-2002 | Отправлено: 18:38 23-07-2019
shmuz

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Victor_VG
Вы в форуме PH тоже постоянно пишете про Far Manager (какие в нём были ошибки, кто их поправил, поимённо и т.д)?

Всего записей: 1894 | Зарегистр. 09-03-2012 | Отправлено: 20:12 23-07-2019
Victor_VG



Tracker Mod
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
shmuz
 
Нет, им был занят, со скриптом сейчас сел.

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

Всего записей: 34300 | Зарегистр. 31-07-2002 | Отправлено: 20:17 23-07-2019
Victor_VG



Tracker Mod
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Простейший демо-тест для функции win.WriteConsole():

Код:
local TX = "Test win.WriteConsole()";
Keys("CtrlO"); panel.GetUserScreen() win.WriteConsole(TX) panel.SetUserScreen();
 

гасит панели и пишет тестовое сообщение.
 
Добавлено:
Минимальные системные требования: Far b5433 Git-94cf38d59 (LuaMacro b693, Far API b5171).

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

Всего записей: 34300 | Зарегистр. 31-07-2002 | Отправлено: 20:10 25-07-2019
shmuz

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Victor_VG
С новой функцией mf.printconsole будет ещё короче.

Всего записей: 1894 | Зарегистр. 09-03-2012 | Отправлено: 22:16 25-07-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