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

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

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

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



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
wseventeen
Victor_VG
 
Благодарю вас за попытки помочь. Наверное здесь с этим батником надо завершить. Попробую поспрашивать на форумах по батникам. Если что положительное выйдет, доложусь.
 
Добавлено:
Alexyz21

Цитата:
Имея FAR юзать этот антиквариат?

Что Вы имеете ввиду? wmic то вроде бы не антиквариат?
 
Добавлено:
 
Батник выдаёт информацию о системе: 'Майкрософт Windows 10 Корпоративная LTSC'.
Можно ли Far`ом получить её по-другому, не батником?

Всего записей: 360 | Зарегистр. 26-06-2016 | Отправлено: 15:36 18-09-2019
Alexyz21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
wmic'ом, всё остальное luaFAR, раз уже он есть - смысл ставить для этого допсофт?

Всего записей: 2231 | Зарегистр. 16-06-2007 | Отправлено: 15:51 18-09-2019
citPiks



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

Цитата:
смысл ставить для этого допсофт?

Если под допсофтом Вы имеете ввиду 'Take Command', то это был лишь попутный эксперимент. К сожалению, не очень успешный. Да и он вроде бы тоже не антиквариат.

Всего записей: 360 | Зарегистр. 26-06-2016 | Отправлено: 16:05 18-09-2019
Alexyz21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Шмуэль,
Почему moon-код:

Код:
local _id,_hDlg
desc="_XScale"
Event
  group:"DialogEvent"
  description:"Dialog Transform"
  action:(event,param)->
    if event==F.DE_DLGPROCINIT and param.Msg==F.DN_INITDIALOG
      id=far.SendDlgMessage param.hDlg,F.DM_GETDIALOGINFO
      if id and transform[id.Id]
        _id,_hDlg = id.Id,param.hDlg
        Proc _id,_hDlg
    elseif event==F.DE_DEFDLGPROCINIT and param.Msg==F.DN_CONTROLINPUT
      if param.Param2.EventType==F.KEY_EVENT
        name=far.InputRecordToName param.Param2
        if name=="F2"
          res=far.InputBox Guid_DlgXScale,"XScale","0<=Value<=1",edtFlags
          if res
            res=tonumber res
            _G._XScale=res and res or 0
            Proc _id,_hDlg
    false
 
 
при попытке применения введённого коэффициента в меню по F2 ругается: attempt to index local '_obj_0' (a nil value)? id.Id,param.hDlg запомненные в local _id,_hDlg уже не существуют, хоть диалог по-прежнему открыт?

Всего записей: 2231 | Зарегистр. 16-06-2007 | Отправлено: 16:12 18-09-2019 | Исправлено: Alexyz21, 16:18 18-09-2019
shmuz

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

Цитата:
local _id,_hDlg  

А разве в MoonScript есть ключевое слово local ?
Попробуйте заменить эту строчку на

Код:
_id,_hDlg = nil, nil

Всего записей: 1329 | Зарегистр. 09-03-2012 | Отправлено: 16:50 18-09-2019
komisar666



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

Код:
chcp 1251>nul
FOR /F "tokens=1* delims==" %%A IN ('wmic os get caption /Format:List ^|FIND "="') DO echo %%B>сведенияОсистеме.txt

 

Цитата:
Результат прежний: информация пишется в 866.

как вариант — использовать iconv
 

Код:
 
chcp 1251>nul
FOR /F "tokens=1* delims==" %%A IN ('wmic os get caption /Format:List ^|FIND "="') DO echo %%B | iconv -c -f cp866 -t cp1251>сведенияОсистеме.txt
 


Всего записей: 129 | Зарегистр. 21-07-2006 | Отправлено: 16:55 18-09-2019
Alexyz21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
без изменений
 
есть: https://moonscript.org/reference/#the-language/local-statement
 
что-то не так с областью видимости

Всего записей: 2231 | Зарегистр. 16-06-2007 | Отправлено: 16:55 18-09-2019
shmuz

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

Цитата:
id.Id,param.hDlg запомненные в local _id,_hDlg уже не существуют

Это ещё вопрос, были ли они запомнены.

Всего записей: 1329 | Зарегистр. 09-03-2012 | Отправлено: 16:59 18-09-2019
destiny_child



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

Цитата:
FOR /F "tokens=1* delims==" %%A IN ('wmic os get caption /Format:List ^|FIND "="') DO echo %%B>сведенияОсистеме.txt

 
превращаем в:
 
 
FOR /F "tokens=1* delims==" %%A IN ('wmic os get caption /Format:List ^|FIND "="') DO (
      call :convert
      echo %%B>сведенияОсистеме.txt
      chcp 866 >nul
)
goto:eof  
:convert  
chcp 1251 >nul

Всего записей: 1217 | Зарегистр. 01-04-2006 | Отправлено: 17:03 18-09-2019
Alexyz21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Иначе бы Proc() в 1-ом евенте не работал, а он работает, диалог трасфрормирует. А вот во 2-ом евенте после отработки far.InputBox что-то не так с возвратом в диалог-родитель. Если вместо local _id,_hDlg заглобалить, то видно, что значения присвоены - _id String, _hDlg UserData, но 2-ой эвент по ним работает через пень-колоду.

Всего записей: 2231 | Зарегистр. 16-06-2007 | Отправлено: 17:04 18-09-2019 | Исправлено: Alexyz21, 17:08 18-09-2019
komisar666



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
destiny_child
пробовал запускать такой батник? результат как и раньше... вначале батника стоит chcp1251...
этот вариант сработает, если весь батник писать в cp866 и вначале не указывать 1251

Всего записей: 129 | Зарегистр. 21-07-2006 | Отправлено: 17:05 18-09-2019 | Исправлено: komisar666, 17:08 18-09-2019
shmuz

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexyz21
Ну не буду я фантазировать по поводу вашего скрипта. Откуда мне знать, что у вас делают transform и Proc?
Могу только сказать, что даю 99%, что ошибка ваша, и только 1%, что это баг в мунскрипте.

Всего записей: 1329 | Зарегистр. 09-03-2012 | Отправлено: 17:09 18-09-2019 | Исправлено: shmuz, 17:09 18-09-2019
citPiks



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

Цитата:
вариант сработает, если весь батник писать в cp866 и вначале не указывать 1251

Большое спасибо за подсказки!
 
Единообразие в данном случае вполне устроит. Пусть вся собираемая инфа будет однообразно в 866 и тогда не потребуется внешняя утилита.
 
Так батник, записанный в 866:  

Код:
@echo off
chcp 866>nul
color 70
echo.
echo Операционная система:>computerInformationBriefly.txt
if defined ProgramFiles(x86) (set oper=x64) else (set oper=x32)
 
FOR /F "tokens=1* delims==" %%A IN ('wmic os get caption /Format:List ^| FIND "="') DO echo %%B>>computerInformationBriefly.txt
 
@echo Разрядность: %oper%>>computerInformationBriefly.txt
For /F "tokens=2 Delims==" %%J In ('wmic os get buildnumber /Value^|FindStr .') Do echo Номер сборки: %%J>>computerInformationBriefly.txt
For /F "tokens=2 Delims==" %%J In ('wmic os get systemdrive /Value^|FindStr .') Do echo Установлена на диске: %%J>>computerInformationBriefly.txt
wmic os get servicepackmajorversion | 1>nul findstr "0" && echo Сервис пак: Не установлен >>computerInformationBriefly.txt || (
For /F "tokens=2 Delims==" %%J In ('wmic os get servicepackmajorversion /Value^|FindStr .') Do echo Сервис пак: %%J>>computerInformationBriefly.txt
)
echo.
echo Переносные устройства:>>computerInformationBriefly.txt
For /F "tokens=2 Delims==" %%J In ('WMIC cdrom get id /Value^|FindStr .') Do echo Диск: %%J>>computerInformationBriefly.txt

вполне работает и выдаёт информацию однообразно в файл в кодировке 866 тоже:

Цитата:
Операционная система:
Майкрософт Windows 10 Корпоративная LTSC
Разрядность: x64
Номер сборки: 17763
Установлена на диске: C:
Сервис пак: Не установлен  
Переносные устройства:
Диск: I:

И имя конечного файла тоже приходится писать по английски. В данном случае это тоже приемлемо.

Всего записей: 360 | Зарегистр. 26-06-2016 | Отправлено: 18:57 18-09-2019
wseventeen

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

Цитата:
И имя конечного файла тоже приходится писать по английски.

Совсем не обязательно.

Всего записей: 1138 | Зарегистр. 20-12-2007 | Отправлено: 09:07 19-09-2019
citPiks



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
wseventeen
 
Действительно. Спасибо!

Всего записей: 360 | Зарегистр. 26-06-2016 | Отправлено: 09:35 19-09-2019
destiny_child



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

Цитата:
пробовал запускать такой батник?  результат как и раньше... вначале батника стоит chcp1251...  этот вариант сработает, если весь батник писать в cp866 и вначале не указывать 1251

не просто пробовал - а тестировал.
И все указанные вами условия использования - совершенно  адекватно необходимы и достаточны для работоспособности кода.  
Разумеется весь батник в 866. Разумеется более нигде не указывается 1251 - тока в приведенном куске кода.
И там, где по аналогии нужно будет сделать вывод подобных строк.
В принципе в инете еще пяток минимум вариантов подготовки вывода инфы в файл с предопределённой кодировкой есть.
Так что есть куда расти и как перефантазировать весь код батника, чтоб он заработал как хочется)))
 
Но да ладно. мы уже далеко ушли от темы топика.

Всего записей: 1217 | Зарегистр. 01-04-2006 | Отправлено: 09:37 19-09-2019 | Исправлено: destiny_child, 09:47 19-09-2019
citPiks



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Нашёл на форуме Far`а весьма полезный, на мой взгляд, макрос MacroAreaInfo.v3-bis(maxRusov).fmlua.txt.
 
