Универсальный текстовый редактор

Обсуждение любого программного обеспечения. No warez or cracks here...

Сообщение Миша Спларов » Вс янв 16, 2005 6:12 pm

<!--QuoteBegin-SiMM+Jan 15 2005, 02:42--><div class='quotetop'>QUOTE(SiMM @ Jan 15 2005, 02:42)</div><div class='quotemain'><!--QuoteEBegin-->Опционально. По крайней мере (да пусть может даже ищет в фоне) - чтобы курсор/текст в процессе ввода не дёргался. Для регулярок подобная возможность, имхо, вообще проблематична.
[right][snapback]160154[/snapback][/right]
<!--QuoteEnd--></div><!--QuoteEEnd-->
с регулярками пообычному, конечно :-)
<!--QuoteBegin-SiMM+Jan 15 2005, 02:42--><div class='quotetop'>QUOTE(SiMM @ Jan 15 2005, 02:42)</div><div class='quotemain'><!--QuoteEBegin-->Имхо, тоже опционально, как минимум - необходимо предупреждение, что поиск начнётся заново.
[right][snapback]160154[/snapback][/right]
<!--QuoteEnd--></div><!--QuoteEEnd-->
Эмм.. Ну только не в виде модального окна.
«Проектирование интерфейсов — увлекательный дизайнерский процесс. Схожее удовольствие можно получить от сложной верстки, от создания многомерных схем и решения других задач на логику и эстетику». (q) A. Лебедев
Миша Спларов
Генерал-лейтенант
 
Сообщений: 3022
Зарегистрирован: Пн апр 22, 2002 7:58 am
Откуда: Россия, Томск
Пункты репутации: 0

Сообщение Gluek » Вс янв 16, 2005 7:03 pm

Как в файрфоксе надо:
Изображение
<!--fonto:Tahoma--><span style="font-family:Tahoma"><!--/fonto--><!--sizeo:2--><span style="font-size:10pt;line-height:100%"><!--/sizeo-->Для контактов со мной пользуйтесь адресом mrgluek@gmail.com (e-mail & jabber).<!--sizec--></span><!--/sizec-->
Полезное в <a href="http://gluek.info/" target="_blank">моем блоге</a>: бесплатный <a href="http://gluek.info/free-files-hosting/" target="_blank">хостинг для файлов</a> и <a href="http://gluek.info/free-images-hosting/" target="_blank">для картинок</a>, бесплатные <a href="http://gluek.info/free-mp3-download/" target="_blank">сайты с музыкой</a>.<!--fontc--></span><!--/fontc-->
Gluek
Генерал-лейтенант
 
Сообщений: 3107
Зарегистрирован: Пн янв 06, 2003 6:24 am
Откуда: Россия/Москва
Пункты репутации: 0

Сообщение Ajax » Вс янв 16, 2005 7:45 pm

О да, как поиск реализовали в Лисе - за это не то что орден, личный остров в тропиках дать надо!!!
Ajax
Генерал-полковник
 
Сообщений: 4288
Зарегистрирован: Сб янв 04, 2003 4:21 pm
Откуда: Новосибирск
Пункты репутации: 0

Сообщение Noldo » Пн янв 17, 2005 6:09 am

Несомненно! Лучший способ поиска для меня Ж-)
Noldo
Ст. лейтенант
 
Сообщений: 112
Зарегистрирован: Чт фев 19, 2004 3:37 am
Пункты репутации: 0

Сообщение Vitalik » Чт янв 20, 2005 11:22 am

1. Настройки
1.1. Будут обязательно в файле, а не в реестре. Но вот какой формат предпочесть, XML или INI, наверное потом решится, когда будет что настраивать <!--emo&:)-->[img]style_emoticons/<#EMO_DIR#>/smile.gif[/img]<!--endemo-->
1.2. Настройки наверняка будут в виде дерева, Но как лучше реализовать "запихивание" настроек прямо во вкладки существующих настроек (как в Миранда и Фубар) я пока еще не знаю. Поэтому, наверное, по началу настройки плагинов (если таковые будут) будут вызываться по нажатию кнопки вызова настроек...
1.3. По поводу поддержки нескольких пользователей... Пока не знаю... Может просто в качестве параметра командной строки при запуске указывать конфигурационный файл, из которого брать настройки? Хм... Или в главном конфигурационном файле указывать, какой файл вместо него использовать... Над этим еще надо будет потом подумать <!--emo&:)-->[img]style_emoticons/<#EMO_DIR#>/smile.gif[/img]<!--endemo-->
2. Поиск.
2.1. Так как у каждого свои предпочтения к поиску, может быть стоит поиск вынести отдельным(и) плагин(ами)? То есть в самой программе поиска не будет и можно будет выбрать для поиска больше всех понравившийся плагин...
2.2. Вот только я не знаю, как бы так лучше сделать, чтобы можно было написать такой плагин, который бы делал панельку внизу или вверху, похожую на FareFox'овскую... (?)
3. BPL-пакеты.
3.1. Возник интересный вопрос... Так как редактор пишется на Delphi с использованием VCL-компонентов, то его размер быстро раздувается. Сейчас он весит 951k (сжатие RAR-ом до 352k). Как вариант можно откомпилировать редактор с пакетами времени выполнения (runtime packages). Тогда размер редактора уменьшится до 350k (сжатие RAR-ом до 113k), но нужно будет копировать себе пакет vcl70.bpl (который вместе с Delphi7 идёт) размером 1383k (сжатие RAR-ом до 407k).
3.2. Один раз скопировав этот пакет можно значительно уменьшить размер плагинов, которые будут написаны на VCL. Таким образом если будет написано несколько плагинов на VCL, то будет сумарный выигрыш в размере. А если таковых плагинов не будет, то получается проигрыш 150-200k (при сжатии RAR-ом).
1.2. Что вы думаете по этому поводу? <!--emo&:)-->[img]style_emoticons/<#EMO_DIR#>/smile.gif[/img]<!--endemo-->
<!--coloro:black--><span style="color:black"><!--/coloro-->Добро пожаловать на сайт по SynUniHighlighter: <a href="http://www.unihighlighter.com" target="_blank"><!--coloro:blue--><span style="color:blue"><!--/coloro-->www.unihighlighter.com<!--colorc--></span><!--/colorc--></a>

Совсем недавно открылся новый проект "<a href="http://portalsnov.ru" target="_blank"><!--coloro:blue--><span style="color:blue"><!--/coloro-->Портал Снов<!--colorc--></span><!--/colorc--></a>"!
Огромная просьба поддержать его хотя бы своим присутствием. <a href="http://portalsnov.ru" target="_blank"><!--coloro:blue--><span style="color:blue"><!--/coloro-->portalsnov.ru<!--colorc--></span><!--/colorc--></a><!--colorc--></span><!--/colorc-->
Vitalik
Капитан
 
Сообщений: 233
Зарегистрирован: Пн окт 27, 2003 11:06 pm
Откуда: Украина, cейчас живу в Харькове (учусь), а вообще я из Крыма
Пункты репутации: 0

Сообщение DruG » Чт янв 20, 2005 11:39 am

1.1 - главное что бы было описание входящих строк
1.3 - ехес *.cfg Контра рулит! Может тогда уж прога ищет в определённой папке "кфг" все конфиги, а потом в настройках или где выдаёт список какой бы конфой вы хотели сейчас воспользоваца? запоминает последнюю...
2.1 - хм... плагин поиска? арригинально! но тема! какой-нить стандартненький поиск в прогу, а все остальные идеи в плаги.
3.1 - второй вариант почему бы и нет?
3.2 - 100%, а плаги найдуца!
DruG
Генерал-майор
 
Сообщений: 2383
Зарегистрирован: Ср авг 11, 2004 2:17 am
Откуда: Сибирского internet unlimited
Пункты репутации: 0

Сообщение Миша Спларов » Пт янв 21, 2005 9:32 am

3-ий пункт - имхо, лучше один раз скачать.
«Проектирование интерфейсов — увлекательный дизайнерский процесс. Схожее удовольствие можно получить от сложной верстки, от создания многомерных схем и решения других задач на логику и эстетику». (q) A. Лебедев
Миша Спларов
Генерал-лейтенант
 
Сообщений: 3022
Зарегистрирован: Пн апр 22, 2002 7:58 am
Откуда: Россия, Томск
Пункты репутации: 0

Сообщение Splinter_x86 » Пт янв 21, 2005 10:06 am

<!--QuoteBegin--><div class='quotetop'>QUOTE</div><div class='quotemain'><!--QuoteEBegin-->который бы делал панельку внизу или вверху, похожую на FareFox'овскую... (?)<!--QuoteEnd--></div><!--QuoteEEnd-->

Известно что Firefox опен-сорс, так что флаг тебе в руки :lol:
Splinter_x86
Лейтенант
 
Сообщений: 85
Зарегистрирован: Сб дек 04, 2004 4:45 pm
Пункты репутации: 0

Сообщение Vitalik » Пт янв 21, 2005 2:29 pm

<!--QuoteBegin-Splinter_x86+Jan 21 2005, 12:06--><div class='quotetop'>QUOTE(Splinter_x86 @ Jan 21 2005, 12:06)</div><div class='quotemain'><!--QuoteEBegin-->Известно что Firefox опен-сорс, так что флаг тебе в руки <!--emo&:lol:-->[img]style_emoticons/<#EMO_DIR#>/laugh.gif[/img]<!--endemo--><!--QuoteEnd--></div><!--QuoteEEnd-->Проблема не в том, как бы сделать такую панельку - это не сложно. Проблема в том, как лучше разрешить плагинам не просто открывать новые окошки, а добавлять какие-нибудь контролы в главное окно...

Кстати, по поводу BPL-пакетов. Если кто-нибудь напишет плагин не на Delphi7, а на Delphi6 или C++Builder6 (с использованием VCL и опцией runtime packages), то нужно будет также копировать vcl60.bpl.
Если эти файлы (vcl70.bpl и vcl60.bpl) поставлять отдельно, то они при сжатии RAR-ом занимают 407k и 391k соответственно. Если же их сжать RAR-ом вместе с опцией "непрерывный архив", то сумарный размер архива будет не 798k, а 587k!
Поэтому если будут желающие писать плагины на Delphi6 или C++Builder6 с использованием VCL, наверное, имеет смысл предлагать для скачивания архив с двумя файлами vcl70.bpl и vcl60.bpl размером 587k вместо только одного файла vcl70.bpl размером в архиве 407k?
<!--coloro:black--><span style="color:black"><!--/coloro-->Добро пожаловать на сайт по SynUniHighlighter: <a href="http://www.unihighlighter.com" target="_blank"><!--coloro:blue--><span style="color:blue"><!--/coloro-->www.unihighlighter.com<!--colorc--></span><!--/colorc--></a>

Совсем недавно открылся новый проект "<a href="http://portalsnov.ru" target="_blank"><!--coloro:blue--><span style="color:blue"><!--/coloro-->Портал Снов<!--colorc--></span><!--/colorc--></a>"!
Огромная просьба поддержать его хотя бы своим присутствием. <a href="http://portalsnov.ru" target="_blank"><!--coloro:blue--><span style="color:blue"><!--/coloro-->portalsnov.ru<!--colorc--></span><!--/colorc--></a><!--colorc--></span><!--/colorc-->
Vitalik
Капитан
 
Сообщений: 233
Зарегистрирован: Пн окт 27, 2003 11:06 pm
Откуда: Украина, cейчас живу в Харькове (учусь), а вообще я из Крыма
Пункты репутации: 0

Сообщение Vitalik » Вт янв 25, 2005 10:11 pm

<!--QuoteBegin-Vitalik+--><div class='quotetop'>QUOTE(Vitalik)</div><div class='quotemain'><!--QuoteEBegin-->2.2. Вот только я не знаю, как бы так лучше сделать, чтобы можно было написать такой плагин, который бы делал панельку внизу или вверху, похожую на FareFox'овскую... (?)<!--QuoteEnd--></div><!--QuoteEEnd-->В принципе можно использовать дополнительную библиотеку компонентов ToolBar2000 и ToolBarXP, которые позволяют создавать панели инструментов с разнообразным набором управляющих элементов. Например, с помощью них можно будет сделать и поиск, похожий на FareFox'овский <!--emo&:)-->[img]style_emoticons/<#EMO_DIR#>/smile.gif[/img]<!--endemo--> Я думаю использование дополнительных компонентов оправдано? <!--emo&:unsure:-->[img]style_emoticons/<#EMO_DIR#>/unsure.gif[/img]<!--endemo-->
Попробую продумать API настолько, чтобы плагин мог попросту сообщать набор необходимых элементов и их обработчики, а главная программа по этим запросам уже создавала панель... <!--emo&:ph34r:-->[img]style_emoticons/<#EMO_DIR#>/ph34r.gif[/img]<!--endemo-->
<!--coloro:black--><span style="color:black"><!--/coloro-->Добро пожаловать на сайт по SynUniHighlighter: <a href="http://www.unihighlighter.com" target="_blank"><!--coloro:blue--><span style="color:blue"><!--/coloro-->www.unihighlighter.com<!--colorc--></span><!--/colorc--></a>

Совсем недавно открылся новый проект "<a href="http://portalsnov.ru" target="_blank"><!--coloro:blue--><span style="color:blue"><!--/coloro-->Портал Снов<!--colorc--></span><!--/colorc--></a>"!
Огромная просьба поддержать его хотя бы своим присутствием. <a href="http://portalsnov.ru" target="_blank"><!--coloro:blue--><span style="color:blue"><!--/coloro-->portalsnov.ru<!--colorc--></span><!--/colorc--></a><!--colorc--></span><!--/colorc-->
Vitalik
Капитан
 
Сообщений: 233
Зарегистрирован: Пн окт 27, 2003 11:06 pm
Откуда: Украина, cейчас живу в Харькове (учусь), а вообще я из Крыма
Пункты репутации: 0

Сообщение Миша Спларов » Ср янв 26, 2005 5:23 pm

Vitalik, оправданно или не оправданно решается влиянием на скорость.
Если потерь в быстроте работы и удобстве не будет - то можно использовать хоть что.
«Проектирование интерфейсов — увлекательный дизайнерский процесс. Схожее удовольствие можно получить от сложной верстки, от создания многомерных схем и решения других задач на логику и эстетику». (q) A. Лебедев
Миша Спларов
Генерал-лейтенант
 
Сообщений: 3022
Зарегистрирован: Пн апр 22, 2002 7:58 am
Откуда: Россия, Томск
Пункты репутации: 0

Сообщение SiMM » Ср янв 26, 2005 6:33 pm

Может кому интересно будет
<a href='http://www.pspad.com/' target='_blank'>http://www.pspad.com/</a>
IRC: <a href='http://www.fileforum.ru/irc.php' target='_blank'>RUSNET #fileforum</a> (irc.tsk.ru:6669)
SiMM
Подполковник
 
Сообщений: 588
Зарегистрирован: Чт июн 13, 2002 8:41 am
Пункты репутации: 0

Сообщение Vitalik » Пт янв 28, 2005 10:18 am

<!--QuoteBegin-Миша Спларов+Jan 26 2005, 19:23--><div class='quotetop'>QUOTE(Миша Спларов @ Jan 26 2005, 19:23)</div><div class='quotemain'><!--QuoteEBegin-->Vitalik, оправданно или не оправданно решается влиянием на скорость.
Если потерь в быстроте работы и удобстве не будет - то можно использовать хоть что.
<!--QuoteEnd--></div><!--QuoteEEnd-->
Удобство работы от этого только возрастёт в несколько раз. <!--emo&:)-->[img]style_emoticons/<#EMO_DIR#>/smile.gif[/img]<!--endemo-->
Потерь в быстродействии я не замечаю.
Единственно, так это exe-шник увеличивается на 200k (80k если сравнивать rar-архивы).

<!--QuoteBegin-SiMM+Jan 26 2005, 20:33--><div class='quotetop'>QUOTE(SiMM @ Jan 26 2005, 20:33)</div><div class='quotemain'><!--QuoteEBegin-->Может кому интересно будет
<a href='http://www.pspad.com/' target='_blank'>http://www.pspad.com/</a>
<!--QuoteEnd--></div><!--QuoteEEnd-->
Видел. Очень интересный навороченый редактор. В какой-то степени это даже IDE <!--emo&:)-->[img]style_emoticons/<#EMO_DIR#>/smile.gif[/img]<!--endemo-->
<!--coloro:black--><span style="color:black"><!--/coloro-->Добро пожаловать на сайт по SynUniHighlighter: <a href="http://www.unihighlighter.com" target="_blank"><!--coloro:blue--><span style="color:blue"><!--/coloro-->www.unihighlighter.com<!--colorc--></span><!--/colorc--></a>

Совсем недавно открылся новый проект "<a href="http://portalsnov.ru" target="_blank"><!--coloro:blue--><span style="color:blue"><!--/coloro-->Портал Снов<!--colorc--></span><!--/colorc--></a>"!
Огромная просьба поддержать его хотя бы своим присутствием. <a href="http://portalsnov.ru" target="_blank"><!--coloro:blue--><span style="color:blue"><!--/coloro-->portalsnov.ru<!--colorc--></span><!--/colorc--></a><!--colorc--></span><!--/colorc-->
Vitalik
Капитан
 
Сообщений: 233
Зарегистрирован: Пн окт 27, 2003 11:06 pm
Откуда: Украина, cейчас живу в Харькове (учусь), а вообще я из Крыма
Пункты репутации: 0

Сообщение Миша Спларов » Пт янв 28, 2005 2:26 pm

Vitalik, экзешник, имхо пусть хоть 20 мегабайт весит. Мне главное чтобы редактор загружался не дольше bred'a.
«Проектирование интерфейсов — увлекательный дизайнерский процесс. Схожее удовольствие можно получить от сложной верстки, от создания многомерных схем и решения других задач на логику и эстетику». (q) A. Лебедев
Миша Спларов
Генерал-лейтенант
 
Сообщений: 3022
Зарегистрирован: Пн апр 22, 2002 7:58 am
Откуда: Россия, Томск
Пункты репутации: 0

Сообщение alx » Сб фев 05, 2005 4:07 pm

<!--QuoteBegin--><div class='quotetop'>QUOTE</div><div class='quotemain'><!--QuoteEBegin-->1.1. Будут обязательно в файле, а не в реестре. Но вот какой формат предпочесть, XML или INI, наверное потом решится, когда будет что настраивать<!--QuoteEnd--></div><!--QuoteEEnd-->
А что мешает сделать это в виде отдельного плагина? К примеру, описать интерфейс: enumSections(), enumProperties(section), getProperty(section, property), setProperty(section, property, value), removeProperty(section, property), removeSection(section) - ну, или как-то так. А потом сделать несколько плагинов, реализующих этот интерфейс. И чтобы все остальные плагины и само ядро редактора пользовались этим самым интерфейсом для сохранения своих настроек. А в качестве реализации - cfg_ini.dll, cfg_xml.dll, cfg_reg.dll, cfg_ftp.dll (типа свои настройки на ftp в виде файлика лежат - а плагин их оттуда читает, туда же и сохраняет - только юзернейм/пассворд ввести <!--emo&;)-->[img]style_emoticons/<#EMO_DIR#>/wink.gif[/img]<!--endemo-->. А потом можно сделать ещё плагин, который будет конвертить из одного формата в другой - используя эти же плагины и их общий интерфейс.

Зачем это нужно? А для удобства же. Многим удобно хранить конфиги в виде файла. А кому-то - кровь из носа, ну нужен реестр, потому как он админ, и у него в ведомстве 44 машины, и всем нужно срочно с помощью групповой полититки домена сделать одни и те же настройки (к примеру, препод заказал спец. конфигурацию этого редактора на один компьютерный класс). Да, конечно, можно файлы раскопировать. Но почему бы не сделать так, как предлагается - на каждый способ хранения конфига по плагину? И cfg_reg.dll реализовать можно в свободное время, и заняться этим может тот, кому это нужно - благо, архитектура позволяет.

А вот ещё идея. Встроили мы текст по OLE – и с помощью какого-нибудь cfg_ole.dll сохранили какие-нибудь важные настройки. Или некий cfg_inline.dll умеет читать настройки прямо из файла, который редактируется, как это делают VIM и Emacs:
Код: выделить все
// vim:tw=78:ts=8:

Сие для VIM означает: ширина текста – 78 символов максимум, размер табуляции – 8 символов. А "//" – комментарий на языке программирования, на котором файл написан.

И ещё идея. База данных как в Миранде или VIM. У человека же не только настройки должны сохраняться, а ещё много чего: хистори, позиции в файлах… Например, VIM при выходе сохраняет историю команд, историю поиска, содержимое регистров (регистр – буфер обмена, коих может быть много), позицию в файле, другую всякую ерунду и полезную информацию.

<!--QuoteBegin--><div class='quotetop'>QUOTE</div><div class='quotemain'><!--QuoteEBegin-->Проблема не в том, как бы сделать такую панельку - это не сложно. Проблема в том, как лучше разрешить плагинам не просто открывать новые окошки, а добавлять какие-нибудь контролы в главное окно...<!--QuoteEnd--></div><!--QuoteEEnd-->
Может, сделать несколько типов окно, которые экспортируются плагинами? Например, DOCUMENT (что-то вроде документа по форме и отображению – то же Preview in Internet Explorer), PANEL, TOOLBAR, DIALOG, MODELESSDIALOG, и т.д. И передаётся при этом HWND, т.е. Виндузная структура, и тогда уже не важно, на чём плагин написан – он вставляется в нужное место как окно.

<!--QuoteBegin--><div class='quotetop'>QUOTE</div><div class='quotemain'><!--QuoteEBegin--> 1.3. По поводу поддержки нескольких пользователей... Пока не знаю...<!--QuoteEnd--></div><!--QuoteEEnd-->
Может, просто сделать cfg_reg.dll и хранить настройки в HKEY_CURRENT_USER? Или cfg_ini.dll настроить на %APPDATA%\MyEditor\main.ini или %HOME%\myeditor.ini? Тогда настройки сами будут распихиваться куда нужно для каждого юзера.

И ещё мысли на счёт ускорения загрузки. Чтобы загружалось быстро, нужно грузить только необходимые плагины (а для диалога настроек некоторые данные вроде категории плагина и названия можно кешировать, и только в момент отображения собственно настроечных контролов подгружать плагин). К примеру, открывает человек .cpp. А из кеша плагинов ядро видит, что для .cpp:
1. используется плагин индентации indent\cpp.dll (или используется плагин indent.dll с файлом конфигуации indent\cpp.cfg)
2. используется плагин подсветки синтаксиса highlight\cpp.dll
3. используется набор шаблонов конструкций языка templates\cpp.txt (для всяких там for (;;) {}, if () {} else {} – ну, как во всех «модных» IDE)
4. используется плагин autocomplete\cpp.dll.
5. используется плагин outline\cscope.dll (который, к примеру, выгребает имена всех функций, типов, классов и показывает их в панельке где-то слева)
Т.е. при открытии .cpp подгружаются эти пять плагинов. А при открытии .txt – плагин детектирования кодировки и какой-нибудь general_indent.dll, а также autocomplete\general.dll (который, как это в VIM сделано, при нажатии Ctrl-P и Ctrl-N ищет в текущем или во всех открытых документах слова, начинающиеся с кусочка под курсором).
alx
Рядовой
 
Сообщений: 6
Зарегистрирован: Сб фев 05, 2005 2:11 pm
Пункты репутации: 0

Пред.След.

Вернуться в Software

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3

cron