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

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



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

Цитата:
сделал чтобы новый сдвиг не изменял предыдущее направление и синхронизировал с ним индикатор

Да и это я тоже заметил. Очень хорошо придумано и сделано! Вот и восклицаю: даже не верится в смысле что может быть так хорошо и красиво реализовано! Каждый раз применяя макрос спасибы в Ваш адрес посылать буду.
 
Кстати, может быть Вы обращали внимание ещё на один любопытный макрос на эту же тему. Сам я, правда, очень редко его использую, но он, на мой взгляд, весьма разумно сделан. И, может быть, если к нему приделать интерактив перечисления ситуативно интересующих на текущий момент расширений файлов для упрощения их последующего анализа, то он ещё лучше станет? Как Вы полагаете? Возьмётесь?
 
И да, очень прав, разумеется, shmuz, в более широком смысле акцентируя наше внимание на полезности связки Far + LuaMacro! С момента внедрения Lua в Far стало намного удобнее и интереснее работать с Far`ом.

Всего записей: 585 | Зарегистр. 20-05-2007 | Отправлено: 21:25 17-02-2016
shmuz

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

Цитата:
акцентируя наше внимание на полезности связки Far + LuaMacro!

Не, я ничего не акцентировал, а просто уточнил, где реализован механизм кастомной (пользовательской) сортировки.

Всего записей: 1861 | Зарегистр. 09-03-2012 | Отправлено: 21:34 17-02-2016
Angel_Ka



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
shmuz
Извините меня, пожалуйста, если я Вас не совсем точно понял.  
При этом в целом остаюсь при том же сугубо положительном мнении о благотворности связки Far + Lua и лично Вашей заслуге в том, что этот спаринг случился и продолжает развиваться!
Со всем почтением!

Всего записей: 585 | Зарегистр. 20-05-2007 | Отправлено: 21:56 17-02-2016
Alexyz21



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

Цитата:
Возьмётесь?

Нет. Это к автору. Этот закончил. Можно было бы добавить чекбоксы опций сортировки, но не охота возиться с формой диалога.

Всего записей: 3483 | Зарегистр. 16-06-2007 | Отправлено: 11:02 18-02-2016
Angel_Ka



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

Цитата:
Нет. Это к автору.

Пока не заинтересовало? Что ж, а вдруг интерес возникнет таки...

Цитата:
Этот закончил

На мой взгляд, указатели в меню всё же излишни. Да и пункты меню, кажется, не срабатывают.

Цитата:
Можно было бы добавить чекбоксы опций сортировки, но не охота возиться с формой диалога

А вот это я что-то не догоняю. Что бы это дало?
 
 

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

Редактировать | Цитировать | Сообщить модератору
Angel_Ka
 
Возможность более простой настройки, зато более сложный код макроса. Кстати именно потому и я частенько стараюсь обойтись без построения кастомных страниц там, где это возможно. Особенно в программах написанных в среде NSIS - мне проще соорудить логику выбора компонент, чем строить кастомную страницу с кучей кнопок, надписей и чекбоксов - размер возни не в пример меньше, а результат по смыслу тот же. Та же FarUE3 пример этого подхода. Код выбора секций это несколько строк, а вот добавь я код страницы, это было бы нечто, да и сложность отладки программы возросла бы в несколько раз.

Отправлено: 13:49 18-02-2016
Alexyz21



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

Цитата:
На мой взгляд, указатели в меню всё же излишни. Да и пункты меню, кажется, не срабатывают.

У меня и отображаются и работают.

Цитата:
А вот это я что-то не догоняю. Что бы это дало?

Опция IgnoreCase, даёт согласно названия, равно как и остальные из CompareStringW().

Всего записей: 3483 | Зарегистр. 16-06-2007 | Отправлено: 14:38 18-02-2016
Angel_Ka



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

Цитата:
Цитата:
На мой взгляд, указатели в меню всё же излишни. Да и пункты меню, кажется, не срабатывают.
 
У меня и отображаются и работают.  

Ой! Простите, пожалуйста! Это я напутал сначала, а потом ещё и поторопился. На самом деле всё работает. И хорошо работает. И я очень рад и очень доволен тем, что Вы так тщательно отточили макрос! Ещё и ещё раз БОЛЬШОЕ СПАСИБО!
 

Всего записей: 585 | Зарегистр. 20-05-2007 | Отправлено: 15:45 18-02-2016
Alexyz21



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

Всего записей: 3483 | Зарегистр. 16-06-2007 | Отправлено: 17:07 18-02-2016
Angel_Ka



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexyz21
Последний манёвр от 16:59 18-02-2016 понят и присовокуплён. Приятно!  
ДОПОЛНИТЕЛЬНЫЕ БЛАГОДАРНОСТИ!

Всего записей: 585 | Зарегистр. 20-05-2007 | Отправлено: 17:51 18-02-2016
VictorVG2

Редактировать | Цитировать | Сообщить модератору
b4553 r13841 (b4552 или b4553 ) - сбой при сборке в VC++ 2010 на файле viewer.cpp при сборке 32-х и 64-х битных вариантов Far:

Цитата:
     1>viewer.cpp(4064): error C3493: "RB_PRC" нельзя передать неявно, поскольку не задан режим передачи по умолчанию
     1>viewer.cpp(4069): error C3493: "RB_HEX" нельзя передать неявно, поскольку не задан режим передачи по умолчанию
     1>viewer.cpp(4075): error C3493: "RB_DEC" нельзя передать неявно, поскольку не задан режим передачи по умолчанию
     1>viewer.cpp(4100): error C2064: результатом вычисления фрагмента не является функция, принимающая 5 аргументов
     1>viewer.cpp(4105): error C2064: результатом вычисления фрагмента не является функция, принимающая 5 аргументов
     1>Построение проекта ".\fardev\unicode_far\far.vcxproj" завершено (целевые объекты build) с ошибкой.
 
СБОЙ построения.

в VC++2015 собралось без вопросов.
 
Вопрос о номере билда возник отсюда - changelog:

Цитата:
drkns 19.02.2016 00:08:34 +0200 - build 4552
 
1. Еще раз на тему Alt+F8 во вьювере:

в vbuild.m4 видим:

Цитата:
m4_define(BUILD,4553)m4_dnl

отсюда и вопрос какой билд, хотя я думаю что в /unicode_far/vbuild.m4 случайная опечатка от чего никто из нас не застрахован.
 
Добавлено:
Поглядел по месту - по коду сбой возникает вот где:
 

Цитата:
                InputMode = RB_PRC; <-- стр. 4064
            }
            // он умный - hex код ввел!
            else if (!StrCmpNI(&Str[Pos], L"0x", 2) || Str[Pos] == L'$' || Str.find_first_of(L"Hh", Pos) != string::npos)
            {
                InputMode = RB_HEX;  <-- стр. 4069
                if (Str[Pos] == L'$')
                    ++Pos;
            }
            else if (Str.find_first_of(L"Mm", Pos) != string::npos)
            {
                InputMode = RB_DEC; <-- стр. 4075
            }

похоже что компилятор в данном случае ведёт себя подобно первым версиям IBM PL/1L из OS/360 - в подобном случае тот путался с тип входных данных данных и заранее выдавал ошибку т.к. встречал неопределённость, а дальше т.к. произошёл сбой в строках 4064, 4069, 4075 по цепочке происходит сбой и в строках 4100/4105 ведь компилятор уже зафиксировал неопределённость и вызвал обработчик ошибок.  
 
И тут я вижу только один вариант их избежать - алгоритм типа такого: модификатор первые два символа, проверяем его на значения %, R, L, + и - любые иные считаем ошибкой, его в переменную которая послужит нам семафором для ветвления, всё остальное в поле цифры, проверяем если там значения 0-9,  a-f  и или при модификаторе % третий символ запятая проверяем что ввод содержит только допустимые цифры, нет - ругаемся, да - считаем адрес перехода и goto. При этом нам не требуется отдельный модификатор DEC/HEX - режим определит ввод, а тип перехода - абсолютный от начала файла или относительный по смещению от строки - ну к примеру модификатор R, + - переход по смещению вперёд, L, "-" - аналогично, но назад, + и - указывают на относительное смещение, точка отсчёта текущая строка, R и L задают отсчёт от начала (R), или конца файла (L).  
 
Так мне кажется проще выходит, хотя придётся проверять ввод на принадлежность к цифрам и запятой, но без учёта регистра это шестнадцать быстрых проверок на И ...

Отправлено: 02:10 19-02-2016 | Исправлено: VictorVG2, 03:29 19-02-2016
VictorVG2

Редактировать | Цитировать | Сообщить модератору
Да, цифру билда поправили, а остальное? Или это решили на допущениях оставить ибо это проще? А где ещё эта мина сработает? А мина-то добротная....

Отправлено: 12:24 19-02-2016
Alexyz21



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

Всего записей: 3483 | Зарегистр. 16-06-2007 | Отправлено: 12:48 19-02-2016 | Исправлено: Alexyz21, 13:28 19-02-2016
shmuz

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

Цитата:
Да, цифру билда поправили, а остальное?

Особо не вникал, но предположу, что с кодом всё в порядке, а на поддержку VS 2010 забили.

Всего записей: 1861 | Зарегистр. 09-03-2012 | Отправлено: 13:10 19-02-2016
VictorVG2

Редактировать | Цитировать | Сообщить модератору
shmuz
 
Явно так, но это значит мы допускаем чтобы "особенность" реализации стандартов языка привязала нас к бизнес-решениям автора компилятора, и если завтра он скажет "лягушка" мы будем обязаны прыгать и квакать. В 84-м мы на это с СУБД нарвались когда её автор "оптимизировал" стандарт ANSI SQL "забыв" это задокументировать, и все экономические задачи рухнули, а сводки по почти пятистам заводам что мы считали ложились прямо на стол Генсеку. Что с этого было не трудно себе представить.

Отправлено: 14:05 19-02-2016
shmuz

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

Цитата:
но это значит мы допускаем чтобы "особенность" реализации стандартов языка привязала нас к бизнес-решениям автора компилятора

А вы попробуйте собрать на одной из последних версий GCC. Если соберётся, значит стандарт не нарушен.

Всего записей: 1861 | Зарегистр. 09-03-2012 | Отправлено: 14:11 19-02-2016
fcdobpiy



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
VictorVG2
там с стандартом все ок. реально забили на 2010 и к лучшему. в ближайших версиях и colorer перестанет собираться через vc2010.
но как и far , должен собрать через gcc

Всего записей: 410 | Зарегистр. 22-08-2005 | Отправлено: 14:14 19-02-2016
VictorVG2

Редактировать | Цитировать | Сообщить модератору
shmuz
 
С алгоритмом у компилятора в этом просто - у него нечёткая логика строится на предположениях вида "Если явно не указано А, то предполагаем что С или В, а если после выяснится что не С и не А, то возможно это В, а А более не рассматриваем..." а если в этом месте на самом деле как раз А? Получим сбой типа этого с которым мы сейчас возимся?

Отправлено: 14:18 19-02-2016
skipik001



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
VictorVG2
MS VS 2015 успешно собирает эту ревизию, только ворнинг в наличии:

Цитата:
1>viewer.cpp(4095): warning C4458: declaration of 'Strings' hides class member
1>  c:\soft\fardev\fardev\unicode_far\viewer.hpp(171): note: see declaration of 'Viewer::Strings' (compiling source file viewer.cpp)

Всего записей: 663 | Зарегистр. 14-11-2015 | Отправлено: 14:26 19-02-2016
shmuz

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
VictorVG2
Зачем лезть в дебри алгоритмов компиляторов, мы же не компиляторы делаем? Соберите на GCC, и если соберётся, значит всё OK.

Всего записей: 1861 | Зарегистр. 09-03-2012 | Отправлено: 14:28 19-02-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