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

» Mark - небольшой удобный редактор

Автор: vito333
Дата сообщения: 16.06.2005 15:57
[x] исправлен глюк в RegExp.

Добавлено:
gera_serg
эх, где же ты раньше был с этой инфо
Автор: gera_serg
Дата сообщения: 16.06.2005 16:11
дык регулярно тут, просил добавить регэкспы


Добавлено:
Тормозно как-то выглядит. Методы применяй.
Тест для проверки наличия, Запуск для вычисления позиции и размера найденного, Замену для глобальной замены сразу всего (или учитывая направление от курсора)

Добавлено:
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 - для заменить ВСЕ
Автор: vito333
Дата сообщения: 16.06.2005 16:34
[x] Ещё исправления в RegExp.

Добавлено:
вроде бы сейчас должно работать как может.

Добавлено:
пока RegExp не оптимизирован - при нажатии на Искать происходит весь громоздкий цикл - копирование текста(от курсора до конца) в буфер, поиск в буфере, выделение найденного. Потому пока тормозит. Но это дело техники. Чуть позже оптимизирую.

Добавлено:
Главное, чтобы искал и искал правильно.
Автор: gera_serg
Дата сообщения: 16.06.2005 16:46
Оптимизируй память
3 мег файл занимает сейчас 17 мег в памяти, во время Поиска память увеличивается вдвое, потом снова освобождается до 17.

Попробуй вместе Ричедитом держать в памяти постоянно ТекстЕдит с одновременном позиционированием курсора и соответственно изменений там и там
Автор: vito333
Дата сообщения: 16.06.2005 16:50
с другой стороны, вполне возможно, что ничего и не удастся оптимизировать.

Добавлено:

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

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

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

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

Добавлено:
Я сделал всё, что мог
Автор: gera_serg
Дата сообщения: 16.06.2005 17:10
>Когда вызван диалог поиска можно работать с текстом

ТекстЕдит это сильно сказано.
Храним в памяти постоянно строку "голый текст документа" и цифру позицию курсора
Перемещается в Ричедите - изменяем цифру позиции курсора
Меняем что-то в Ритчедите - меняем в текстовой переменной с извесной позиции.
Изменили Заменой в текстовой переменной - меняем в Ричедите
Автор: vito333
Дата сообщения: 16.06.2005 17:12
буду думать, сейчас просто рад, что фурычит.

Добавлено:

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

это всё нереально и не нужно. С ричедитом как ни кувыркайся, некоторые препятствия не перепрыгнешь. Нельзя сделать Марк верхом совершенства, как бы мне не хотелось. Ричедит я исправить всё равно не смогу.
Автор: gera_serg
Дата сообщения: 16.06.2005 17:29
Заменить Все - не фурычит

А как насчет Отметить Все найденное?

Метод Executes дает коллекцию позиций и значений, исходя из которых можно в Ричедите раскрасит зеленым бэкграундом все найденное
Автор: vito333
Дата сообщения: 16.06.2005 17:35
работает только поиск.
Раскрашивать буду когда сделаю подсветку.

Добавлено:
вот Заменить все можно будет оптимизировать, так как можно будет не перезагружать текст в буфер.
Да и насёт Искать мысли уже появились
Автор: gera_serg
Дата сообщения: 16.06.2005 17:52
Вот еще может пригодиться
http://www.regular-expressions.info/dotnetexample.html

Добавлено:
А на данный момент что дает Марку Ричедит, кроме подцветки ссылок?
Автор: vito333
Дата сообщения: 17.06.2005 00:10

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

да ничего особенного и не даёт. А если сравнивать с другими текстовыми контролами, то одни проблемы.

Добавлено:
разве что размер ехе минимальный.

Добавлено:
наверное поэтому когда-то давно я с него и начал. Знаний с тех пор прибавилось, так что теперь можно будет и на другом двигателе сделать.

Добавлено:
а подсветку ссылок с помощью RegExp можно где угодно теперь реализовать.

Добавлено:
[!] доработан RegExp.
Автор: SiLeNCer_ru
Дата сообщения: 17.06.2005 10:21
vito333
Скачал, поглядел... неплохо, очень неплохо... Живет теперь под Total Commander вместо BRED.
Одно пока только пожелание: Библиотеки под XP и 2000 перепаковал бы чем, а то распаковщик этот - ужас для оперативы. Для того чтобы распаковать эти несчастные ~950 Кб он оперативы жрет 150 Мб и работает еле-еле.
Хоть рар используй: хоть на 150 Кб больше, зато в разы быстрее...

Если вопрос уже поднимался - звиняй!
Автор: vito333
Дата сообщения: 17.06.2005 11:52
получил письмо

Код:
Скажите пожалуйста!
Как удалить Вашу программу!

С уважением,
А.Зябкин
Автор: gera_serg
Дата сообщения: 17.06.2005 14:52
> а подсветку ссылок с помощью RegExp можно где угодно теперь реализовать.
Если так, то есть смысл отходить от Ричедита к голому тексту.
Подсветка синтаксиса принципиально не отличается от посветки ссылок.

А за счет чего у Ричедита супротив Текстедита EXE минимальный?
Автор: vito333
Дата сообщения: 17.06.2005 15:26
против системного Edit-a у ричедита выигрыша в размере нет, только в расширенном функционале, но он то как раз в большинстве и не используется в нотпад-клонах.

Автор: gera_serg
Дата сообщения: 17.06.2005 15:50
А разве у системного Edit-a возможно разноЦветие?
Автор: vito333
Дата сообщения: 17.06.2005 16:03
нет, но и в Марке я планирую не просто использовать ричедитовую подсветку, а сделать отдельную быструю подсветку (и уже сделал на 50%), а затем уже дополнить её ричедитовой. Родная - медленная, не годится для быстрого просмотра, но качественная, по сравнению с моей, так что попробую сочетание.

Добавлено:
такую же подсветку (по методу Зелиона) можно и к Edot-у прицепить. Она очень уступает нормальной подсветке (как в Scintilla, например), но для нотпад-клона её вполне достаточно, я думаю.

Добавлено:

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

конечно есть, просто я жду окончания изготовления текстового контрола, писаного на чистом винапи, а уж тогда всё что есть хорошего в Марке перетащу туда.
Автор: vito333
Дата сообщения: 19.06.2005 04:55
перезалил Mark_Upxed.zip

Добавлено:
[!] изменён способ отображения кодировки документа в статусбаре.
Автор: ShIvADeSt
Дата сообщения: 20.06.2005 03:14
vito333
Тебе в импортере настроек реестра в ини файл структуру сохранить или сделать распаковку по ключам? Работа идет потихоньку, так как заново пишу свой интерфейс, чтобы он не глючил. Просматриваю примеры.
Автор: vito333
Дата сообщения: 20.06.2005 03:42
ShIvADeSt
делай распаковку, так лучше будет, и пригодится когда-нибудь, когда у меня руки дойдут сделать настройки в ини.
Автор: vito333
Дата сообщения: 20.06.2005 12:14
[+] опция "Запоминать буфер обмена" - с момента включения опции (может быть назначена одному из открытых окон, потом переназначена другому окну) любой текст, заносимый в буфер обмена запоминается в этом окне.
Автор: zep
Дата сообщения: 20.06.2005 12:51
vito333

Цитата:
[+] опция "Запоминать буфер обмена"

Супер! Спасибо!
Все хотел попросить тебя об этой возможности, но боялся, что это слишком сложно и не входит в твои планы.
Автор: vito333
Дата сообщения: 20.06.2005 13:00
zep
попалась на глаза статейка с наглядным красивым и компактным кодом - вот руки сразу потянулись и сделали
Автор: zep
Дата сообщения: 20.06.2005 13:02
vito333
Еще бы иконку для нее
Вернее не иконку, а кнопку. А если бы еще окно с запоминанием отличалось от других...
Автор: vito333
Дата сообщения: 20.06.2005 13:03
удобно, кстати, использовать в свёрнутом состоянии.

Добавлено:

Цитата:
Еще бы иконку для нее

имеешь в виду в трэе?

Добавлено:
пора наверное сделать

Добавлено:

Цитата:
Вернее не иконку, а кнопку

кнопку на тулбаре?

Цитата:
А если бы еще окно с запоминанием отличалось от других...

чем?
Автор: anryk
Дата сообщения: 21.06.2005 09:31
vito333
да, сворачивание в трей очень не помешает, тем более с такой новой фичей
Автор: zep
Дата сообщения: 21.06.2005 11:16

Цитата:
кнопку на тулбаре?

Где угодно, что бы добраться быстрее.
Цитата:
А если бы еще окно с запоминанием отличалось от других...

чем?

Звездочку добавить или стрелку, или жирным шрифтом название вкладки выделить-как удобнее. Просто, когда открыто несколько документов, что бы было наглядно видно какой из них собирает.
А название для этой фичи "Захват буфера обмена" не будет более информативно?
Автор: vito333
Дата сообщения: 21.06.2005 12:15
короче надо и таббар сабклассить и извращаться с ним по полной

Добавлено:
zep
может иконку приделать, вместо значка документа - типа клипбордовой?

Добавлено:
anryk
это же ещё меню какое-то надо приделывать к иконке в трэе, а у меня нет насчёт этого никаких идей.
Автор: SiLeNCer_ru
Дата сообщения: 21.06.2005 13:33
vito333

Цитата:
zep
может иконку приделать, вместо значка документа - типа клипбордовой?


Да, и не парится!
Автор: anryk
Дата сообщения: 21.06.2005 13:52
vito333

Цитата:
это же ещё меню какое-то надо приделывать к иконке в трэе, а у меня нет насчёт этого никаких идей

для начала можно просто:
1. Восстановить
2. Новый
3. Открыть страницу с буфером обмена (назвать, конечно, проще надо)
4. Выход

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667

Предыдущая тема: Какой нужен формат?


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