Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.06.20;
Скачать: [xml.tar.bz2];

Вниз

Подсветка   Найти похожие ветки 

 
Ламо   (2004-06-06 15:54) [0]

Раскажите как осуществляется подсветка синтаксиса в текстовых редакторах(Delphi, php) и т.д. и т.п.


 
VMcL ©   (2004-06-06 16:10) [1]

Часто на базе элемента TRichEdit.


 
Anatoly Podgoretsky ©   (2004-06-06 16:36) [2]

По разному


 
parovoZZ ©   (2004-06-06 19:28) [3]

А если серъёзно?


 
Cardinal ©   (2004-06-06 19:51) [4]

>А если серъёзно?

Я не знаю, но, вероятно, существует массив строк с выделяемыми
словами. Ищется строка i (в цикле), находится ее позиция, устанавливается SelStart, SelLength := Length(massiv[i]), ищется ее следующее вхождение в текст и т.д.


 
GanibalLector ©   (2004-06-06 19:53) [5]

>Я не знаю, но, вероятно, существует массив строк с выделяемыми
>словами. Ищется строка i (в цикле), находится ее позиция, >устанавливается SelStart, SelLength := Length(massiv[i]), >ищется ее следующее вхождение в текст и т.д.

И вероятнее всего это еще в потоке...дабы не тормозить основной поток программы.


 
parovoZZ ©   (2004-06-06 20:25) [6]

Ясно, будем работать.


 
AlexG ©   (2004-06-06 21:36) [7]

Наверно, нужно еще и обеспечить возможность обработки только видимого текста, а не всего редактируемого. Иначе будет очень долго при большом файле.


 
Gero ©   (2004-06-06 22:00) [8]


> Часто на базе элемента TRichEdit.

Скажите, Вы видели когда-либо нармальную неглючную подсветку синтаксиса на базе RichEdit"а?
Лично я - нет.
Он совсем не подходит для этих целей.


 
vertal ©   (2004-06-06 22:45) [9]

Алгоритм подсветки я бы предложил примерно такой : есть текст , загруженный куда нибудь.Есть позиция последнего видимого символа и первого видимого символа.Надо раскрасить текст от первого до последнего видимого символа в соответствии с выбранной схемой подсветки.Есть сканер , который на входе принимает текст , позицию следующего обрабатываемого символа и схему подсветки , а на выходе дает тип опознанной лексемы (ключевое слово , комментарий , спец символ , недопустимый символ и т.д.) и позицию следующего обрабатываемого символа . По этой информации можно соотв. расцветить текст между этими двумя позициями.Если есть многострочные комментарии , то придется проходить текст от начала , чтобы определить , чем является первый видимый символ - текстом комментария или программы.Я реализовывал такой алгоритм в нескольких программах на паскале, Delphi и Delphi+VBA for Word, если кому интересно то исходники есть на моем сайте www.vertal1.narod.ru в соотв. разделе.


 
KilkennyCat ©   (2004-06-07 00:37) [10]


> Gero ©   (06.06.04 22:00) [8]


на базе ричедита действительно не видел нормальную, а вот у плюсмемо - да.



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2004.06.20;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.031 c
14-1086083574
000
2004-06-01 13:52
2004.06.20
Помогите найти фотки!!!


1-1086704286
Ivolg
2004-06-08 18:18
2004.06.20
TPopupMenu


14-1086315226
Kair
2004-06-04 06:13
2004.06.20
Служба сообщений


6-1083222482
IncubuS
2004-04-29 11:08
2004.06.20
Проблемы с получение hmtl страницы


1-1086451515
Pavel
2004-06-05 20:05
2004.06.20
Rxlib





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский