Форум: "Основная";
Текущий архив: 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