С Новым годом! Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.74/70: Рейтинг темы: голосов - 70, средняя оценка - 4.74
49 / 44 / 8
Регистрация: 06.09.2010
Сообщений: 419

Подсветка синтаксиса

30.07.2012, 22:28. Показов 13653. Ответов 72
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как реализовать подсветку синтаксиса?
Желательно как в Ноутпад++. То есть вводишь слово и как только ввел - оно сразу выделилось и продолжился ввод.
 Комментарий модератора 
Вопросы по Rad Studio/C++ Builder задавайте в соответствующем разделе!
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
30.07.2012, 22:28
Ответы с готовыми решениями:

Подсветка синтаксиса
Здрасти! Есть такая проблема. Хочу сделать подсветку синтаксиса (да, да, я изобретаю велосипед, но ради практики и обучения). Как...

Не работает подсветка синтаксиса
Привет, как можно включить проверку синтаксиса в редакторе (такую как в Delphi) ? студия XE

Подсветка синтаксиса в RichEdit
Доброго времени суток. Пишу текстовый редактор с подсветкой синтаксиса хтмл. подскажите как этот код переделать под множество ключевых...

72
1408 / 572 / 127
Регистрация: 31.10.2011
Сообщений: 1,960
10.08.2012, 00:14
Студворк — интернет-сервис помощи студентам
Наша песня хороша, начинай сначала...........

Если ты сделал как сдесь написано, то
потом сделай как сдесь. И дело в шляпе.

Добавлено через 1 минуту
А файлы *.lib, *.dpk, *.bpl, *.bpi сами создадутся.
0
 Аватар для kzru_hunter
1124 / 795 / 101
Регистрация: 01.02.2011
Сообщений: 1,887
Записей в блоге: 1
10.08.2012, 00:17
Я вот как устанавливал:
1) скачал архивы (Packages, Sources) с http://synedit.svn.sourceforge... t/SynEdit/ с использованием кнопки "Download GNU tarball"
2) распаковал архивы, открыл SynEdit_RXE.dpk в IDE
скомпилировать не получилось, т.к. не видел исходников,
поэтому поместил папку с исходниками рядом с папкой packages
3) скомпилировал, но оказалось, что не тот пакет скомпилировал (думал, что "D" относится к Delphi)
4) нашел и прочитал пост от Dimon
5) открыл другой пакет SynEdit_DXE.dpk, поменял в настройках проекта то, что было написано в посту;
скомпилировал и установил пакет.
6) создал новое приложение, поместил TSynEdit, но Builder заругался, что не знает TSynEdit.
Поэтому добавил в "каталоги поиска" путь до исходников SynEdit.
7) после этого проект скомпилировался нормально и подсветка заработала после добавления компонента определенной подсветки и присоединения его к TSynEdit
1
Эксперт С++
 Аватар для Avazart
8484 / 6151 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
10.08.2012, 00:20
Какой конкретно пакет компилировали и устанавливали ( какой версии ) ?
0
Я Фоюмчанин ? дааааа)
 Аватар для ivan.-94
213 / 204 / 23
Регистрация: 02.06.2012
Сообщений: 1,424
Записей в блоге: 12
10.08.2012, 00:36
_Dimon_, Всё это делал и ещё раз делать небуду. Впринципе мне оно и ненужно было
0
1408 / 572 / 127
Регистрация: 31.10.2011
Сообщений: 1,960
10.08.2012, 00:40
ivan.-94, ну как знаешь.......
0
Я Фоюмчанин ? дааааа)
 Аватар для ivan.-94
213 / 204 / 23
Регистрация: 02.06.2012
Сообщений: 1,424
Записей в блоге: 12
10.08.2012, 00:43
kzru_hunter, Вот и проблема у меня XE2
0
Эксперт С++
 Аватар для Avazart
8484 / 6151 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
10.08.2012, 00:56
Попробывал пакет с сайта указаного kzru_hunter и все получилось без проблем.

Указал что надо генерить с++ файлы при компиляции пакетов и без проблем скомпилил и проинсталировал.

Создал новый проект, прописал пути к сорсам ( SynEdit/Source ) .Потребовало указать путь к lib - он лежит в папке SynEdit/Packages

0
 Аватар для kzru_hunter
1124 / 795 / 101
Регистрация: 01.02.2011
Сообщений: 1,887
Записей в блоге: 1
10.08.2012, 08:46
Еще вспомнил одну возможность (которую использовал для задания дефолтных пакетов в 6-м билдере).
Если кто не знает, то можно задать настройки для Default проекта следующим образом (решил подробно расписать, но для BuilderXE):
1) закрыть все проекты (File->Close All)
2) нажать "Project->Default Options->C++ Builder"
и в появившихся настройках, а именно в "C++ Compiler->Directories and Conditionals"
добавить в опцию "Include file search path" путь до папки "Sources", в которой лежат исходники SynEdit.

После проделанных действий не придется каждый раз в новый проект прописывать путь до исходников SynEdit.
0
Эксперт С++
 Аватар для Avazart
8484 / 6151 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
10.08.2012, 20:03
Ну так,когда устанавливаешь пути в опициях проекта достаточно в нижнем левом углу поставить галочку что бы настройки стали не только для этого проекта, а вообще по дефолту.

Добавлено через 7 часов 16 минут
Но я б так не делал без надобности, по тому как эти пути прописываются в файл проекта, а потом при переносе проектов могут возникнуть сложности...
1
1408 / 572 / 127
Регистрация: 31.10.2011
Сообщений: 1,960
11.08.2012, 02:00
kzru_hunter, Avazart, обращаюсь к вам по поводу двух ваших последних постов.
Не надо думать как прописАть пути для каждого проекта. Надо их один раз обозначить так как я привел здесь.
1
Эксперт С++
 Аватар для Avazart
8484 / 6151 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
11.08.2012, 03:04
А разве это не одно и то же?
0
 Аватар для kzru_hunter
1124 / 795 / 101
Регистрация: 01.02.2011
Сообщений: 1,887
Записей в блоге: 1
11.08.2012, 07:27
Все же правильней будет - прописать пути в "Environment Options", т.к. если прописывать в "Options for Default project", то этот путь будет храниться в каждом следующем проекте, большинство из которых не будет использовать SynEdit, и если такие проекты передать кому-нибудь другому, то у него будут вылазить всякие предупреждения типа "C:\\SynEdit does not exist"

Цитата Сообщение от _Dimon_ Посмотреть сообщение
Нужно прописать путь к сорцам в:
Tools->Options->Environment Options->Delphi Options->Library->Library path

Tools->Options->Environment Options->C++ Options->Path and Directories->Include path
Tools->Options->Environment Options->C++ Options->Path and Directories->Library path
а не достаточно ли просто прописать просто в:
Tools->Options->Environment Options->C++ Options->Path and Directories->Include path
1
Эксперт С++
 Аватар для Avazart
8484 / 6151 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
05.12.2012, 04:05
Лучший ответ Сообщение было отмечено как решение

Решение

Собственно если не использовать сторонние компоненты
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
//---------------------------------------------------------------------------
bool __fastcall Select(TRichEdit* RE,String Word, TColor Color=clBlack, TFontStyle FStyle=fsBold)
{
    int FoundAt, StartPos, ToEnd;
 
    if(RE->SelLength)
         StartPos = RE->SelStart + RE->SelLength;
    else
         StartPos = 0;
 
    ToEnd = RE->Text.Length() - StartPos;
    FoundAt = RE->FindText(Word, StartPos, ToEnd,TSearchTypes()<<stWholeWord);
 
    if (FoundAt != -1)
    {
        RE->SetFocus();
        RE->SelStart = FoundAt;
        RE->SelLength = Word.Length();
 
        RE->SelAttributes->Style=RE->SelAttributes->Style<< FStyle;
        RE->SelAttributes->Color= Color;
 
        return true;
    }
return false;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
while( Select(RichEdit1,"for",clBlue) );
RichEdit1->SelLength= 0;
 
while( Select(RichEdit1,"if",clRed) );
RichEdit1->SelLength= 0;
 
 
while( Select(RichEdit1,"__fastcall",clBlack) );
RichEdit1->SelLength= 0;
 
while( Select(RichEdit1,"void",clBlack) );
RichEdit1->SelLength= 0;
}
//---------------------------------------------------------------------------
5
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
05.12.2012, 04:05
Помогаю со студенческими работами здесь

Подсветка синтаксиса RichEdit
//--------------------------------------------------------------------------- #include &lt;vcl.h&gt; #pragma hdrstop #include...

Подсветка синтаксиса RichEdit
Всем доброго времени суток. Кто в курсе почему не получается вот с таким кодом: void __fastcall TForm2::RichEdit1Change(TObject *Sender) ...

Подсветка синтаксиса в RichEdit
Хочу подсветить html разметку без всяких специальных компонентов через RichEdit (для начала хотя бы просто сами теги без атрибутов и...

Динамическая подсветка синтаксиса
Есть ли в XE8 и выше студиях динамическая подсветка синтаксиса, к примеру как в VS2015, когда вводишь неправильную инструкцию, подсвечивает...

Подсветка синтаксиса в RichEdit
Доброго времени суток! Как можно в RichEdit реализовать подсветку синтаксиса HTML например? Заранее спасибо!!!


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
73
Ответ Создать тему
Новые блоги и статьи
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и источниками (напряжения, ЭДС и тока). Найти токи и напряжения во всех элементах. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru