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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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) Все еще при вызове диалога печати остаются следы от него.

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



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    gera_serg
    работает с любым размером буфера?

    Всего записей: 3319 | Зарегистр. 13-05-2002 | Отправлено: 16:27 16-06-2005
    gera_serg

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Не задумывался о размере.
    Я исползую для обработки содержимого клипборда для "чистки" загнанного туда html созданного MSWord (у него лишних тегов - дофига)    
     
    Добавлено:
    Обрати внимания у MS существуют три метода работы с RegExp
     
    Test Method
    See Also
    Execute Method | Replace Method
     
    Applies To: RegExp Object
    Requirements
    Version 5  
    Executes a regular expression search against a specified string and returns a Boolean value that indicates if a pattern match was found.
     
    object.Test(string)  
    Arguments
    object  
    Required. Always the name of a RegExp object.  
    string  
    Required. The text string upon which the regular expression is executed.  
    Remarks
    The actual pattern for the regular expression search is set using the Pattern property of the RegExp object. The RegExp.Global property has no effect on the Test method.  
     
    The Test method returns True if a pattern match is found; False if no match is found.  
     
    The following code illustrates the use of the Test method.  
     
    Function RegExpTest(patrn, strng)
      Dim regEx, retVal            ' Create variable.
      Set regEx = New RegExp         ' Create regular expression.
      regEx.Pattern = patrn         ' Set pattern.
      regEx.IgnoreCase = False      ' Set case sensitivity.
      retVal = regEx.Test(strng)      ' Execute the search test.
      If retVal Then
        RegExpTest = "One or more matches were found."
      Else
        RegExpTest = "No match was found."
      End If
    End Function
    MsgBox(RegExpTest("is.", "IS1 is2 IS3 is4"))
     
     
    Добавлено:
    Executes a regular expression search against a specified string.
     
    object.Execute(string)  
    Arguments
    object  
    Required. Always the name of a RegExp object.  
    string  
    Required. The text string upon which the regular expression is executed.  
    Remarks
    The actual pattern for the regular expression search is set using the Pattern property of the RegExp object.  
     
    The Execute method returns a Matches collection containing a Match object for each match found in string. Execute returns an empty Matches collection if no match is found.  
     
    The following code illustrates the use of the Execute method.  
     
    Function RegExpTest(patrn, strng)
      Dim regEx, Match, Matches      ' Create variable.
      Set regEx = New RegExp         ' Create a regular expression.
      regEx.Pattern = patrn         ' Set pattern.
      regEx.IgnoreCase = True         ' Set case insensitivity.
      regEx.Global = True         ' Set global applicability.
      Set Matches = regEx.Execute(strng)   ' Execute search.
      For Each Match in Matches      ' Iterate Matches collection.
        RetStr = RetStr & "Match found at position "
        RetStr = RetStr & Match.FirstIndex & ". Match Value is '"
        RetStr = RetStr & Match.Value & "'." & vbCRLF
      Next
      RegExpTest = RetStr
    End Function
    MsgBox(RegExpTest("is.", "IS1 is2 IS3 is4"))
     
     
    Добавлено:
    Replace Method
    See Also
    Execute Method | Test Method
     
    Applies To: RegExp Object
    Requirements
    Version 5  
    Replaces text found in a regular expression search.
     
    object.Replace(string1, string2)  
    Arguments
    object  
    Required. Always the name of a RegExp object.  
    string1  
    Required. String1 is the text string in which the text replacement is to occur.  
    string2  
    Required. String2 is the replacement text string.  
    Remarks
    The actual pattern for the text being replaced is set using the Pattern property of the RegExp object.  
     
    The Replace method returns a copy of string1 with the text of RegExp.Pattern replaced with string2. If no match is found, a copy of string1 is returned unchanged.  
     
    The following code illustrates use of the Replace method.  
     
    Function ReplaceTest(patrn, replStr)
      Dim regEx, str1               ' Create variables.
      str1 = "The quick brown fox jumped over the lazy dog."
      Set regEx = New RegExp            ' Create regular expression.
      regEx.Pattern = patrn            ' Set pattern.
      regEx.IgnoreCase = True            ' Make case insensitive.
      ReplaceTest = regEx.Replace(str1, replStr)   ' Make replacement.
    End Function
     
    MsgBox(ReplaceTest("fox", "cat"))      ' Replace 'fox' with 'cat'.
    In addition, the Replace method can replace subexpressions in the pattern. The following call to the function shown in the previous example swaps each pair of words in the original string:  
     
    MsgBox(ReplaceTest("(\S+)(\s+)(\S+)", "$3$2$1"))   ' Swap pairs of words.
     
     
    Добавлено:
    В другом скрипте для обработки (поиска и замены) текстовых файлов я заметил что гораздо быстрее обрабатывается полный файл в буфере, чем если брать файл построчно обрабатывать и записывать построчно на диск...

    Всего записей: 788 | Зарегистр. 24-07-2002 | Отправлено: 16:35 16-06-2005 | Исправлено: gera_serg, 17:09 16-06-2005
    vito333



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    [x] исправлен глюк в RegExp.
     
    Добавлено:
    gera_serg
    эх, где же ты раньше был с этой инфо

    Всего записей: 3319 | Зарегистр. 13-05-2002 | Отправлено: 16:57 16-06-2005
    gera_serg

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    дык регулярно тут, просил добавить регэкспы

     
    Добавлено:
    Тормозно как-то выглядит. Методы применяй.
    Тест для проверки наличия, Запуск для вычисления позиции и размера найденного, Замену для глобальной замены сразу всего (или учитывая направление от курсора)
     
    Добавлено:
    Global Property
     
    Applies To: RegExp Object
     
    Sets or returns a Boolean value that indicates if a pattern should match all occurrences in an entire search string or just the first one.  
     
    object.Global [= True | False ]
    The object argument is always a RegExp object. The value of the Global property is True if the search applies to the entire string, False if it does not. Default is False.
     
    False - для поочередной замены в интерфейсе Поиска  
    True - для заменить ВСЕ

    Всего записей: 788 | Зарегистр. 24-07-2002 | Отправлено: 17:11 16-06-2005
    vito333



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    [x] Ещё исправления в RegExp.
     
    Добавлено:
    вроде бы сейчас должно работать как может.
     
    Добавлено:
    пока RegExp не оптимизирован - при нажатии на Искать происходит весь громоздкий цикл - копирование текста(от курсора до конца) в буфер, поиск в буфере, выделение найденного. Потому пока тормозит. Но это дело техники. Чуть позже оптимизирую.
     
    Добавлено:
    Главное, чтобы искал и искал правильно.

    Всего записей: 3319 | Зарегистр. 13-05-2002 | Отправлено: 17:34 16-06-2005
    gera_serg

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Оптимизируй память
    3 мег файл занимает сейчас 17 мег в памяти, во время Поиска память увеличивается вдвое, потом снова освобождается до 17.
     
    Попробуй вместе Ричедитом держать в памяти постоянно ТекстЕдит с одновременном позиционированием курсора и соответственно изменений там и там  

    Всего записей: 788 | Зарегистр. 24-07-2002 | Отправлено: 17:46 16-06-2005
    vito333



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

    Цитата:
    Оптимизируй память  
    3 мег файл занимает сейчас 17 мег в памяти, во время Поиска память увеличивается вдвое, потом снова освобождается до 17.

    сделать ничего не получится.

    Цитата:
    Попробуй вместе Ричедитом держать в памяти постоянно ТекстЕдит с одновременном позиционированием курсора и соответственно изменений там и там  

    даже пробовать не буду - фантастическая идея. Лучше я сделаю отдельный микро-редактор на Edit-е - искать будет быстро. В Марке же возможно так и останется. Почему? Когда вызван диалог поиска можно работать с текстом, а это накладывает необходимость при нажатии на Искать брать текст в буфер. В случае Едит-а, по моему, не надо, можно сразу искать в области памяти, содержащей текст. Такие дела.
     
    Добавлено:
    Я сделал всё, что мог

    Всего записей: 3319 | Зарегистр. 13-05-2002 | Отправлено: 17:50 16-06-2005
    gera_serg

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    >Когда вызван диалог поиска можно работать с текстом
     
    ТекстЕдит это сильно сказано.
    Храним в памяти постоянно строку "голый текст документа" и цифру позицию курсора
    Перемещается в Ричедите - изменяем цифру позиции курсора
    Меняем что-то в Ритчедите - меняем в текстовой переменной с извесной позиции.
    Изменили Заменой в текстовой переменной - меняем в Ричедите  

    Всего записей: 788 | Зарегистр. 24-07-2002 | Отправлено: 18:10 16-06-2005
    vito333



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

    Цитата:
    Храним в памяти постоянно строку "голый текст документа" и цифру позицию курсора  
    Перемещается в Ричедите - изменяем цифру позиции курсора  
    Меняем что-то в Ритчедите - меняем в текстовой переменной с извесной позиции.  
    Изменили Заменой в текстовой переменной - меняем в Ричедите    

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

    Всего записей: 3319 | Зарегистр. 13-05-2002 | Отправлено: 18:12 16-06-2005
    gera_serg

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Заменить Все - не фурычит
     
    А как насчет Отметить Все найденное?
     
    Метод Executes дает коллекцию позиций и значений, исходя из которых можно в Ричедите раскрасит зеленым бэкграундом все найденное  

    Всего записей: 788 | Зарегистр. 24-07-2002 | Отправлено: 18:29 16-06-2005
    vito333



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    работает только поиск.
    Раскрашивать буду когда сделаю подсветку.
     
    Добавлено:
    вот Заменить все можно будет оптимизировать, так как можно будет не перезагружать текст в буфер.
    Да и насёт Искать мысли уже появились

    Всего записей: 3319 | Зарегистр. 13-05-2002 | Отправлено: 18:35 16-06-2005
    gera_serg

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Вот еще может пригодиться
    http://www.regular-expressions.info/dotnetexample.html
     
    Добавлено:
    А на данный момент что дает Марку Ричедит, кроме подцветки ссылок?

    Всего записей: 788 | Зарегистр. 24-07-2002 | Отправлено: 18:52 16-06-2005
    vito333



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

    Цитата:
    А на данный момент что дает Марку Ричедит, кроме подцветки ссылок?

    да ничего особенного и не даёт. А если сравнивать с другими текстовыми контролами, то одни проблемы.
     
    Добавлено:
    разве что размер ехе минимальный.
     
    Добавлено:
    наверное поэтому когда-то давно я с него и начал. Знаний с тех пор прибавилось, так что теперь можно будет и на другом двигателе сделать.
     
    Добавлено:
    а подсветку ссылок с помощью RegExp можно где угодно теперь реализовать.
     
    Добавлено:
    [!]  доработан RegExp.

    Всего записей: 3319 | Зарегистр. 13-05-2002 | Отправлено: 01:10 17-06-2005
    SiLeNCer_ru



    Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    vito333
    Скачал, поглядел... неплохо, очень неплохо... Живет теперь под Total Commander вместо BRED.
    Одно пока только пожелание: Библиотеки под XP и 2000 перепаковал бы чем, а то распаковщик этот - ужас для оперативы. Для того чтобы распаковать эти несчастные ~950 Кб он оперативы жрет 150 Мб и работает еле-еле.
    Хоть рар используй: хоть на 150 Кб больше, зато в разы быстрее...
     
    Если вопрос уже поднимался - звиняй!

    Всего записей: 235 | Зарегистр. 03-10-2001 | Отправлено: 11:21 17-06-2005
    vito333



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

    Код:
     
    Скажите пожалуйста!
    Как удалить Вашу программу!
     
    С уважением,
    А.Зябкин
     

    не знаю что и ответить
     
     
    SiLeNCer_ru
    ОК, перепаковал - теперь требует 20 мб памяти дл распаковки, думаю столько везде найдётся.
     
     

    Всего записей: 3319 | Зарегистр. 13-05-2002 | Отправлено: 12:52 17-06-2005
    gera_serg

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    > а подсветку ссылок с помощью RegExp можно где угодно теперь реализовать.
    Если так, то есть смысл отходить от Ричедита к голому тексту.
    Подсветка синтаксиса принципиально не отличается от посветки ссылок.
     
    А за счет чего у Ричедита супротив Текстедита EXE минимальный?

    Всего записей: 788 | Зарегистр. 24-07-2002 | Отправлено: 15:52 17-06-2005 | Исправлено: gera_serg, 16:09 17-06-2005
    vito333



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    против системного Edit-a у ричедита выигрыша в размере нет, только в расширенном функционале, но он то как раз в большинстве и не используется в нотпад-клонах.
     

    Всего записей: 3319 | Зарегистр. 13-05-2002 | Отправлено: 16:26 17-06-2005
    gera_serg

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    А разве у системного Edit-a возможно разноЦветие?

    Всего записей: 788 | Зарегистр. 24-07-2002 | Отправлено: 16:50 17-06-2005
    vito333



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    нет, но и в Марке я планирую  не просто использовать ричедитовую подсветку, а сделать отдельную быструю подсветку (и уже сделал на 50%), а затем уже дополнить её ричедитовой. Родная - медленная, не годится для быстрого просмотра, но качественная, по сравнению с моей, так что попробую сочетание.
     
    Добавлено:
    такую же подсветку (по методу Зелиона) можно и к Edot-у прицепить. Она очень уступает нормальной подсветке (как в Scintilla, например), но для нотпад-клона её вполне достаточно, я думаю.
     
    Добавлено:

    Цитата:
    есть смысл отходить от Ричедита к голому тексту

    конечно есть, просто я жду окончания изготовления текстового контрола, писаного на чистом винапи, а уж тогда всё что есть хорошего в Марке перетащу туда.

    Всего записей: 3319 | Зарегистр. 13-05-2002 | Отправлено: 17:03 17-06-2005 | Исправлено: vito333, 17:17 18-06-2005
    vito333



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    перезалил Mark_Upxed.zip
     
    Добавлено:
    [!] изменён способ отображения кодировки документа в статусбаре.

    Всего записей: 3319 | Зарегистр. 13-05-2002 | Отправлено: 05:55 19-06-2005
       

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