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

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

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

Widok (19-04-2006 13:43): лимит страниц. переезжаем сюда.  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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

   

vito333



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mark -  небольшой удобный редактор
v0.9z от 9 апреля 2006 г.  
-----------------------------------------
  (скриншот - 73кб, архив программы - ~60кб )
  • точное автоопределение кодировок UTF-16LE, UTF-8, DOS, windows 1251, KOI8r;
  • MDI
  • поддержка unicode (UTF-16LE), UTF-8;
  • возможность открытия и сохранения документов в любой, доступной в системе, кодовой странице;
  • маленький размер (уже раздулся, правда, немного )) - не более 60 кб;
  • корректно отображает псевдографику и кириллицу в файлах DOS и КОИ8р (напр. с Courier New);
  • настраиваемые хоткеи;
  • поиск по regular expressions;
  • русско-английский интерфейс;
  • список 20 последних открывавшихся файлов;
  • приличный вид
  • работа с файлами WIN(DOS)/UNIX;
  • возможность написания/подключения плагинов;
  • ещё много других полезных, приятных и удобных мелочей.
    ----------------------------------------
    OS: win2k, XP и выше.
    ----------------------------------------
    http://vito.rbcmail.ru/Mark.zip  ~ 60 кб
    Некоторые антивирусы могут ругнуться, но вирусов в архиве нет!
    EXE упаковывается разными пакерами и из-за этого бывает такое.
    http://vito.rbcmail.ru/Mark_Upxed.zip - упакованный UPX  
    http://vito.rbcmail.ru/MarkPEC.zip - упакованный PECompact (обновляются реже; не должны волновать антивири).
     
    Плагины - помещать в папку Plugins_   (с подчеркиванием!)
    чтобы не засорять шапку, описание плагинов - тут: Подробнее...
    -------------------------------------------------
    ПОСМОТРИТЕ, ПОРУГАЙТЕ, ПРЕДЛОЖИТЕ.
    -------------------------------------------------
    PluginSDK http://vito.rbcmail.ru/PluginSDK.zip  ~ 8 кб.
    утилита очистки реестра от записей старого MRU (до v 0.9b): http://vito.rbcmail.ru/MRUcleaner.zip
    билиотеки ричедита (чтобы "Отмена" не прерывалась после сохранения файла):
    для Windows 2000 - http://vito.rbcmail.ru/Libs/W2k_dll.zip
    для Windows ХР    - http://vito.rbcmail.ru/Libs/XP_dlls.zip
    запустите самораспаковывающийся архив и скопируйте распакованные файлы в папку Mark-а.
     
    Баги
    1) Все еще при вызове диалога печати остаются следы от него.

  • Всего записей: 3322 | Зарегистр. 13-05-2002 | Отправлено: 20:05 03-11-2004 | Исправлено: zep, 01:42 13-04-2006
    zep



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

    Цитата:
    Нет единообразной таблицы транслита

    В программе Shtirlitz можно выбирать аж из десяти штук  

    Всего записей: 2500 | Зарегистр. 03-10-2001 | Отправлено: 02:59 13-04-2006
    ALeXkRU



    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    zep
    02:59 13-04-2006
    Цитата:
    В программе Shtirlitz можно выбирать аж из десяти шту

    ага.. а еще можно добавлять свои, использовать совместно  

    Всего записей: 11796 | Зарегистр. 03-12-2003 | Отправлено: 03:12 13-04-2006
    OdesitVadim



    Advanced Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Улучшил немного плагин. Стал декодировать тексты, взятые с различных форумов практически идеально (читается непринуждённо). Плагин делает анализ на основании особенностей русского языка и подменяет буковки так, чтобы "было по правилам".
    Правда некоторые "извращенства" я не собираюсь поддерживать, так как это превратиться в "бред" в прямом смысле слова. К примеру вот текст, который пришёл мне в смс от одной знакомой

    Цитата:
     
    BADIM, 3AYDI CEГОDHR
     

    (на некоторых телефонах есть буковка Г, а также Д в виде греческой дельты)
    Прочитать текст можно, но декодировать
     
    Думаю добавить проверку на некоторые слова, которые не нужно декодировать - Borland, Microsoft...
    сейчас сайтик настрою и выложу ссылку, то на рапиду вылаживать как то некраиво

    ----------
    Press any key to continue or any other key to exit
    Пишите так, чтобы не было стыдно за нобелевскую премию.

    Всего записей: 1568 | Зарегистр. 19-09-2003 | Отправлено: 13:16 13-04-2006
    vito333



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    сейчас думаю, как хоткеи на плагины сделать, так вот вопрос - какие по умолчанию хоткеи на плагины сделать? напоминаю, плагинов м.б. до 20

    Всего записей: 3322 | Зарегистр. 13-05-2002 | Отправлено: 15:52 13-04-2006
    OdesitVadim



    Advanced Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    vito333
    Вариат А) Плагин сам с помощью спец.функции регит себе горячую клавишу.
    Вариант Б) Делаем окошко, в котором перечислен список плагинов. Сбоку кнопки "Удалить плагин", "Настройка", окошко для ввода хоткея. Двойной клик по плагину - вызывается окно растроек плагина (эта функциональность уже заложена в Mark).  
     
    Добавлено:
    Наконец сделал маленький сайтик по плагинам. http://www.midav.land.ru/
    Ох и намучился я с этим почта.ру. Упорно пытаются засунуть свой банер, в конец добавляют кучу кода для защиты банера. Но мы лёгких путей не ищем, "обошли". В кавычках, потому что это произошло случайно. Вначале хотел добиться, чтобы он нормально отображался,но он упорно сопротивлялся. Теперь в Opera и FireFox всё нормально, кроме того, что под менюшкой выдны остатки банера. В Explorer ещё выпадающий список посредь екрана....

    ----------
    Press any key to continue or any other key to exit
    Пишите так, чтобы не было стыдно за нобелевскую премию.

    Всего записей: 1568 | Зарегистр. 19-09-2003 | Отправлено: 16:15 13-04-2006
    vito333



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    исправь "О мне" на "Обо мне"
     
    Добавлено:
    дизайн приятный - простой и наглядный, мне нравится.

    Всего записей: 3322 | Зарегистр. 13-05-2002 | Отправлено: 17:26 13-04-2006
    OdesitVadim



    Advanced Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Исправился. Если с чем-то не согласен или есть предложения - пиши в ПМ.  
    Shivadest и другие, кто напишет плагины. Если вы хотите, чтобы я добавил их на сайт - стучитесь в ПМ.

    ----------
    Press any key to continue or any other key to exit
    Пишите так, чтобы не было стыдно за нобелевскую премию.

    Всего записей: 1568 | Зарегистр. 19-09-2003 | Отправлено: 17:55 13-04-2006
    ShIvADeSt



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

    Цитата:
    сейчас думаю, как хоткеи на плагины сделать, так вот вопрос - какие по умолчанию хоткеи на плагины сделать? напоминаю, плагинов м.б. до 20

    добавляется след функция прототип
    function GetHotKey(WndHandle:HWND; var HKAtom:LPWSTR):DWORD;cdecl;
    begin
    Result:=0; // если не нужна горячка иначе 1
    HKAtom:='MyCoolPlugin';
    RegisterHotKey(WndHandle,GlobalAddAtom(HKAtom),MOD_CONTROL,VK_F10);
    // мы добавили Атом для того чтобы можно было зарегить горячку, если результ=1
    кстати в этом случае горячка будет общесистемная, то есть по всей винде, если вместо хэндла сделать ноль и еще лучше регистрацию горячек засунуть в сам марк, то будет локальный хоткей.
    end;
     
    итак горячка зарегена, теперь по атому мы делаем сопоставление реального плагина и атома, чтобы знать какой плагин вызывть
    то есть Атом1 - плагин 1 и так далее
    в основной функции марка в сообщении WM_HOTKEY:
    делается по циклу проверка всех атомов, которые зарегили плагины
    if wParam=GlobalFindAtom(HKAtom) then вызываем соотв плагин, HKAtom перебираем из нашей таблицы атомов, которую заполняем при вызове каждого плагина.
     
    Думаю идея понятна, реализация достаточно проста, немного кода и у нас уже есть плагины, которые реагируют на свои горячки.

    ----------
    И создал Бог женщину... Существо получилось злобное, но забавное...

    Всего записей: 3956 | Зарегистр. 29-07-2003 | Отправлено: 02:19 14-04-2006
    OdesitVadim



    Advanced Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    А что будет, если два плагина попытаются зарегить одну и ту же горячую клавишу? И каждий с них (плагин или разработчик) будет уверен, что это именно та клавиша, что нужно? Бардак!
    Предлагаю, что бы плагин "рекомендовал" клавишу, а уже пользователь с марка розруливал в случае чего. А то программисту кажеться, что здесь будет удобна такая-то клавиша, а на самом деле совсем другая.

    Цитата:
    напоминаю, плагинов м.б. до 20

    Так поделим плагины на группы. Группы могут быть следующие "Правка", "Выделеный текст" (сюда оба мои плагина попадают), "Файл" (сюда попадут плагины, которые смогут открывать нестандартные файлы и препросмотр) ну и "Разное" - если плагин не определился (автоматом старые плагины попадают сюда).
    Мне кажеться, так будет интуитивно понятно. Группы плагинов не даром совпадают с названиями пунктов меню - их туда и стоит помещать. Получиться, что пользователь даже не будет знать, плагин это или внутреняя функция. Каждый сможет собрать себе необходимую конфигурацию.
    Для реализации этого дела, необходимо ввести только одну функцию, которая будет возвращать некое число, которе определяет категорию

    ----------
    Press any key to continue or any other key to exit
    Пишите так, чтобы не было стыдно за нобелевскую премию.

    Всего записей: 1568 | Зарегистр. 19-09-2003 | Отправлено: 11:36 14-04-2006
    vito333



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    насчёт разнесения  плагинов по соответствующим пунктам меню - интересная мысль, только она имеет смысл когда плагинов будет какое-то немалое количество, например более 10. И я не думаю, что надо их равнять с обычными пунктами меню, наверное есть смысл создать в каждом подменю подпункт с плагинами. Так что пока пусть плагины полежат в одной кучке

    Всего записей: 3322 | Зарегистр. 13-05-2002 | Отправлено: 12:51 14-04-2006
    OdesitVadim



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

    Цитата:
    например более 10

    Это мы уж постараемся
    Можно их отрисовывать немного другим цветом.

    ----------
    Press any key to continue or any other key to exit
    Пишите так, чтобы не было стыдно за нобелевскую премию.

    Всего записей: 1568 | Зарегистр. 19-09-2003 | Отправлено: 12:58 14-04-2006
    EagleXK



    Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Вот, попытался написать плагин, который заменяет английскую раскладку на русскую и наоборот. Даже это не получилось:
     

    Цитата:
     
    library ChangeKeyboardLayout;
     
    uses
      Windows, SysUtils;
     
    function ShellExecute(hWnd: HWND; Operation, FileName, Parameters,
      Directory: PChar; ShowCmd: Integer): HINST; stdcall; external 'Shell32.dll' name 'ShellExecuteA';
     
     
    function Init(hWndMain,hClientWnd:HWND;lpReserved:DWORD;lpParam:Pointer):DWORD;cdecl;
    begin
        Result:=1;
    end;
     
    function PluginName:LPWSTR;cdecl;
    begin
        Result:='Change Keyboard Layout Plugin';
    end;
     
     
    function MenuItemName:LPWSTR;cdecl;
    begin
        Result:='Change Keyboard Layout';
    end;
     
    function MenuItemNameRus:LPWSTR;cdecl;
    begin
        Result:='Изменить раскладку клавиатуры';
    end;
     
    const
      EM_GETSEL: Word = $B0;
      EM_SETSEL: Word = $B1;
      EM_REPLACESEL: Word = $C2;
      EM_GETSELTEXT: Word = $400 + 62;
     
     
    function DoMyJob(hWndMain,hClientWnd,hActiveRtfWnd:HWND;lpReserved:DWORD;lpParam:Pointer):DWORD;cdecl;
    var
      SelStart, SelEnd, SelLen: Integer;
      Selection: array of WideChar;
    begin
        Result:=0;
     
            SendMessage(hActiveRtfWnd, EM_GETSEL, wParam(LPDWORD(@SelStart)), lParam(LPDWORD(@SelEnd)));
            if SelStart = SelEnd then Exit;
     
        SelLen := SelEnd - SelStart;
        if SelLen < 0 then SelLen := -SelLen;
     
        SetLength(Selection, SelLen + 2);
        ZeroMemory(Selection, (SelLen + 2) * SizeOf(WideChar));
     
        SendMessage(hActiveRtfWnd, EM_GETSELTEXT, 0, lParam(Selection));
    {DEBUG}SendMessage(hActiveRtfWnd, EM_SETSEL, wParam(SelStart), lParam(SelStart+2));
            SendMessage(hActiveRtfWnd,EM_REPLACESEL, 1, lParam(LPCSTR(Selection)));
    //        SendMessage(hActiveRtfWnd, EM_SETSEL, wParam(SelStart), lParam(SelEnd));
     
    (*
                ::SendMessage(hActiveRtfWnd, EM_GETSELTEXT, 0, (LPARAM)pBuf);
                ::SendMessage(hActiveRtfWnd,EM_REPLACESEL,TRUE,(LPARAM)(LPCTSTR)pBuf);
                ::SendMessage(hActiveRtfWnd, EM_SETSEL, (WPARAM)selstart, (LPARAM) selend);
    *)
        Result:=1;
    end;
     
    function Setup(dwReserved:DWORD;lpReserved:Pointer):DWORD;cdecl;
    begin
        Result:=1;
    end;
     
    exports Init,PluginName,MenuItemName,MenuItemNameRus,DoMyJob,Setup;
     
    begin
    end.
     

    Передирал из сишного примера СДК...

    Всего записей: 215 | Зарегистр. 07-07-2004 | Отправлено: 17:51 14-04-2006
    WATERPROOF



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    OdesitVadim
    Дата открытия сайта: 13 апреля 2005

    Всего записей: 229 | Зарегистр. 14-04-2006 | Отправлено: 23:57 14-04-2006
    ShIvADeSt



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

    Цитата:
    А что будет, если два плагина попытаются зарегить одну и ту же горячую клавишу? И каждий с них (плагин или разработчик) будет уверен, что это именно та клавиша, что нужно? Бардак!
    Предлагаю, что бы плагин "рекомендовал" клавишу, а уже пользователь с марка розруливал в случае чего. А то программисту кажеться, что здесь будет удобна такая-то клавиша, а на самом деле совсем другая.  

    Тогда че вообще париться, сделать настройку горячек прямо в самом марке, отдельное значение в реестре например PlugHotKeys и туда пихать запись вида PlugName - HotKey
    Если пользователь хочет назначить горячку плагину, то делает это как в Марке, только горячка заносится (если ранее не была зарегена уже) в таблицу горячек плагина и при старте все так же добавляется атом (просто с атомами проще отслеживать динамические гоячие клавиши) по имени plugName, а все остальное остается как я писал ранее. И не надо будет тогда в плагины пихать назначение горячих клавиш.
    EagleXK

    Цитата:
    Вот, попытался написать плагин, который заменяет английскую раскладку на русскую и наоборот. Даже это не получилось:

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


    ----------
    И создал Бог женщину... Существо получилось злобное, но забавное...

    Всего записей: 3956 | Зарегистр. 29-07-2003 | Отправлено: 03:04 15-04-2006
    EagleXK



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

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

    Пошти. Я выделяю первый символ из раньше выделенного текста и должен был заместить его всем выделенным текстом. Не фурычит

    Всего записей: 215 | Зарегистр. 07-07-2004 | Отправлено: 03:30 15-04-2006
    OdesitVadim



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

    Цитата:
    Дата открытия сайта: 13 апреля 2005

    Да, смазал
    Сейчас написал плагин, который вначале перекодировал текст, который набран не в той раскладке клавиатуры. Но потом наткнулся на прикол, связаный с тем, что иногда текст, вставленый русский текст отображается в виде умляутов. Чуть плагин покрутил - и он уже умеет исправлять такое. Завтра надеюсь выложить.


    ----------
    Press any key to continue or any other key to exit
    Пишите так, чтобы не было стыдно за нобелевскую премию.

    Всего записей: 1568 | Зарегистр. 19-09-2003 | Отправлено: 12:02 17-04-2006
    ArtLonger



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ALL
     
    Господа, скоро тему прикроют по лимиту страниц (здесь можно не более 100).
    Когда модератор начнёт новую, предлагаю плагины выделить в отдельную тему. Имхо удобнее будет.

    Всего записей: 1844 | Зарегистр. 06-10-2001 | Отправлено: 12:13 17-04-2006 | Исправлено: ArtLonger, 12:15 17-04-2006
    Harrier



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Так плагинов мало очень. Да и Mark не большая программа. ИМХО, лучше и программу и плагины обсуждать в одной теме.

    Всего записей: 4645 | Зарегистр. 03-09-2003 | Отправлено: 13:59 17-04-2006
    ArtLonger



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

    Всего записей: 1844 | Зарегистр. 06-10-2001 | Отправлено: 09:02 18-04-2006
    OdesitVadim



    Advanced Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Добавил новый плагин для перекодировки текста и исправления проблемы вставки русского текста. Более подробно здесь http://www.midav.land.ru/vswitch.html

    ----------
    Press any key to continue or any other key to exit
    Пишите так, чтобы не было стыдно за нобелевскую премию.

    Всего записей: 1568 | Зарегистр. 19-09-2003 | Отправлено: 12:48 18-04-2006
       

    Страницы: 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

    Компьютерный форум Ru.Board » Компьютеры » Программы » Mark - небольшой удобный редактор
    Widok (19-04-2006 13:43): лимит страниц. переезжаем сюда.


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

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

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru