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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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
shmuz2

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
VictorVG4
Сломался Panel.Select.
 
Добавлено:
Я до сих пор сижу на 4637, пока всё не устаканится.

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



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
shmuz2
 
Понял. А я уже решил свою функцию селектора ваять и стал просчитывать её алгоритм. Ладно, подождём.

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

Всего записей: 1248 | Зарегистр. 26-03-2016 | Отправлено: 21:49 07-05-2016
VictorVG4



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
b4664 r14136 - Panel.Select() починена, сборки обновил.

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

Всего записей: 1248 | Зарегистр. 26-03-2016 | Отправлено: 01:52 08-05-2016
VictorVG4



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
FarUE3 b4665 r14142 Sun May 08 16:54:14 +0300 2016

Цитата:
1. Far b4665 r14142
2. EnvManager v1.2.1
3. Рефакторинг. Обновление совместимо с SVN r14137 - SVN r14142

изменения в х64 совпадают с п1 и п2, в farue3-update.exe обновлена константа проверки минимальной SVN ревизии до r14137, потому обновление с более старых версий осуществляется просто установкой поверх них полной сборки.  
 
P.S.
 
Понятно, что ставить х86 сборку в тот же каталог что и х64 не стоит - при совпадении имён файлов они могут быть перезаписаны, но если какие-то DLL плагинов в исходном х64 наборе отсутствуют и не удалены установкой, то они работать в х86 не будут. Ну, а кто хочет приключений - вперёд на мины.

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

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



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

Код:
ffi.cdef[[
int CompareString(DWORD, DWORD, const char*, int, const char*, int);
]]

потом пытаюсь юзать: C.CompareString(C.LOCALE_USER_DEFAULT,Flags,st1,ln1,st2,ln2)
- cannot resolve symbol 'CompareString': Не найдена указанная процедура.
Замена на _CompareString не помогает - чего не хватает?

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



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexyz21
 
Отсюда CompareStringW()/CompareStringA()?

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

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



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Хороший вопрос )))  
Прилепил в winapi.lua под CompareStringW - не помогло
int CompareStringW (/*LCID*/ DWORD Locale, DWORD dwCmpFlags, const wchar_t* lpString1, int cchCount1,
                    const wchar_t* lpString2, int cchCount2);
int CompareString (/*LCID*/ DWORD Locale, DWORD dwCmpFlags, const char* lpString1, int cchCount1,
                    const char* lpString2, int cchCount2);

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

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

Цитата:
Прилепил в winapi.lua под CompareStringW - не помогло  

Лепить надо CompareStringA.

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



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
А как она дружит/не дружит с Utf8 из panel.GetPanelItem(nil,1,i).FileName? Конвертировать весь внутренний список в Utf16 очень накладно.

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

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexyz21
Ф-я для юникода CompareStringW для анси CompareStringA.
Ф-и CompareString в kernel32.dll нет, добавлять ее описание нет никакого смысла.
Пользуйтесь тем что есть.

Всего записей: 1415 | Зарегистр. 20-12-2007 | Отправлено: 23:00 08-05-2016
VictorVG4



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
<del, уже ответили>

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

Всего записей: 1248 | Зарегистр. 26-03-2016 | Отправлено: 23:01 08-05-2016 | Исправлено: VictorVG4, 23:02 08-05-2016
shmuz2

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

Цитата:
А как она дружит/не дружит с Utf8

CompareStringA  - "A" обозначает ANSI, то-есть это не юникод вообще.

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



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
И как лучше поступить? Делать имена широкими win.Utf8ToUtf16(panel.GetPanelItem(nil,1,i).FileName), а затем сравнивать с помощью CompareStringW()?

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

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexyz21
Как лучше поступить? Пробуйте разные варианты и выбирайте наиболее для вас подходящий.
Да, есть ещё функции far.LStricmp и far.LStrnicmp.

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



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Полностью бранч из 1,8 млн файлов консольная команда формирует почти полтора часа. А ведь существуют базы и на порядок б0льшие. Такие приходится обрабатывать по частям.
 
Файл-список же даже для очень больших баз создаётся за минуту-другую (из 1,8 млн файлов — за 25 секунд).
 
А не будет ли быстрее следующая последовательность? Сначала обрабатывать файл-список в редакторе Фара, направляя результаты в значительно меньший по размеру производный список. И только потом формировать из производного списка бранч-панель для внесения коррективов в реальную базу.
 
Но вот позволяет ли Фаровский редактор работать со строками так, чтобы получать результаты, достигаемые в бранч-панели макросом от Alexyz21 Select Duplicates FileName in Branch panel? А именно: находить строки, содержащие полные дубликаты имён файлов, дубликаты с частично совпадающими именами от их начала и дубликаты с частично совпадающими именами от концов имён.  

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

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

Цитата:
Но вот позволяет ли Фаровский редактор работать со строками так, чтобы получать результаты, достигаемые в бранч-панели макросом от Alexyz21

Позволяет.

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



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
shmuz2
 
Шорткатом AltShiftF2, запущенным в панели "LF Search: временная панель", создал файл-список  panel0.temp.  
Через некоторое время, по аналогии с командой временной панели Фара tmp:panel0.temp, попытался считать данный файл во временную панель плагина командой lfs:panel0.temp, но выскочила ошибка:
Код:
Error [used: 541 KB]
 
[?]:[string "far2.utils"]:384: invalid command: panel0.temp
stack traceback:
[C]: in function 'error'
[?]:[string "far2.utils"]:384: in function 'u'
[?]:[string "far2.utils"]:435: in function <[string "far2.utils"]:434>
Far 3.0.4665 (и x86, и х64) на Win10entRu x64.

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

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Angel_Ka
Встроенная "временная панель" плагина до сих пор рассматривалась только как средство отображения результатов поиска. Отдельный её вызов не предусматривался, как и вызов через префикс. Однако вы уже второй человек, высказывающийся по поводу отдельного доступа к функциональности данной панели. Может и сделаю как-нибудь.

Всего записей: 120 | Зарегистр. 09-04-2016 | Отправлено: 14:27 09-05-2016 | Исправлено: shmuz2, 16:45 09-05-2016
Angel_Ka



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

Цитата:
Позволяет.

Благодарю Вас за консультацию! Спасибо за оперативную отзывчивость!

Цитата:
Может и сделаю как-нибудь.

Спасибо! Для меня это было бы весьма желательно. Встроенная "временная панель" плагина LF Search обладает, как минимум, двумя капитальными преимуществами перед нативной "временной панелью" Фара. Она в 2,5 раза быстрее формирует бранчи. И это на базах с очень большим количеством файлов весьма существенно. И плагиновая панель корректно работает с именами файлов, содержащими типографские кавычки « и ». Нативная же панель игнорирует файлы с такими кавычками, и это чаще всего неприемлемо. А вот по управляемости нативная панель пока поудобнее.  

Всего записей: 585 | Зарегистр. 20-05-2007 | Отправлено: 16:39 09-05-2016 | Исправлено: Angel_Ka, 16:07 10-05-2016
shmuz2

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Angel_Ka
Возьмите эту же панель отдельным плагином (https://www.sendspace.com/file/b67p1p).
Префикс комстроки tmp2:
Чтобы не перехватывала стандартную врем. панель при поиске через AltF7, переименуйте DLL, чтобы её имя шло по алфавиту после tmppanel.dll.
Имейте в виду, что могут быть баги, т.к. плагин не был в публичном доступе.

Всего записей: 120 | Зарегистр. 09-04-2016 | Отправлено: 16:42 09-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