Набор макросов от SimSU

Здесь выкладываются готовые к использованию макросы и скрипты.
User avatar
SUSim
Posts: 1636
Joined: Thu 18 Feb, 2010 17:32
Has thanked: 9 times
Been thanked: 26 times

Набор макросов от SimSU

Post by SUSim »

Вычисление математических выражений. © SimSU
Календарь. © SimSU
Выполнение команды через меню пользователя. © SimSU
Получение названия клавиши. © SimSU
Ускорение скроллинга колёсиком мышки. © SimSU
Меню плагинов с последнего пункта. © SimSU
Вставка разделённых путей и имён файлов. © SimSU
Редактирование строки ввода диалога в редакторе. © SimSU
Первая строка всегда на экране полезно в качестве заголовков столбцов. © SimSU
Создание резервной копии редактируемого файла. © SimSU
Открытие редактора из редактора. © SimSU
Вставка шаблона мароса. / Insert macro template. © Shmuel SimSU
Простое импортирование макроса FAR. © SimSU
Список завершения LuaMacro. © SimSU
Работа мышкой с выделением в редакторе. © SimSU
Перемещение строк в редакторе. © SimSU
Два синхронных редактора. © SimSU
Быстрый поиск в редакторе. © SimSU
Комментирование/разкомментирование помеченного блока. © SimSU
Памятливый редактор. © SimSU
Работа с помеченным блоком в редакторе. © SimSU
Подсветка табуляции и перевода строк. © SimSU
Умный Del. © SimSU
Умные Home & End. © SimSU
Лёгкое изменение размеров табуляции. © SimSU
Транспонирование (строки превращаются в столбцы) текста. © SimSU
Удаление конечных пробелов и символов табуляции и пустых строк. © SimSU
Завершения слов в редакторе. © SimSU
Запуск приложения в DOSBox [http://www.dosbox.com]. © SimSU
Работа с файлами через контекстное меню (плагин EMenu). © SimSU
Работа с файлами через FastCopy (FastCopy.exe © http://ipmsg.org/tools/fastcopy.html). © SimSU
работа с LNK-файлами (плагин LnkView). © SimSU
Переход по вкладкам плагина Panel Tabs (плагин Panel Tabs © Максим Русов) © SimSU"
Работа с файлами через TeraCopy (TeraCopy.exe © http://www.codesector.com). © SimSU
Визуальное сравнение файлов (плагин VisualCompare © Максим Русов). © SimSU
Работа с псевдонимами (синонимами). © SimSU
Смена диска активной панели RCtrl+стрелки. © SimSU
Работа в командной строке. © SimSU
Удаление резервных и временных файлов. © SimSU
Редактирование описания в файле. © SimSU
Фавориты (избранные папки и плагины) в меню дисков. © SimSU
Работа с датой/временем файлов/папок. © SimSU
Возврат в предыдущую папку, отмена возврата. © SimSU
Включение/отключение поиска на панели после отпускания RAlt. © SimSU
Сохранение/восстановление выделения файлов. © SimSU
Такой же путь & Текущая папка. © SimSU
Выделение файлов аля Explorer. © SimSU
Работа с пометкой файлов. © SimSU
Расширение функциональных клавиш копирования, переноса, создания папки. © SimSU
При смене панели ширина активной панели остается постоянной. © SimSU
Attachments
SimSU20230526.7z
(83.62 KiB) Downloaded 185 times
SimSU20230324.7z
(78 KiB) Downloaded 141 times
Last edited by SUSim on Fri 26 May, 2023 19:11, edited 22 times in total.
SimSU ··· ·· -- ··· ··-
User avatar
John Doe
Бюрократ
Posts: 13807
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 426 times
Contact:

Набор макросов от SimSU

Post by John Doe »

Latest post of the previous page:

А 'не штатно' это используя ProcessConsoleInput?
User avatar
zg
zero-gravity
Posts: 6016
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 185 times
Contact:

Набор макросов от SimSU

Post by zg »

John Doe wrote: Tue 10 Sep, 2019 15:35 А 'не штатно' это используя ProcessConsoleInput?
processeditorinput.
User avatar
SUSim
Posts: 1636
Joined: Thu 18 Feb, 2010 17:32
Has thanked: 9 times
Been thanked: 26 times

Набор макросов от SimSU

Post by SUSim »

Давайте сделаем сначало одно - дадим возможность определения координат редактора!
А потом уже посмотрим насколько сложно будет переключатся между несколькими редакторами мышкой, тогда подумаем дальше...
SimSU ··· ·· -- ··· ··-
User avatar
HaRT
Moderator
Posts: 10822
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

Набор макросов от SimSU

Post by HaRT »

John Doe wrote: Tue 10 Sep, 2019 15:35 А 'не штатно' это используя ProcessConsoleInput?
Ну, не обязательно. Если оба редактора открыты одним плагином (каким-нибудь TwoEdit2), то он может сам активировать другой редактор.
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
John Doe
Бюрократ
Posts: 13807
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 426 times
Contact:

Набор макросов от SimSU

Post by John Doe »

SUSim wrote: Tue 10 Sep, 2019 16:45 Давайте сделаем сначало одно - дадим возможность определения координат редактора!
На предыдущей странице.
Last edited by HaRT on Tue 10 Sep, 2019 18:23, edited 1 time in total.
Reason: Исправлен автор цитаты
2useven10
Posts: 5204
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 310 times

Набор макросов от SimSU

Post by 2useven10 »

SUSim wrote: Tue 10 Sep, 2019 16:45 дадим возможность определения координат редактора!
Imho, как-то так:

Code: Select all

local function MouseToText()
-- Функция пересчёта экранных координат мышки в координаты текста.
  local cpos = far.AdvControl("ACTL_GETCURSORPOS")
  local einf = editor.GetInfo(nil)
  local Y0,X0 = cpos.Y - (einf.CurLine-einf.TopScreenLine), cpos.X - (einf.CurTabPos-einf.LeftPos)
  local Yc,Xc = einf.CurLine + (Mouse.Y-cpos.Y), einf.CurTabPos + (Mouse.X-cpos.X)
  return Xc,Yc,X0,Y0 -- Координаты курсора и координаты экрана.
end
Last edited by 2useven10 on Thu 12 Sep, 2019 14:43, edited 1 time in total.
User avatar
HaRT
Moderator
Posts: 10822
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

Набор макросов от SimSU

Post by HaRT »

2useven10 wrote: Thu 12 Sep, 2019 14:33как-то так
Уточните, пожалуйста, которая X-координата возвращается при наличии табов в начале строки.
Фар есть инструмент, а не нянька. © 2009 DrKnS
2useven10
Posts: 5204
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 310 times

Набор макросов от SimSU

Post by 2useven10 »

HaRT wrote: Thu 12 Sep, 2019 14:49 которая X-координата возвращается при наличии табов в начале строки.
2useven10 wrote: Thu 12 Sep, 2019 14:33 einf.CurTabPos
вроде бы всё видно.

PS: Код практически не тестировал, проверять надо обязательно.
Last edited by 2useven10 on Thu 12 Sep, 2019 18:35, edited 2 times in total.
User avatar
buniak_a_h
Posts: 4236
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 643 times
Contact:

Набор макросов от SimSU

Post by buniak_a_h »

Здравствуйте.
Разрешите представить небольшое изменение макроса Common_MouseWheel, которое я сделал у себя. Суть в том, что в при прокручивании колёсика мыши в панелях в случае, если обе панели видны скроллируется не активная панель, а та, над которой в начале скроллинга находилась мышка.
Для такого эффекта в начале функции Common_Scroll вставить строки

Code: Select all

  local bNeedTab = Area.Shell and                                                        -- BAX, 15.10.2019 {
                   APanel.Visible and PPanel.Visible and                                 -- BAX, 15.10.2019
                   (Mouse.X < ((APanel.Left and APanel or PPanel).Width) == PPanel.Left) -- BAX, 15.10.2019 }
, а перед и после цикла while Pause<=S.Delay do вставить строку

Code: Select all

  if bNeedTab then panel.SetActivePanel(nil, 0) end -- BAX, 15.10.2019
User avatar
SUSim
Posts: 1636
Joined: Thu 18 Feb, 2010 17:32
Has thanked: 9 times
Been thanked: 26 times

Набор макросов от SimSU

Post by SUSim »

Прошу прощения у ВСЕХ! У меня произошёл "даунгрейд" - потеря всех "не личных", в том числе и макросы, а многое из форков/предложений/пожеланий - поправил/исправил/улучшил, НО не успел опубликовать - самому пришлось восстанавливаться с SimSU20190908
Last edited by SUSim on Tue 26 Nov, 2019 20:10, edited 3 times in total.
SimSU ··· ·· -- ··· ··-
User avatar
Tim Sobolev
Posts: 729
Joined: Fri 01 Apr, 2005 14:46
Location: Украина
Has thanked: 1 time
Been thanked: 7 times

Набор макросов от SimSU

Post by Tim Sobolev »

Shell_FileTime.lua с нормальными прототипами WinAPI функций (иначе не работало на FAR 5513).
Константы взяты из HexEd.moon by zq.

UPD. Исправлено ошибку для Ctrl+Alt+D (UpdateBranch)

Shell_FileTime.lua
Исправлено ошибку для Ctrl+Alt+D (UpdateBranch)
(6.58 KiB) Downloaded 146 times
Last edited by Tim Sobolev on Sat 30 Nov, 2019 13:43, edited 2 times in total.
User avatar
SUSim
Posts: 1636
Joined: Thu 18 Feb, 2010 17:32
Has thanked: 9 times
Been thanked: 26 times

Набор макросов от SimSU

Post by SUSim »

Tim Sobolev, Спасибо!
Забрал, осмыслю. Но из-за восстановления остальных потерянных данных :(( быстрой реакции не ждите :(
SimSU ··· ·· -- ··· ··-
User avatar
buniak_a_h
Posts: 4236
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 643 times
Contact:

Набор макросов от SimSU

Post by buniak_a_h »

Скорее всего перестанет работать макрос Editor_Pair: в макросе указано action=Start;; в самой функции Start(LeftFile,RightFile), а теперь при вызове action ей передаётся таблица. Я не проверял - чисто теоретически. Надо заменить action=Start; на action=function() Start(); end;. И далее по тексту (action=Switch, action=DecTop, … )
User avatar
SUSim
Posts: 1636
Joined: Thu 18 Feb, 2010 17:32
Has thanked: 9 times
Been thanked: 26 times

Набор макросов от SimSU

Post by SUSim »

Спасибо!
Да понял я уже, блин. Неожиданно, и немного неприятно... Даунгрейд, ещё этот мой ...
Пля, как не вовремя - времени нет практически :(
Постараюсь как можно оперативнее поправить...
Last edited by SUSim on Wed 11 Dec, 2019 21:36, edited 1 time in total.
SimSU ··· ·· -- ··· ··-
User avatar
SUSim
Posts: 1636
Joined: Thu 18 Feb, 2010 17:32
Has thanked: 9 times
Been thanked: 26 times

Набор макросов от SimSU

Post by SUSim »

Обновил макросы:

основная часть - автоматическая обертка - action=function() [...] end;
но это не правильно оказалось
обернул в - action=function( [...] ) return [...] end;[/b]
так вроде работает...

за сегодня проблем вроде не было.

ЗЫ о таких изменениях хорошо бы предупреждать заранее - 1 месяц минимум!
ЗЫЫ я конечно идиот, но в некоторых функциях я балуюсь вызовом с лишними параметрами
пример - mmode(1,mmode(1,0),Pos(1,2,Xct)) и тут засада... я боюсь изменений без об объявления войны.
Last edited by SUSim on Sun 05 Apr, 2020 10:09, edited 4 times in total.
SimSU ··· ·· -- ··· ··-
Shmuel
Posts: 6819
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 528 times

Набор макросов от SimSU

Post by Shmuel »

SUSim wrote: Mon 16 Dec, 2019 18:20 основная часть - автоматическая обертка - action=function() [...] end;
но это не правильно оказалось
1. function(без параметров) - неправильно, только если вы начали использовать новую таблицу-параметр data. Для скриптов, которые её не используют - правильно.
2. Отсутствие возвращаемых значений - тоже правильно, т.к. LuaMacro их игнорирует. Зато ваше изменение гарантирует приключения в будущем, когда LuaMacro перестанет их игнорировать.
Post Reply

Return to “Полезные макросы и скрипты”