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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » MultiEdit 2008 | Multi-Edit | MEW | mobile

Модерирует : gyra, Maz

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14

Открыть новую тему     Написать ответ в эту тему

Voxor



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

Универсальный "редактор программиста" с собственным макро-языком и впечатляющими возможностями конфигурации и настройки своих средств. Средств, организующих и обеспечивающих комфортную рабочую среду для разработки/сопровождения исходных текстов программ. Программ на десятках языков, от ASM и до LISP. Причём, есть возможность обустройства поддержки языков программирования, отсутствующих в штатном списке.
 
Последняя версия редактора - v11.04 (ME2k8, дата сборки: 28.08.2009).
 
Проект заморожен.

Исторический экскурс

Редактор MULTI-EDIT компании American Cybernetics, Inc., появившийся в 1988г., сразу стал "законодателем моды" в своей области (средства разработки ПО), а представленная в следующем году версия v4.0 произвёла фурор у программистов в СССР.
 
В минимальной комплектации редактор ME4.0 занимет 314945 байт и умещается на одну дискету /360. В такую конфигурацию входят:
  • компилятор макросов (MEMAC.EXE, 37552b),
  • интерпретатор макросов (ME.EXE, 141563b),
  • набор скомпилированных макросов (18 файлов *.MAC, 121140b) и
  • 3 файла поддержки (справка+2конфига, 14690b).
В полной комплектации редактор занимет 653940b и умещается на дискету /720.
 
Фактически, редактор ME4.0 представляет собой не только готовый к пользованию инструмент программиста, но и универсальное шасси для навешивания дополнительных "примочек" (как собственной, так и сторонней разработки). Что и привело в своё время к появлению (публикации) множества всяческих "полезностей" (разных авторов), - работоспособных макросов, облегчающих и украшающих будни программистов в среде MULTI-EDIT.
 
Воцарение "окошек" (M$ Windows), а именно, - появление Win95/WinNT4 дурно отразилось на разработчиках "мультика". Разумеется, "после" не означает "из-за", но анализ и сравнение компонентов редактора (из комплектов поставки) показывает постепенную, но неуклонную деградацию качества разработки/поддержки продукта (в направлении "кто в лес, кто по дрова, а кто просто погулять вышел"). От версии к версии...
 
Тем не менее, в момент прекращения дальнейшего развития этого редактора, то есть в 2009-м году, он так и оставался самым "крутым" в своём сегменте ПО.

Кириллица в редакторе ME2k8

0. С самого начала и вплоть до последнего релиза, в редакторе отсутствует вменяемая поддержка национальных языков, включая кириллицу. Возможные мероприятия по улучшению ситуации:
 
1. Подмена файла c_1252.nls на копию файла c_1251.nls (в C:\WINDOWS\system32\ - частично улучшает обмен через clipboard). Совет от Andrey128.
 
2. Настройка MeConfig.db редактора для правильного ввода/отображения кириллицы в кодировке 866.
 
3. Полная или частичная установка National Language Support (NLS) for Multi-Edit.
NB. Полный пакет, кроме собственно NLS, включает в себя некоторые исправленные или улучшенные системные макросы.

Полезная мелочёвка


~Предыдущий вариант шапки

Всего записей: 430 | Зарегистр. 13-12-2001 | Отправлено: 12:26 18-11-2002 | Исправлено: Maz, 18:07 17-03-2020
Lapochka ili Chai



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Народ, как вы думаете, может, всё дело в MUI?
Я пока не понял, что это за зверь такой -- MUI -- но, судя по названию (multi-language interface) он вроде должен помочь?..

Всего записей: 847 | Зарегистр. 27-11-2003 | Отправлено: 14:06 18-07-2009
NvvLazyTiger



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
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';
т.е. просто нечего "подкрутить".
 
3. Тем не менее, достаточно просто использовать в макросах функции из других dll. Например из kernel32.dll или User32.dll (я их юзаю в NLS4MEW). Но я не системный программист (точнее - не программист вообще;), а в этом WinAPI чёрт колено сломит!
 
4. Иными словами, - если кто-нибудь достаточно понятно распишет "что и как" (в WinAPI) нужно юзать для корректного обмена с буфером (т.е. какие функции откуда импортировать и как оформлять параметры вызовов), то я попробую вструмить CUT/COPY/PASTE до надлежащего состояния...

Всего записей: 262 | Зарегистр. 14-02-2009 | Отправлено: 11:52 19-07-2009
Lapochka ili Chai



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
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).
 
Очевидно, и другие тоже, но я уже больше не экспериментировал, меня и эти  эксперименты убедили.

Всего записей: 847 | Зарегистр. 27-11-2003 | Отправлено: 13:23 19-07-2009 | Исправлено: Lapochka ili Chai, 13:24 19-07-2009
Andy_Condor



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Наткнулся на такую проблему: на англоязычных операционках без MUI русские буквы печатаются какими-то иероглифами. При том, что в региональных настройках для Non-Unicode выбран русский язык. Решил проблему следующим образом: в реестре под ключом HKLM\SYSTEM\CurrentControlSet\Control\Nls\CodePage поменял значение параметра 866 на c_1251.nls и после перезагрузки буквы стали отображаться как надо. Конечно, с досовскими документами уже не поработать, но мне и не нужно.
А не подскажет ли кто, как убрать (полностью) отступ в начале строк? Частенько бывает нужным переключаться в блокнот, и под ME2008 текст, набранный там, не влезает в экран. Чтой-то я такого способа не нашёл.

Всего записей: 87 | Зарегистр. 10-01-2007 | Отправлено: 10:46 07-08-2009
NvvLazyTiger



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Andy_Condor
Цитата:
как убрать (полностью) отступ в начале строк?
Например через поиск+замену (Replace... из меню).
  • Контекст для поиска:
    Код:
    %{@t| }+

  • Контекст для замены - "пусто" (т.е. нет ничего)
  • Тип работы - Regular expression (т.е. "с метасимволами")
  • Можно задать режим Global search и убрать "птичку" в Prompted replace (т.е. "всё и сразу")
NB. Тип регулярных выражений - Classic (т.е. не Unix и не Perl).

Цитата:
Чтой-то я такого способа не нашёл
В Me2k6.chm (2807646b) это есть, а вот в Me2k8.chm (606295b) уже нет, только общие фразы.
 
Но зато там есть Note:
Цитата:
More complete information on the various available Regular Expressions and examples of usage are available in the Multi-Edit 2008 Online Reference Manual at http://wiki.multiedit.com

BTW Нужная страница - Regular Expressions    [MultiEditSoftware]

Всего записей: 262 | Зарегистр. 14-02-2009 | Отправлено: 08:44 08-08-2009
Andy_Condor



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
NvvLazyTiger
Не понял. Или сам плохо объяснил. Лучше повторюсь, дабы быть уверенным, что меня правильно поняли.
Во всех открываемых и создаваемых документах в ME2008 текст в строках начинается со 2-го символа (т. е. 1-й символ строк - отступ). Как сделать так, чтобы документы (как открываемые, так и создаваемые заново) не содержали данного отступа?

Всего записей: 87 | Зарегистр. 10-01-2007 | Отправлено: 06:43 10-08-2009
Andy_Condor



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Перехожу на Windows 7 (En). И столкнулся с неприятным моментом: предыдущий способ избавиться от глюков при использовании кодовой таблицы 1251 не работает. И копирование файла C_1251.nls как C_866.nls тоже не помогло. Что это за глюк и как с ним бороться? Не может же быть, что только у меня ME каракозяболы вместо русских букв выводит.

Всего записей: 87 | Зарегистр. 10-01-2007 | Отправлено: 13:06 10-08-2009
NvvLazyTiger



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
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 редактора и я не уверен в том, что её возможно отключить.
 
 
 

Всего записей: 262 | Зарегистр. 14-02-2009 | Отправлено: 13:21 10-08-2009
Andy_Condor



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
NvvLazyTiger
[x] L:1 C:1.
Понял, жаль, что нельзя.

Всего записей: 87 | Зарегистр. 10-01-2007 | Отправлено: 13:31 10-08-2009
NvvLazyTiger



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
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 );
}
Вставь этот текст в отдельный CheckOemAnsi.s, скомпилируй и запусти. В появившемся окошке должно быть:
Цитата:
DOS - 866
Win - 1251
Если так - нужно "копать" настройки редактора.
Если иначе - настройки системы.
 
?

Всего записей: 262 | Зарегистр. 14-02-2009 | Отправлено: 14:37 10-08-2009
Andy_Condor



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
NvvLazyTiger
Спасибо за участие, я вспомнил как делал раньше (просто, оказывается, не доделал). В реестре правил, как указал выше, а в "Filename Extension" -> txt менял с Auto Detect на MSDOS Text. И, в принципе, всё нормально. Но чего я не могу понять, так как это такой обалденный баг ещё не исправлен производителем. Я столкнулся с ним ещё с полгода назад (давно до тех пор не пользовался ME) на XP (система не локализована и без MUI), но кругом в региональных настройках указано на Россию и русский язык, все проги понимают, а ME - нет (в режиме Auto Detect).

