Исправление некорректного юникода из буфера обмена

Здесь обсуждается всё, что касается макросов.
User avatar
CyBear
Posts: 17
Joined: Thu 02 Dec, 2010 05:46
Location: Братск
Has thanked: 5 times
Contact:

Исправление некорректного юникода из буфера обмена

Post by CyBear »

Здравствуйте.

Сошлюсь на закрытый инцидент на баг трекере, где есть описание вопроса и ответ модератора
http://bugs.farmanager.com/view.php?id=2447

В двух словах:
Прошу разъяснить, как посредством макросов в FAR3.0 можно реализовать вставку-конвертацию юникод-текста из буфера обмена в редактор FAR3.0 при любой активной раскладке (ENG/RU) FAR3.0

Спасибо.
User avatar
DrKnS
Posts: 6114
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 12 times
Been thanked: 426 times

Re: Вставка текста из буфера и обработка результата макросом

Post by DrKnS »

Открыть редактор, переключиться на 1252 кодовую страницу по ShiftF8, вставить текст, переключиться на 1251.
2useven10
Posts: 5192
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 309 times

Re: Вставка текста из буфера и обработка результата макросом

Post by 2useven10 »

в комстроке такой трюк не сработает.
можно перекодировать содержимое буфера обмена до вставки, тогда будет работать везде.
User avatar
CyBear
Posts: 17
Joined: Thu 02 Dec, 2010 05:46
Location: Братск
Has thanked: 5 times
Contact:

Re: Вставка текста из буфера и обработка результата макросом

Post by CyBear »

DrKnS wrote:Открыть редактор, переключиться на 1252 кодовую страницу по ShiftF8, вставить текст, переключиться на 1251.
спасибо. работает.
2useven10
Posts: 5192
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 309 times

Исправление некорректного юникода из буфера обмена

Post by 2useven10 »

как то так ...
Оптимизированная версия с перекодированием выделенного текста:
файл надо положить в %FARPROFILE%\Macros\scripts и перезапустить фар. вставка с коррекцией по Ctrl-V, должно работать и в комстроке и в редакторе.
Last edited by 2useven10 on Tue 07 Nov, 2017 10:52, edited 1 time in total.
User avatar
CyBear
Posts: 17
Joined: Thu 02 Dec, 2010 05:46
Location: Братск
Has thanked: 5 times
Contact:

Re: Вставка текста из буфера и обработка результата макросом

Post by CyBear »

2useven10 wrote:...можно перекодировать содержимое буфера обмена до вставки...
вы не могли бы привести (если таковые существуют) плагины к FAR для этих целей?
или вы рекомендуете использовать не FAR3, а другие программы? (если есть что-то на примере, приведите список пожалуйста).
User avatar
CyBear
Posts: 17
Joined: Thu 02 Dec, 2010 05:46
Location: Братск
Has thanked: 5 times
Contact:

Re: Вставка текста из буфера и обработка результата макросом

Post by CyBear »

2useven10 wrote:как то так ...
...вставка с коррекцией по Ctrl-V...
большое спасибо за обстоятельное решение вопроса. всё отлично работает.

один нюанс - как дополнить ваш код для альтернативной комбинации вставки по Shift+Insert (дело привычки)?
я недавно на FAR3.0 прешёл и совершенно не знаком с синтаксисом языка Lua, который использует FAR3.0
2useven10
Posts: 5192
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 309 times

Re: Вставка текста из буфера и обработка результата макросом

Post by 2useven10 »

Замените в макросе "CtrlV" на "ShiftIns", или "ShiftIns CtrlV"
User avatar
CyBear
Posts: 17
Joined: Thu 02 Dec, 2010 05:46
Location: Братск
Has thanked: 5 times
Contact:

Re: Вставка текста из буфера и обработка результата макросом

Post by CyBear »

2useven10 wrote:Замените в макросе "CtrlV" на "ShiftIns", или "ShiftIns CtrlV"
спасибо.

кстати, это не кривой софт. просто таковы реалии были на то время (ну работало оно всё так), вложением скрин "О Программе" софтины.
сейчас то понятно оно совсем не так уже всё (
год 1996ой :D

ещё раз спасибо.
Attachments
Oracle Forms 6
Oracle Forms 6
Image1.png (7.09 KiB) Viewed 10887 times
User avatar
zg
zero-gravity
Posts: 6015
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 185 times
Contact:

Re: Вставка текста из буфера и обработка результата макросом

Post by zg »

CyBear wrote:кстати, это не кривой софт.
это именно кривой софт.
LAT
Posts: 343
Joined: Thu 21 Jan, 2010 20:00
Has thanked: 22 times
Been thanked: 39 times

Re: Вставка текста из буфера и обработка результата макросом

Post by LAT »

Проблема с некоторыми (всеми?) такими кривыми программами лечится правкой реестра:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage]
"1250"="c_1251.nls"
"1251"="c_1251.nls"
"1252"="c_1251.nls"
"1253"="c_1251.nls"
Возможно, достаточно будет поправить только параметр "1252"
2useven10
Posts: 5192
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 309 times

Re: Вставка текста из буфера и обработка результата макросом

Post by 2useven10 »

кривые, возможно, будут работать после этого, но будут проблемы с нормальными.
вместо одной кривизны будет две.
User avatar
Smitis
Posts: 1709
Joined: Fri 18 Mar, 2005 12:51
Location: Питер
Has thanked: 23 times
Been thanked: 55 times

Re: Вставка текста из буфера и обработка результата макросом

Post by Smitis »

LAT wrote:Проблема с некоторыми (всеми?) такими кривыми программами лечится правкой реестра:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage]
"1250"="c_1251.nls"
"1251"="c_1251.nls"
"1252"="c_1251.nls"
"1253"="c_1251.nls"
Возможно, достаточно будет поправить только параметр "1252"
Начиная с Висты уже не лечится. Только заменой файлов nls
Разум когда-нибудь победит.
LAT
Posts: 343
Joined: Thu 21 Jan, 2010 20:00
Has thanked: 22 times
Been thanked: 39 times

Re: Вставка текста из буфера и обработка результата макросом

Post by LAT »

2useven10 wrote:кривые, возможно, будут работать после этого, но будут проблемы с нормальными.
Кажется, там могут возникнуть проблемы с текстами на языках, отличных от русского и английского. Но (лично мне :)) для работы это ни разу не потребовалось. Зато не нужно шаманить при копировании/вставки текста между кривыми и нормальными приложениями, а также между разными окнами кривых приложений.
LAT
Posts: 343
Joined: Thu 21 Jan, 2010 20:00
Has thanked: 22 times
Been thanked: 39 times

Re: Вставка текста из буфера и обработка результата макросом

Post by LAT »

Smitis wrote:Начиная с Висты уже не лечится. Только заменой файлов nls
Для висты/семерки как-то так: http://my-soft-blog.net/549-krjakozjabl ... sta_7.html. Но сам не пробовал.
Post Reply

Return to “Обсуждение макросов”