Главная страница
    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.037 c
14-1086176876
ЧИД
2004-06-02 15:47
2004.06.20
ОТЧЕТЫ


6-1083057490
Veon
2004-04-27 13:18
2004.06.20
Подсчёт трафика


1-1086612922
афвуд
2004-06-07 16:55
2004.06.20
А никто не пробовал писать свой "Variant" ?


1-1086253320
Сергей_И
2004-06-03 13:02
2004.06.20
Помогите создать в гриде чекбокс


9-1076807518
Kulrom
2004-02-15 04:11
2004.06.20
Проблемма с Direct x - ом





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