В частности, например по диалогу он может выдать такую информацию:

Цитата:
MacroArea       : Dialog
Title           : Клонировать
GUID (в буфере) : FCEF11C4-5490-451D-8B4A-62FA03F52759
ItemType        : 4
Value           : "MacroAreaInfo.v3-bis(maxRusov).fmlua.txt"
Controls        : 3 / 21
Pos/Count       : 43 / 42

 
а в панелях такую:
 

Цитата:
MacroArea       : Shell
Title           : E:\Far\fmlMacros
Current         : MacroAreaInfo.v3-bis(maxRusov).fmlua.txt
Path            : E:\Far\fmlMacros
--- Items ---
Current         : 11
Total           : 13
Selected        : 0

 
Но этот макрос в fmlua-формате. Кто может, помогите, пожалуйста, перевести его в lua-формат.

Всего записей: 360 | Зарегистр. 26-06-2016 | Отправлено: 12:02 19-09-2019
shmuz

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

Цитата:
Но этот макрос в fmlua-формате. Кто может, помогите, пожалуйста, перевести его в lua-формат.

Переводится вручную за одну минуту. Вполне можете сделать сами.

Всего записей: 1329 | Зарегистр. 09-03-2012 | Отправлено: 12:20 19-09-2019
citPiks



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

Цитата:
Вполне можете сделать сами

Да я вовсе не ленюсь, просто не знаю как это сделать.
 
Спасибо, что подтолкнули. Всё оказалось гораздо проще, чем казалось сначала.
Я то думал, что код нужно будет перелопачивать! А получается, что fmlua-макрос достаточно просто переоформить по правилам lua-макроса. В этом случае действительно очень быстро делается.

Всего записей: 360 | Зарегистр. 26-06-2016 | Отправлено: 12:26 19-09-2019 | Исправлено: citPiks, 12:51 19-09-2019
shmuz

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

Цитата:
А получается, что fmlua-макрос достаточно просто переоформить по правилам lua-макроса.

В основном так, но не всегда.
Например, в fmlua может быть задано срабатывание ключа на нажатие, либо на отпускание, чего до сих пор стандартные макросы не предусматривают (хотя есть, вроде, скрипт от John Doe, который восполняет этот недостаток).

Всего записей: 1329 | Зарегистр. 09-03-2012 | Отправлено: 20:18 19-09-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.Board
© Ru.Board 2000-2020

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru