Ru-Board.club
← Вернуться в раздел «Программы»

» Multi-Edit 8.x, 9.x, ... , Multi-Edit 2006, 2008

Автор: Lapochka ili Chai
Дата сообщения: 18.07.2009 13:06
Народ, как вы думаете, может, всё дело в MUI?
Я пока не понял, что это за зверь такой -- MUI -- но, судя по названию (multi-language interface) он вроде должен помочь?..
Автор: NvvLazyTiger
Дата сообщения: 19.07.2009 10:52
Lapochka ili Chai, - не ответ, но мысли вслух (в связи;).

1. Я не помню проблем в обмене "другие программы -> ME". Обратно почти всегда крокозябры. Однако, обмен с FAR (в обе стороны) работает всегда (у меня). Поэтому из ME я отправляю контекст через FAR. Тупо, конечно, но достаточно для...

2. Для обмена с буфером в ME используется вызовы из собственного MeLib.dll
Код: import Word Win3_Copy( )
MeLib 'Win3_Copy';

import Word Win3_Paste( )
MeLib 'Win3_Paste';

import Word Win3_Clipboard( )
MeLib 'Win3_Clipboard';
Автор: Lapochka ili Chai
Дата сообщения: 19.07.2009 12:23
NvvLazyTiger
последующий опыт работы на новом компьютере показывает, что это связано скорее не с Multi-Edit, а с чем-то более фундаментальным, поскольку такое поведение проявляется и с другими приложениями:


(1) В приложении "А" выделяем текст и копируем его: Ctrl-C;
(2) При этом выбрана раскладка клавиатуры "RU" или "EN";
(3) В другом приложении "Б" пастим (вставляем) текст из буфера: Ctrl-V.

На новом компе всё происходит нормально, если раскладка в (2) выбрана "RU". Если же "EN" -- то пастятся кракозябры вместо русских букв (латиница и цифры пастятся нормально).

На старом компе всё происходит норамально всегда независимо от выбора RU/EN в (2).

В качестве приложений "А" и "Б" могут выступать любые из приложений:
1. Multi-Edit;
2. Notepad;
3. Acronis True Image Home;
4. Свойства файла (rightclick в Виндоусe).

Очевидно, и другие тоже, но я уже больше не экспериментировал, меня и эти эксперименты убедили.
Автор: Andy_Condor
Дата сообщения: 07.08.2009 09:46
Наткнулся на такую проблему: на англоязычных операционках без MUI русские буквы печатаются какими-то иероглифами. При том, что в региональных настройках для Non-Unicode выбран русский язык. Решил проблему следующим образом: в реестре под ключом HKLM\SYSTEM\CurrentControlSet\Control\Nls\CodePage поменял значение параметра 866 на c_1251.nls и после перезагрузки буквы стали отображаться как надо. Конечно, с досовскими документами уже не поработать, но мне и не нужно.
А не подскажет ли кто, как убрать (полностью) отступ в начале строк? Частенько бывает нужным переключаться в блокнот, и под ME2008 текст, набранный там, не влезает в экран. Чтой-то я такого способа не нашёл.
Автор: NvvLazyTiger
Дата сообщения: 08.08.2009 07:44
Andy_Condor
Цитата:
как убрать (полностью) отступ в начале строк?
Например через поиск+замену (Replace... из меню). Контекст для поиска:
Код: %{@t| }+
Автор: Andy_Condor
Дата сообщения: 10.08.2009 05:43
NvvLazyTiger
Не понял. Или сам плохо объяснил. Лучше повторюсь, дабы быть уверенным, что меня правильно поняли.
Во всех открываемых и создаваемых документах в ME2008 текст в строках начинается со 2-го символа (т. е. 1-й символ строк - отступ). Как сделать так, чтобы документы (как открываемые, так и создаваемые заново) не содержали данного отступа?
Автор: Andy_Condor
Дата сообщения: 10.08.2009 12:06
Перехожу на Windows 7 (En). И столкнулся с неприятным моментом: предыдущий способ избавиться от глюков при использовании кодовой таблицы 1251 не работает. И копирование файла C_1251.nls как C_866.nls тоже не помогло. Что это за глюк и как с ним бороться? Не может же быть, что только у меня ME каракозяболы вместо русских букв выводит.
Автор: NvvLazyTiger
Дата сообщения: 10.08.2009 12:21
Andy_Condor
Цитата:
Во всех открываемых и создаваемых документах в ME2008 текст в строках начинается со 2-го символа (т. е. 1-й символ строк - отступ). Как сделать так, чтобы документы (как открываемые, так и создаваемые заново) не содержали данного отступа?
Ok. Создаём новый документ (Ctrl+N). Что значится в указателе позиции курсора в правом нижнем углу экрана (перед индикаторами 'Ins' 'Caps' 'Num')?
Цитата:
[x] L:1 C:2
Или таки "1"?

Если "2" - я пас, бо такого поведения можно добиться целенаправленными настройками с привлечением макросов. Т.е. разбираться нужно "по месту".;)

Если же таки "1" - то то, что ты называешь "отступ", - это изобретение разработчиков (left border шириной в одно знако-место), появившееся в виндовских версиях редактора и предназначенное для разных отметок, конкретных строк касаемо ('Line changed', 'mark(s)', etc.). Т.е. это часть GUI редактора и я не уверен в том, что её возможно отключить.



Автор: Andy_Condor
Дата сообщения: 10.08.2009 12:31
NvvLazyTiger
[x] L:1 C:1.
Понял, жаль, что нельзя.
Автор: NvvLazyTiger
Дата сообщения: 10.08.2009 13:37
Andy_Condor
Цитата:
ME каракозяболы вместо русских букв выводит
Для начала нужно определиться с настройками системы. Вот простой макрос:
Код: #include StdDlgs.sh
import INT GetOEMCP( ) kernel32 'GetOEMCP'; // =866 for cyrillic (DOS)
import INT GetACP( ) kernel32 'GetACP'; // =1251 for cyrillic (Window 3.1)
Void CheckOemAnsi { // Shows Systems OEM(Cyr=866) & ANSI(Cyr=1251) CodeTables
MsgDlg( "DOS - " + str( GetOEMCP()) + "\\nWin - " + str( GetACP()),
"NLS Check, CodeTables:", "", 0 );
}
Автор: Andy_Condor
Дата сообщения: 11.08.2009 06:21
NvvLazyTiger
Спасибо за участие, я вспомнил как делал раньше (просто, оказывается, не доделал). В реестре правил, как указал выше, а в "Filename Extension" -> txt менял с Auto Detect на MSDOS Text. И, в принципе, всё нормально. Но чего я не могу понять, так как это такой обалденный баг ещё не исправлен производителем. Я столкнулся с ним ещё с полгода назад (давно до тех пор не пользовался ME) на XP (система не локализована и без MUI), но кругом в региональных настройках указано на Россию и русский язык, все проги понимают, а ME - нет (в режиме Auto Detect).
Автор: Lapochka ili Chai
Дата сообщения: 28.09.2009 17:27
Народ!
не сталкивались ли вы с таким сообщением:

Цитата:

Severe Dialog Control Error!
TreeView buffer window for CtrlId 1000 is invalid!


Что-то часто оно стало появляться в последнее время при вызове Multi-Edit'a.
Автор: Lapochka ili Chai
Дата сообщения: 04.10.2009 13:15
ага... вот что-то такое нашёл по этой теме:

вот что пишут:

Цитата:
This Severe Dialog Control Error is caused by a corrupt MeFind0.tmp or MeFind1.tmp file. You can clear this by bringing up the find list and clicking on the right arrow menu button and then select the Clear All entry. Alternately, if necessary you can find and delete these files which are normally in the <ME_INSTALL>\Config\Tmp directory unless you have changed the location of your Tmp directory, which you can find/change under Tools | Customize... Files | Autosave.

These files most often get corrupted after doing a file search in binary files.


Щас опробую!

Если получится, то опишусь сюда!

Добавлено:
Всё работает!
У меня некоторые сессии были поражены этой бедой. И мне удалось вычистить эти сессии от этой беды! Я делал так:

1) [alt-F] [G] вызывал заражённую бедой сеccию;
2) [crtl-G] вызывал список предыдущего поиска файлов;
3) мышкой очистил его (правый клик и т. д.).

Но вот это как раз ничего не дало -- беда появилась снова.

Тогда я нашёл папку, где сохраняются autosave (сделать это можно через Tools | Customize... Files | Autosave ) и стёр все имеющиеся там файлы (благо они все имели расширение tmp). А ВОТ ПОСЛЕ ЭТОГО ВСЁ ЗАРАБОТАЛО БЕЗ СБОЕВ!
Автор: Vadim39
Дата сообщения: 22.10.2009 02:50
Подскажите, пожалуйста, как средствами CMAC-а поместить строчную переменную в windows clipboard и наоборот.
ЗарСпасБол!
Автор: NvvLazyTiger
Дата сообщения: 24.10.2009 04:37
Vadim39
Цитата:
как средствами CMAC-а поместить строчную переменную в windows clipboard и наоборот
Проще всего - используя системные макросы 'Cut' & 'Paste' (см. Paste.sh).
Второй вариант - посредством импорта/вызовов соответствующих функций из MeLib.Dll (см. MeLib.sh):
Цитата:
import Word Win3_Copy( )
MeLib 'Win3_Copy';

import Word Win3_Paste( )
MeLib 'Win3_Paste';
Третий - посредством импорта/вызова функций прямо из *.Dll WinAPI.

У меня руки не дошли разобраться с третьим вариантом, а в первом и втором - Win3_Copy работает с кириллицей кривовато (что-то нужное не устанавливает при заполнении clipboard)...
Автор: Vadim39
Дата сообщения: 24.10.2009 20:31
NvvLazyTiger
Большое спасибо за ответ, но я - совсем не программист. rm('paste'), если не ошибаюсь, помещает содержимое клипборда под курсор, а мне нужно - в строковую переменную. Можно, конечно, открыть окно, впечатать, и считать, но это как-то не изящно. copy - то же самое, читает только из окна. Что же касается второго варианта, я просто не понимаю как использовать эти команды в маросе. Если не трудно, приведите, пожалуйста6 пример кода. Скажем:

str j = '12345';
что дальше?
Автор: NvvLazyTiger
Дата сообщения: 25.10.2009 02:36
Vadim39
Цитата:
я - совсем не программист
Я - тоже не... ;)

... Но педант и много лет занимаюсь реинженирингом... (reengineering)

И точно знаю, - решение проблемы начинается с надлежащего установления - в чём именно она заключается. ;))

Без этого (корректный!) результат, скорей всего, не устроит заказчика. Что и наблюдается в нашем случае...;)))

Иными словами, - я не в состоянии адекватно интерпретировать возражения:
Цитата:
это как-то не изящно
я просто не понимаю как использовать эти команды в маросе
Т.к. штатные средства и настройки редактора позволяют удовлетворительно работать с буфером обмена винды (windows clipboard).

Возможны несколько вариантов: это какое-то задание из теста/контрольной_работы/etc. - в этом случае необходимо обозначить факт и привести (полностью!) соответствующий фрагмент задания (желательно - сопутствующие требования/ограничения и т.п.);
это проблема выполнения какой-то штатной работы - необходимо описать эту работу и место проблемы в ней;
это проблема изучения/освоения CMAC - необходимо обозначить факт и указать цели/задачи такого освоения;
иное - что?Без указанного уточнения любой результат останется в категории "прокукарекал, а там - хоть не рассветай!". А мне не нравится оказаться в оной категории (даже если это "не трудно")... :-|
Автор: Vadim39
Дата сообщения: 25.10.2009 05:45

Цитата:
Возможны несколько вариантов:
c. цели: я часто использую ме в качестве вызываемого модуля из программы верстки, чтобы рассчитать, например, размеры и положение окошек и т.д. Знаю, что это далеко не лучший способ. Просто привык к нему и нет сил/возможностей остваивать perl vb и т.п.


Цитата:
я не в состоянии адекватно интерпретировать возражения:

Никаких возражений не было. А было, наоборот, одно большое спасибо, которое станет еще больше, если мне подскажут на примере маленького кусочка кода (в cmac-е), как использовать функции "import Word Win3_Copy( ) " и "import Word Win3_Copy( ) ", чтобы содержимое windows clipboard попало в строковую переменную и наоборот, содержимое строковой переменной попало в windows clipboard.




Автор: NvvLazyTiger
Дата сообщения: 25.10.2009 06:17
Ok, Vadim39, с областью определились. ;)
Теперь [потребно] собственно описание среды/окружения искомого действия. Бо одно и то же можно сделать разными способами...

Иными словами - сама по себе переменная никому не интересна. Т.е. как именно надлежит её заполнять/использовать зачение из буфера винды (её посредством)?
Автор: Lapochka ili Chai
Дата сообщения: 02.11.2009 14:41
Господа!
такая вот на вид простая проблема:

установил я второй монитор (или изменил ориентацию 2-го (или 1-го) монитора с горизонтальной на вертикальную или и т. д.), и вот такая появилась беда: как только я хочу СОХРАНИТЬ ФАЙЛ КАК (Ctrl-F2), так сразу окошко диалога (мол под каким именем сохранить и т. д.) возникает в неохваченной мониторами области, т.е. оно теперь невидимо!!!

Где -- в каких ini-файлах? или в реестре? или в диалогах настроек? -- где можно спасти эту ситуацию?

Похожая ситаёвина уже была у меня:
были проблемы со старыми сессиями Multi-Edit на новой конфигурации мониторов
а именно: на новой конфигурации мониторов (после перемены мест двух мониторов) наблюдалась противная аномалия: проблемы при поиске: окошко поиска, вызываемое по F5, находится где-то далеко вне пределов экранов мониторов и вне досягаемости. (не удаётся переместить его, т.к. кнопа на клаве, равносильная правой кнопе мыши, не вызывает меню "переместить", а мышью это окно тоже не достать, т.к. мышь живёт в пределах экранов мониторов, а окно находится вне.

Я тогда справился таким способом:
я заметил, что эта проблема касается только работы со старыми сессиями Multi-Edit. При вызове на редакию файла вне сессии (вне старой сессии) F5 создаёт окно в досягаемом месте.

И я тогда
1. заходил в сессии -- папка ...\MEW sessions\
2. находил сессии, в которых есть SESS_BY_NAME -- это поименованные сессии
3. находил интересующую меня сессию
4. находил фрагмент:
/G_STR=SEARCHTABDLGPOS
/XPOS=-529/YPOS=108
5. менял его на фрагмент:
/G_STR=SEARCHTABDLGPOS
/XPOS=1/YPOS=108
и после этого всё начинало работать.

А теперь дело касается не сессий, а всего MEW 2006 глобально. Где у него глобальные настройки, кто знает?

Автор: NvvLazyTiger
Дата сообщения: 09.11.2009 10:33
Lapochka ili Chai
Цитата:
касается не сессий, а всего MEW 2006 глобально. Где у него глобальные настройки
Глобальные настройки размещаются в MeConfig.db.

Исходные настройки находятся здесь: <me_path>Defaults\

Место размещения текущих настроек можно выяснить макросом:
Код: macro Tst { make_message ( user_path() ); }
Автор: Lapochka ili Chai
Дата сообщения: 10.11.2009 10:54
NvvLazyTiger
Вот спасибо!
Осбенно мне понравилось, как окошко под названием "Save As" подобно океанскому лайнеру выплыло из-за правой границы правого монитора и спокойно пришвартовалось в бухте левого монитора!!!
Автор: and3081
Дата сообщения: 11.11.2009 15:05
MeL 2008 11.04
Обнаружен такой косячок:
Кодировка OEM, Linedraw работает нормально, paste символа из таблицы ascii тоже. А вот набор по Alt+210, к примеру, ставит символ ansi, а не oem. Т.е.квазиграфику по быстрому не поставить. А выбор из ascii на 2 кнопки дольше

В lite нет калькулятора

Вопрос по template- в dos me 4.0 макросы template позволяли обрабатывать соседние слова и использовать их в развертывании. А в MEL такого не нашел. Т.е.в диалоге настройки template по кнопке Metacommands очень бедный перечень. Эта возможность вообще убрана из me 2006 и 2008 ? Или она просто не доступна в стандартном диалоге и надо лезть в макросы ? Это было удобно для оформления описания (шапки) для функций/процедур.

Кроме того,
ME 4.0 можно было набирать i r1=1 <AltF9>, будет
if r=1
endif
Т.е.срабатывание было по первому слову.
А в MEL 11.04 AltF9 срабатывает только сразу после "i", остальной текст надо набивать потом.

Добавлено:
Ищо косячок ME 11.04

записанные макросы зависимы от раскладки, т.е. при включенном EN макрос выполнится например как ".and.", а при включенном RU получится "юфтвю". Неудобно.
Автор: Andrey128
Дата сообщения: 08.12.2009 06:21
Windows 7 (ru), Multi-Edit 2008 (11.02)
Открываю файл с русскими символами (Win1251) - все нормально вижу.

В английской раскладке копирую/вставляю через буфер русский текст:
1. Multi-Edit -> Notepad получаю "&#194;&#224;&#241;&#255; &#207;&#243;&#239;&#234;&#232;&#237;"
2. Notepad -> Multi-Edit получаю "???? ??????"

А если перед копированием переключиться на русскую раскладку, то все нормально.
Следить за раскладкой как-то не хочется.
Как это вылечить?
Автор: Lapochka ili Chai
Дата сообщения: 08.12.2009 21:57
Andrey128

Цитата:
В английской раскладке копирую/вставляю через буфер русский текст:
........

А если перед копированием переключиться на русскую раскладку, то все нормально.


У меня на двух компах такая же история, а на третьем всё нормально.
На первых двух компах ОС = Win XP SP3 homemade, причём, вероятно, как-то не оч. хорошо русифицированная, т.к. данный косяк проявляется не только в MEW, но и во многих других прогах.

На третьем компе стоит лиц. Win XP Media Ed изначально русская. Все копипасты во всех прогах работают прекрасно (в т.ч., и в MEW).

Отсюда я делаю вывод, что в моём случае виновата ОС, а не MEW.

Что насчёт Уникода -- есть он в MEW-2008?
Кто знает?

MEW-2006 умеет только конвертировать из Уникода в ANSI.
Автор: Andrey128
Дата сообщения: 09.12.2009 04:56
Lapochka ili Chai

Цитата:
Что насчёт Уникода -- есть он в MEW-2008?

В MEW2008 в Customize появилась ветка Unicode (хотя возможно она была и ранее), там можно поставить такие крыжики:
[x] Translate UTF-X to -> [ANSI/OEM/UTF-8]
Насколько я понял, на работу с буфером обмена влияние не оказывает.
Автор: Lapochka ili Chai
Дата сообщения: 09.12.2009 09:16
Andrey128
Нет, это не работа лично с самим уникодом, а это трансляция из уникода в ANSI. Такая трансляция всегда необратимая.

К сожалению, я не могу работать с уникодовскими файлами в MEW, так что для таких файлов мне приходится использовать Notepad, как бы он ни был неудобен.

Но это не имело отношения к Вашему вопросу, это был мой вопрос, он интересовал только меня (иногда веб-странички сохраняются в уникоде, и потому в сырцах нечитабельны, поэтому я перевожу их в ANSI с помощью Notepad'a).

По Вашему же вопросу я думаю, что виноват не MEW, а криво русифицроваанный Виндоус.
У меня на двух машинах такой Виндоус, так что я прекрасно знаю, что такое глюки копипасты -- у меня они происходят точно так, как Вы и описывате.
Но эта беда не только с MEW, но и с некоторыми (со многими) другими программами на данных Виндоусах.

На третьем моём компе стоит другой Виндоус, и копипаста работает прекрасно во всех без исключения ситуациях.
Автор: Andrey128
Дата сообщения: 11.12.2009 13:36
Проблемы копипаста MEW -> Notepad (и обратно) русского текста на английсткой раскладке решил путем копирования файла C_1251.nls в C_1252.nls (инструкция).
Автор: Lapochka ili Chai
Дата сообщения: 21.12.2009 21:22
Andrey128
Класс, заработало!

То есть страдал не только Мультиэдитор, а все программы, не понимающие Уникода.
Теперь всё работает -- копипастит нормально в любом режиме!
Спасибо!
Автор: NvvLazyTiger
Дата сообщения: 17.01.2010 01:26
Спасибо, Andrey128!

Я включу это решение (в дополнениях и благодарностях;) в пакет nls4mew.

Страницы: 12345678

Предыдущая тема: Файлы с расширением *.img и *.dmg, чем их открыть?!


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.