|
0 / 0 / 0
Регистрация: 18.04.2014
Сообщений: 5
|
|||||||||||
Регулярные выражения - Редактор с подсветкой синтаксиса18.04.2014, 21:18. Показов 2459. Ответов 8
Метки нет (Все метки)
доброго времени суток. Помогите разобраться с проблемой. Пишу курсовой проект "Редактор с подсветкой синтаксиса". Для парсинга текста использую регулярные выражения. Ключевые слова берутся из текстового файла. когда загружаю другой файл с другими словами, подсвечиваются всеровно предыдущие слова, хотя в процессе отладки проверял, файл новый файл открывается, слова в массив загружаются, но не подсвечиваются, а как только встречается слово из предыдущего набора они из массива пропадают, и в нем оказываются прежние слова.
Вот функция загрузки слов из файла и подсветки
0
|
|||||||||||
| 18.04.2014, 21:18 | |
|
Ответы с готовыми решениями:
8
Текстовый редактор с подсветкой синтаксиса Регулярные выражения. Подсветка синтаксиса. Редактор с подсветкой синтаксиса |
|
Администратор
|
||||||||||||||||
| 20.04.2014, 10:15 | ||||||||||||||||
|
walkman950, RichTextBox запомнил цвет ранее выделенного текста и поэтому подсвечивает старые и новые слова. Тебе надо после загрузки нового списка слов сбросить цвет всего текста внутри RichTextBox. Например, так:
1) Ты не закрываешь StreamReader после использования. Следует вызывать Close() или использовать блок using 2) Ты повторно открываешь тот же самый файл на чтение, когда есть возможность начать чтение с начала:
0
|
||||||||||||||||
|
0 / 0 / 0
Регистрация: 18.04.2014
Сообщений: 5
|
|
| 20.04.2014, 11:36 [ТС] | |
|
C функцией readline разобрася, а вот подсветка все равно не работает, сброс текстбокса не помогает( всеровно подсвечиваются только слова из предыдущего файла
0
|
|
|
Администратор
|
|
| 20.04.2014, 11:44 | |
|
walkman950, значит у тебя где-то еще ошибка. Нужно смотреть весь твой код чтобы понять что не так.
0
|
|
|
0 / 0 / 0
Регистрация: 18.04.2014
Сообщений: 5
|
|
| 20.04.2014, 11:47 [ТС] | |
|
возможно я не совсем правильно описал проблему, подсветка слов работает, только когда загружаются в массив новые слова, если их уже писать в текстбоксе они не подсвечиваются, а если писать старые слова, которых в массиве уже нет они всеровно подсвечиваются.
0
|
|
|
Администратор
|
|
| 20.04.2014, 12:20 | |
|
walkman950, а ты вызываешь функцию Parse_text() при изменении текста в RichTextBox? Это можно сделать через событие TextChanged, например.
0
|
|
|
0 / 0 / 0
Регистрация: 18.04.2014
Сообщений: 5
|
|
| 20.04.2014, 12:32 [ТС] | |
|
так и есть. Вообщем вот проект, если есть желание, гляньте форма 1 и форма 3,форма 2 там другое задние, а в настройках выбирается файл со словами (по умолчанию стоит файл в папке с проектом).
0
|
|
|
Администратор
|
||||||
| 20.04.2014, 19:40 | ||||||
Сообщение было отмечено walkman950 как решение
Решение
walkman950, у тебя ошибка в классе Form3 где ты создаешь новый экземпляр Form1 и вызываешь методы Load_syntax() и Parse_text() на нём, в то время как нужно работать с уже существующим экземпляром. Чтобы исправить делаем следующее:
В файле Form3.cs:
Это вроде исправляет ошибку про которую ты говоришь, но в коде еще целая куча заботливо разложенных граблей. 1) Избавься от static полей в Form3. 2) нет проверок на DialogResult при вызове ShowDialog() 3) давай нормальные имена своим контролам. button1, textBox1 - плохие имена. buttonOk, textBoxPath - хорошие. 4) Для хранения настроек стоит использовать стандартный механизм Windows Forms или сделать собственный класс. 5) Вместо прямого вызова методов Load_syntax() и Parse_text() из Form3 лучше уведомлять главную форму о изменении настроек с помощью события. 6) Цвет подсветки ключевых слов и комментариев лучше вынести в настройки и ссылаться на них вместо явно указанных констант в коде. Такой код будет проще поддерживать.
1
|
||||||
|
0 / 0 / 0
Регистрация: 18.04.2014
Сообщений: 5
|
|
| 20.04.2014, 19:50 [ТС] | |
|
огромное спасибо!!!!) Все работает!)
0
|
|
| 20.04.2014, 19:50 | |
|
Помогаю со студенческими работами здесь
9
Редактор кода с подсветкой синтаксиса Встроить текстовый редактор с подсветкой питоновского синтаксиса Скрипт, редактор html,css,js на сайт с подсветкой синтаксиса Посоветуйте хороший простой текстовый редактор с подсветкой синтаксиса Подскажите пожалуйста текстовый редактор с настраиваемой подсветкой синтаксиса Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога
Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip"
Извлеките архив и вы увидите. . .
|
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога
Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д.
Сборка примера
Скачайте. . .
|
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net
REST сервисы временно не работают, только через Web.
Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
|
|
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
|
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
|
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма).
На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
|
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ *
Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи
и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
|