Всего записей: 87 | Зарегистр. 10-01-2007 | Отправлено: 07:21 11-08-2009
Lapochka ili Chai



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

Цитата:
 
Severe Dialog Control Error!
TreeView buffer window for CtrlId 1000 is invalid!

 
Что-то часто оно стало появляться в последнее время при вызове Multi-Edit'a.

Всего записей: 847 | Зарегистр. 27-11-2003 | Отправлено: 18:27 28-09-2009
Lapochka ili Chai



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ага... вот что-то такое нашёл по этой теме:
 
    вот что пишут:
 
Цитата:
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).  А ВОТ ПОСЛЕ ЭТОГО ВСЁ ЗАРАБОТАЛО БЕЗ СБОЕВ!

Всего записей: 847 | Зарегистр. 27-11-2003 | Отправлено: 14:15 04-10-2009
Vadim39



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите, пожалуйста, как средствами CMAC-а поместить строчную переменную в windows clipboard и наоборот.
ЗарСпасБол!

Всего записей: 1117 | Зарегистр. 11-04-2002 | Отправлено: 03:50 22-10-2009
NvvLazyTiger



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
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)...

Всего записей: 262 | Зарегистр. 14-02-2009 | Отправлено: 05:37 24-10-2009
Vadim39



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
NvvLazyTiger
Большое спасибо за ответ, но я - совсем не программист. rm('paste'), если не ошибаюсь, помещает содержимое клипборда под курсор, а мне нужно - в строковую переменную. Можно, конечно, открыть окно, впечатать, и считать, но это как-то не изящно. copy  - то же самое, читает только из окна. Что же касается второго варианта, я просто не понимаю как использовать эти команды в маросе. Если не трудно, приведите, пожалуйста6 пример кода. Скажем:
 
str j = '12345';
что дальше?

Всего записей: 1117 | Зарегистр. 11-04-2002 | Отправлено: 21:31 24-10-2009
NvvLazyTiger



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Vadim39
Цитата:
я - совсем не программист
Я - тоже не... ;)
 
... Но педант и много лет занимаюсь реинженирингом... (reengineering)
 
И точно знаю, - решение проблемы начинается с надлежащего установления - в чём именно она заключается. ;))
 
Без этого (корректный!) результат, скорей всего, не устроит заказчика. Что и наблюдается в нашем случае...;)))
 
Иными словами, - я не в состоянии адекватно интерпретировать возражения:
Цитата:
это как-то не изящно
я просто не понимаю как использовать эти команды в маросе
Т.к. штатные средства и настройки редактора позволяют удовлетворительно работать с буфером обмена винды (windows clipboard).
 
Возможны несколько вариантов:
  1. это какое-то задание из теста/контрольной_работы/etc. - в этом случае необходимо обозначить факт и привести (полностью!) соответствующий фрагмент задания (желательно - сопутствующие требования/ограничения и т.п.);
  2. это проблема выполнения какой-то штатной работы - необходимо описать эту работу и место проблемы в ней;
  3. это проблема изучения/освоения CMAC - необходимо обозначить факт и указать цели/задачи такого освоения;
  4. иное - что?
Без указанного уточнения любой результат останется в категории "прокукарекал, а там - хоть не рассветай!". А мне не нравится оказаться в оной категории (даже если это "не трудно")... :-|

Всего записей: 262 | Зарегистр. 14-02-2009 | Отправлено: 02:36 25-10-2009
Vadim39



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

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

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

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

Всего записей: 1117 | Зарегистр. 11-04-2002 | Отправлено: 05:45 25-10-2009
NvvLazyTiger



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ok, Vadim39, с областью определились. ;)
Теперь [потребно] собственно описание среды/окружения искомого действия. Бо одно и то же можно сделать разными способами...
 
Иными словами - сама по себе переменная никому не интересна. Т.е. как именно надлежит её заполнять/использовать зачение из буфера винды (её посредством)?

Всего записей: 262 | Зарегистр. 14-02-2009 | Отправлено: 06:17 25-10-2009
Lapochka ili Chai



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Господа!
такая вот на вид простая проблема:
 
установил я второй монитор (или изменил ориентацию 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 глобально. Где у него глобальные настройки, кто знает?
 

Всего записей: 847 | Зарегистр. 27-11-2003 | Отправлено: 15:41 02-11-2009
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14

Компьютерный форум Ru.Board » Компьютеры » Программы » MultiEdit 2008 | Multi-Edit | MEW | mobile


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru