С Новым годом! Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/9: Рейтинг темы: голосов - 9, средняя оценка - 4.56
32 / 14 / 6
Регистрация: 11.04.2014
Сообщений: 240

Открыть файл в Fast Colored TextBox

03.12.2019, 08:44. Показов 2029. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день! Решил написать свой ридер логов с подсветкой синтаксиса, взял за основу Fast Colored TextBox, при выводе небольших объемов данных все отлично. Мне потребуется открывать текстовые файлы размером до 500мб, и чтобы это было быстро, в инете не нашел способа. В демо приложении от Fast Colored TextBox есть форма Lazy Loading Sample в ней очень быстро открываются большие файлы, но я не могу понять эту часть проги вырезать. Может кто сталкивался или знает другие быстрые способы грузить открывать большие текстовые файлы ?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
03.12.2019, 08:44
Ответы с готовыми решениями:

Немного больше о компоненте Fast Colored TextBox for Syntax Highlighting
Отсюда https://www.codeproject.com/articles/161871/fast-colored-textbox-for-syntax-highlighting Взял этот компонент. Сделал подсветку,...

Открыть файл который указан в textbox
Надо открыть файлик который указывается в TextBox. Проект WinForm VS2008. Ругается так: error C2664: fopen: невозможно преобразовать...

Открыть файл и записать значения в TextBox
Есть программка - открывает первый файл и создает нужное количество TextBox на форме, потом открывает другой файл и делает из него записи в...

4
16 / 9 / 7
Регистрация: 27.11.2019
Сообщений: 60
03.12.2019, 11:20
Попробуйте грузить не всё сразу, а разбив на несколько задач в разных потоках или просто частями, тогда пользователь и не заметит, что оно загрузилось не сразу, ибо будет сразу же видеть начало файла, а пока он долистает до низа, то уже всё и загрузится
1
32 / 14 / 6
Регистрация: 11.04.2014
Сообщений: 240
03.12.2019, 14:07  [ТС]
Reen_empty, я не настолько хорошо это понимаю, чтобы реализовать. Ищу рабочий пример, который можно было бы наглядно посмотреть.
0
16 / 9 / 7
Регистрация: 27.11.2019
Сообщений: 60
03.12.2019, 15:15
Цитата Сообщение от vitamin4ik Посмотреть сообщение
я не настолько хорошо это понимаю, чтобы реализовать.
учи потоки, это очень просто, а вот поэтапная загрузка требует дописывать в конец и чтение с определённой строки, это уже элементы парсера, парсеров в интернете очень много, а потому вперёд учить это. Примеров не дам, ибо сейчас кода под рукой нет, да и сходу не напишу
0
32 / 14 / 6
Регистрация: 11.04.2014
Сообщений: 240
04.12.2019, 14:17  [ТС]
С одной проблемой справился, а именно с выводом в fast colored textbox файла большого размера, время открытия ~5-6 сек вес 100 мб / 200000 строк. Но столкнулся с другой проблемой. Не могу создать свой стиль
Тут ->https://www.codeproject.com/Ar... lighting-2 есть пример создание стиля но он не подходит т.к. используется при свойстве TextChanged:
C#
1
public readonly Style Rus = new TextStyle(Brushes.Yellow, null, FontStyle.Regular);
C#
1
2
3
4
5
 private void fastColoredTextBox1_TextChanged(object sender, FastColoredTextBoxNS.TextChangedEventArgs e)
        {
            e.ChangedRange.SetStyle(Rus, @"[А-яЁё]", RegexOptions.Multiline);         
                
        }
Тут вызывается отдельный метод подсветки (вот так fctb.SyntaxHighlighter.RedStyle):

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
private void HighlightVisibleRange()
        {
            //expand visible range (+- margin)
            var startLine = Math.Max(0, fctb.VisibleRange.Start.iLine - margin);
            var endLine = Math.Min(fctb.LinesCount - 1, fctb.VisibleRange.End.iLine + margin);
            var range = new Range(fctb, 0, startLine, 0, endLine);
            //clear folding markers
            range.ClearFoldingMarkers();
            //set markers for folding
            range.SetFoldingMarkers(@"N\d\d00", @"N\d\d99");
            //
            range.ClearStyle(StyleIndex.All);
            range.SetStyle(fctb.SyntaxHighlighter.RedStyle, @"[А-яЁё]");
            range.SetStyle(fctb.SyntaxHighlighter.MagentaStyle, @"\d+:\d+:\d+.\d+");
        }
Но как создать свой? Не могу нигде найти.
Предустановленные стили не подходят(

Добавлено через 1 час 20 минут
Разобрался.
Создание:
C#
1
TextStyle mystyle = new TextStyle(Brushes.Yellow, null, FontStyle.Regular);
вызов
C#
1
range.SetStyle(mystyle, @"[А-яЁё]");
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
04.12.2019, 14:17
Помогаю со студенческими работами здесь

Как открыть файл doc или docx и записать их текст в TextBox
Прежде чем огласить проблему хочу сказать, что я в курсе того, что такие темы создавались на форуме, но вменяемого ответа на вопрос я не...

Открыть диалоговое окно с открытием файла, потом, выбрав файл txt, в textbox вывести содержимое
Недавно начал изучать c# Может быть мой вопрос прозвучит банальным. Как мне при нажатии на кнопку открыть диалоговое окно с открытием...

Открыть файл *.xlsx в 0pe 0фи. Просто открыть файл
Друзья! Вот сам файл. Создан MS Office. Он не открывался в 14-м году, он не открывается сейчас. Они там что делают, спят что ли? Файл-то...

Открыть папку и выделить файл/открыть файл в Excel
Привет, как программно открыть папку и выделить файл ? также как заставить Excel открыть файл ? в Delphi делал это так: ...

Как из Access открыть файл, используя диалоговое окно "Открыть файл"?
Из базы данных в Access нужно открыть файл Exsel. причем пользователь должен выбрать его сам. то есть сделать открытие файла через...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
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% до. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru