Главная страница
    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.47 MB
Время: 0.053 c
1-1086607879
sesh
2004-06-07 15:31
2004.06.20
Запись в текстовый файл в DOS кодировке


14-1086286082
Константинов
2004-06-03 22:08
2004.06.20
Word и немецкий язык


1-1086457399
8ung
2004-06-05 21:43
2004.06.20
Код символа


3-1085050345
JohnS
2004-05-20 14:52
2004.06.20
Инструмент для древовидной структуры


4-1084621171
Mameluke
2004-05-15 15:39
2004.06.20
Help по WinAPI Delphi





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский