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

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

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

Maz (23-11-2017 18:57): FAR Manager (часть 5)  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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

   

AlViS



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

 
Предыдущие топики:  1 2 3
 
Где взять последнюю версию?
На странице загрузки скачайте MSI-инсталлятор стабильной сборки нужной вам разрядности (32 или 64 бита) или дистрибутив в виде 7z-архива и установите/распакуйте в любую папку (FAR портабелен и может работать без установки).
Там же на свой страх и риск можно взять наиболее свежую "ночную" сборку (в ночных сборках устраняются выявленные недоработки, добавляются новые функции, но могут содержаться и серьёзные ошибки).
 
Общие сведения о совместимости 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, иначе плагин не будет загружен.

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

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

Всего записей: 2402 | Зарегистр. 03-01-2002 | Отправлено: 11:10 07-11-2015 | Исправлено: Victor_VG, 04:33 26-09-2017
DVall



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
FAR 3 build 4657
FarFtp 1.75.0.277 от 05-08-2015.
После того как заливаешь файл на сервер, в заголовке отаётся висеть {0.0% } Upload.

Всего записей: 2600 | Зарегистр. 21-09-2001 | Отправлено: 12:41 03-05-2016 | Исправлено: DVall, 12:43 03-05-2016
Angel_Ka



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

Цитата:
А такой вариант

Вы как всегда неожиданно делаете новый версии. А я уже успел отключить и убрать большую базу в стол. Сейчас всё верну, проверю-померю и доложусь. А на относительно малой базе скорость примерно такая же как у предшествующей версии, количество найденных дубликатов совпадает.  
 
Добавлено:
Докладываю:

Код:
 
Новая      mcs: 9855528   mcs: 9776599   mcs: 9854369  
Прежняя  mcs: 9992161   mcs: 9976228   mcs: 9911495
 

Всего записей: 585 | Зарегистр. 20-05-2007 | Отправлено: 13:05 03-05-2016 | Исправлено: Angel_Ka, 13:53 03-05-2016
Angel_Ka



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

Цитата:
Хорошо бы вот теперь мне научиться запоминать текущее состояние пометки и уметь восстанавливать её через некоторое время после сброса (и мне кажется такой макрос я видел раньше где то на форуме фара).

Ринулся я искать макросы, и вышло у меня из этого следующее.  
 
Два макроса, на первый взгляд показавшиеся мне подходящими, я обнаружил в сборке от уважаемого Victor_VG. Это Shell_SelectingEx.lua и Shell_RememberSelected.lua от мастера SimSU. Но Shell_SelectingEx.lua и в обычной то панели работает как-то странно, а в бранче совсем не восстанавливает пометку. А Shell_RememberSelected.lua на небольшом, на 4 тыс. файлов, бранче отрабатывает нормально, быстро, а вот при 700 тыс. файлов результатов его работы я не стал дожидаться — подождав 15 минут, сбросил его. При этом проц он грузил, как и первые два бесFFIишные варианта выделяльщика, — на 26%.  
 
После этого ещё я поискал макросы восстановления пометки на форуме Фара, но ничего подходящего не нашёл. Зато наткнулся там на напоминание про штатную команду CtrlM и, опробовав её на бранч-панели, убедился, что рулит она и в "большом" бранче тоже. Ею сейчас и пользуюсь.  
 
При этом мне всё же недостаёт возможности восстановления пометки файлов между сессиями Фара. Скопировать и поместить в файл полные имена отмеченных на панели файлов несложно. А вот нельзя ли как то этим потом воспользоваться для восстановления их пометки?  
 
Добавлено:
И вот ещё любопытно: а сама то CtrlM где хранит данные для восстановления пометки? Может это как то можно использовать?
 
Добавлено:
Для восстановления пометки файлов на бранч-панели после перезагрузки Фара попытался приспособить плагин Select-From-Clipboard. И он отлично справляется с данной задачей на относительно небольших по численности файлов бранчах. Но на бранчах с несколькими десятками тысяч файлов нещадно тормозит. Так, что даже возникает вопрос: не висит ли? На CtrlBreak не реагирует.
 
Неужели нет решения задачи?

Всего записей: 585 | Зарегистр. 20-05-2007 | Отправлено: 15:11 03-05-2016 | Исправлено: Angel_Ka, 20:30 03-05-2016
Angel_Ka



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
shmuz2
Заметил такую особенность, что медленно работающий макрос, запущенный на исполнение в бранч-панели на несколько десятков тысяч файлов (достоверно проверено на 70 тыс.), не удаётся прервать оп CtrlBreak. В частности, первая и вторая версии чудесного макроса Select Duplicates FileName in Branch panel от Alexyz21 дорабатывают до конца, невзирая на неоднократные нажатия на CtrlBreak. Причём отрабатывают нормально, с правильным результатом. А чтобы прервать Shell_RememberSelected.lua — макрос из набора v2014.10 от SimSU приходится убивать процесс Фара.

Всего записей: 585 | Зарегистр. 20-05-2007 | Отправлено: 19:57 03-05-2016 | Исправлено: Angel_Ka, 20:00 03-05-2016
shmuz2

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Angel_Ka
После замены макроязыка на Lua прерывание макросов по CtrlBreak перестало работать (если не ошибаюсь, оно и до Lua не во всех случаях работало). Я попытался было это поправить несколько лет назад, но эта работа была прервана и больше не возобновлялась.

Всего записей: 120 | Зарегистр. 09-04-2016 | Отправлено: 20:57 03-05-2016 | Исправлено: shmuz2, 21:08 03-05-2016
Angel_Ka



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

Цитата:
После замены макроязыка на Lua прерывание макросов по CtrlBreak перестало работать

Понятно. Благодарю Вас за информацию! По инерции думал, что CtrlBreak стандартный шорткат для прерывания макросов.  

Всего записей: 585 | Зарегистр. 20-05-2007 | Отправлено: 21:20 03-05-2016 | Исправлено: Angel_Ka, 08:26 04-05-2016
Alexyz21



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

Цитата:

Код:
Установить выделение в панели.
Param1 порядковый номер элемента на панели (подмножество PanelInfo::ItemsNumber).
Param2 указывает на переменную типа BOOL (TRUE - выделить элемент, FALSE - снять выделение).  
Нужно вызвать FCTL_REDRAWPANEL для показа изменений.  
 
Пример:  
 
// начинаем операцию по выделению файлов
Info.PanelControl(PANEL_ACTIVE,FCTL_BEGINSELECTION,0,NULL);
 
// выделяем
for(int i=0; i < PInfo.ItemsNumber; i++)
{
  Info.PanelControl(PANEL_ACTIVE,FCTL_SETSELECTION,i,(void*)TRUE);
}
// завершаем операцию и перерисовываем панель
Info.Control(PANEL_ACTIVE,FCTL_ENDSELECTION,0,NULL);
Info.Control(PANEL_ACTIVE,FCTL_REDRAWPANEL,0,NULL);
 
 

Зачем нужны FCTL_BEGINSELECTION и FCTL_ENDSELECTION, если мы конкретно указываем выделяемую позицию с помощью FCTL_SETSELECTION? Из LUA нормально выделяет и без посылки обрамления в begin/end.

Всего записей: 3484 | Зарегистр. 16-06-2007 | Отправлено: 09:08 04-05-2016
shmuz2

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

Цитата:
Зачем нужны FCTL_BEGINSELECTION и FCTL_ENDSELECTION, если мы конкретно указываем выделяемую позицию с помощью FCTL_SETSELECTION? Из LUA нормально выделяет и без посылки обрамления в begin/end.

Они нужны, чтобы не перерисовывать панель при выделении каждого элемента. LuaFAR это тоже делает "за кадром", поэтому передавать элементы в panel.SetSelection() лучше сразу всем массивом, а не по одному.

Всего записей: 120 | Зарегистр. 09-04-2016 | Отправлено: 10:14 04-05-2016
Alexyz21



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

Код:
string.gsub(panel.GetPanelItem(nil,1,i).FileName,"^.+\\","")

как код, получающий имя файла с панели, перевести на API с FFI? Я вижу это так:
1. на API получаем FullPath, который зовётся в мане FileName
2. с помощью wcsrchr получу ссылку на FileName внутри FullPath
3. с помощью wcscmp сравню имена.
Но как это записать в крякозяблах кода?
Начал так:

Код:
    local fgppi=ffi.new("struct FarGetPluginPanelItem")
    fgppi.StructSize=ffi.sizeof(fgppi)
    pc(PANEL_ACTIVE,"FCTL_GETPANELITEM",i-1,fgppi)
    local size=pc(PANEL_ACTIVE,"FCTL_GETPANELITEM",i-1,nil)
    if size then
      local ppi=ffi.new("struct PluginPanelItem",size) -- тут уже воткнулся
    end  
 

как ёжик в тумане, блин.
 
Добавлено:
Angel_Ka
Подробнее...
Финальная, дальнейшее ускорение только за счёт перевода на API panel.GetPanelItem(nil,1,i).FileName, но с этим не ко мне.

Всего записей: 3484 | Зарегистр. 16-06-2007 | Отправлено: 10:47 04-05-2016
VictorVG4



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
2Wave
 
Отключите кэширование и запоминание каталогов. У себя специально так настроил и по этой причине за годы ни одного падения не имел.
 
Добавлено:
Для справки:
 
1) 03.05.2016 вышли OpenSSL v1.0.1t (срок поддержки заканчивается 31.012.2016)/1.0.2h (рекомендуется, позднее ветку 1.0.2 заменит разрабатываемая ветка 1.1.0);
 
2) может пригодится - список корневых SSL сертификатов на сегодня с датами действия - certdata.txt . У меня в b4661 так же используются новые сертификаты.  
 
P.S.
 
в x64 уже, х86 собираю, в течении получаса сервера обновятся.
 

----------
Жив курилка! (Р. Ролан, "Кола Брюньон")

Всего записей: 1248 | Зарегистр. 26-03-2016 | Отправлено: 11:54 04-05-2016
Angel_Ka



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

Цитата:
Финальная

Большое спасибо за совершенствование макроса, помечающего группы одноимённых файлов на бранч-панели, — Select Duplicates FileName in Branch panel! Вот краткие сведения по времени работы его четвёртой и пятой версий (mcs):  
 
На 80 тыс. файлов:
Код:
4 — 559356   564688   569195  
5 — 535188   530366   543044
 
На 700 тыс. файлов:
Код:
4 — 4091547   3976394   4118126  
5 — 3905437   3977858   3934020
 
С количеством найденных дублей у версий макроса всё идентично. Натравливал их также на базу, заведомо не содержащую дублей, и тоже всё хорошо.  
 
Ещё раз БЛАГОДАРЮ Вас за очередной прекрасный макрос!  

Цитата:
дальнейшее ускорение только за счёт перевода на API panel.GetPanelItem(nil,1,i).FileName, но с этим не ко мне
 
На днях мы уже обращались к уважаемому shmuz2, и он отвечал, что в данный период у него большая рабочая нагрузка. Поэтому полагаю уместным терпеливо ожидать, когда он сможет переключить приоритет на этот вопрос. М.б. периодически интересуясь, не наступил ли такой момент, поскольку вопрос таки желательно бы решить.

Всего записей: 585 | Зарегистр. 20-05-2007 | Отправлено: 19:45 04-05-2016 | Исправлено: Angel_Ka, 19:57 04-05-2016
Alexyz21



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

Всего записей: 3484 | Зарегистр. 16-06-2007 | Отправлено: 20:04 04-05-2016
shmuz2

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

Цитата:
дальнейшее ускорение только за счёт перевода на API panel.GetPanelItem(nil,1,i).FileName, но с этим не ко мне.

Angel_Ka

Цитата:
На днях мы уже обращались к уважаемому shmuz2, и он отвечал, что в данный период у него большая рабочая нагрузка.

Господа, здесь форум, который читает много людей, в том числе и таких, которые способны решить эти задачи. Неправильно думать, что кроме меня здесь некому помочь. Если не помогают, значит... судьба такая. Но прежде всего желательно пытаться помочь самим себе.

Всего записей: 120 | Зарегистр. 09-04-2016 | Отправлено: 20:33 04-05-2016
Alexyz21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Оказывается дело в судьбе... а я то думал, что как всегда и везде, дело в людях. И то правда, нашли где помощь искать - на форуме! - Наивные (Шмуел это не в ваш огород, это в поля тех бойцов невидимого фронта, которых днём с огнём...)

Всего записей: 3484 | Зарегистр. 16-06-2007 | Отправлено: 21:03 04-05-2016
shmuz2

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

Всего записей: 120 | Зарегистр. 09-04-2016 | Отправлено: 21:24 04-05-2016
Angel_Ka



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
shmuz2
Извините, если я Вас чем то нечаянно задел, но я вовсе не помышлял ёрничать. Тем более в Вашу сторону. У меня у самого сегодня был длинный суматошный день. И я вполне признаю, что многим людям доводится очень плотно работать. И если у Вас нет времени, на то, что Вы не считаете первоочередным, то так тому и быть. Или, в стиле того как Вы выражаетесь, — значит не судьба. Принято. Со всем к Вам искренним и глубоким уважением!
 

Цитата:
Но прежде всего желательно пытаться помочь самим себе.

Простите, но этого намёка я не понял совсем. Ведь если бы я знал как нужно сделать, я однозначно пытался бы. Но здесь как мне кажется я чётко вижу, что без сторонней помощи дело не сдвинуть. И, к слову сказать, я безмерно благодарен в том числе Вам, за ранее оказанную мне помощь!  
 
 
Добавлено:
Alexyz21

Цитата:
6-я

Очень рад! Постараюсь сегодня же обследовать. С огромной благодарностью!

Всего записей: 585 | Зарегистр. 20-05-2007 | Отправлено: 21:42 04-05-2016
shmuz2

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

Цитата:
Извините, если я Вас чем то нечаянно задел

Не, ни в коем случае, никто меня не задел. Вам не за что извиняться.

Всего записей: 120 | Зарегистр. 09-04-2016 | Отправлено: 22:05 04-05-2016
Angel_Ka



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexyz21
 
На 711 тыс. файлов (другая база, не та, что прежде):  

Код:
5 — 3671266   3738052   3707222
 
6 — 3513467   3544157   3511459

Очень рад Вашему очередному успеху, и очень Вам БЛАГОДАРЕН!
 
Добавлено:
shmuz2

Цитата:
Вам не за что извиняться.

Ну и хорошо.

Всего записей: 585 | Зарегистр. 20-05-2007 | Отправлено: 22:17 04-05-2016 | Исправлено: Angel_Ka, 22:19 04-05-2016
VictorVG4



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
shmuz2
 
Провёл тест создание каталога с именем заданным переменной среды :
 
F7 -> %USERNAME% -> Enter
 
до b4434 включительно тест выполнялся корректно, начиная b4435 уже воспроизводится ошибка. Так что момент её появления SVN r13449.

----------
Жив курилка! (Р. Ролан, "Кола Брюньон")

Всего записей: 1248 | Зарегистр. 26-03-2016 | Отправлено: 22:50 04-05-2016
Alexyz21



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

Цитата:
На 711 тыс. файлов (другая база, не та, что прежде)

Это не эта:

Цитата:
Вышеупомянутую базу из 711 624 файлов вместо часа обрабатывает за 10 секунд — вот три пробы: mcs: 9926678  mcs: 9999617  mcs: 9923393.
?
тогда ещё в 2.8 раза быстрее.
Больше вариаций не будет, была, правда, ещё одна, но по внутреннему тестированию её производительность была между 5-ой и 6-ой, поэтому 6-я окончательная. Кстати, надо посмотреть как она под х64 себя чувствует - memcmp() меня смущает.

Всего записей: 3484 | Зарегистр. 16-06-2007 | Отправлено: 22:57 04-05-2016
   

Страницы: 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

Компьютерный форум Ru.Board » Компьютеры » Программы » FAR Manager (часть 4)
Maz (23-11-2017 18:57): FAR Manager (часть 5)


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru