|
1 / 1 / 2
Регистрация: 02.10.2013
Сообщений: 76
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||
обработка текста в richtextbox02.10.2013, 21:49. Показов 3307. Ответов 12
Метки нет (Все метки)
Привет! надеюсь разделом не ошибся
![]() Ребята написал прожку для работы, но она очень медленно работает, может подскажите как ее оптимизировать? задача в следующем: есть лист с повторяющимися строками:
1) открытие и обработка из файла работает так себе (когда 500000 строк):
![]()
сама процедура обработки:
Добавлено через 6 минут не успел за 5 мин отредактировать...
0
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||
| 02.10.2013, 21:49 | |
|
Ответы с готовыми решениями:
12
Подсветка текста в RichTextBox Фон текста в RichTextBox Отображение текста DrawString отличается от RichTextBox |
|
369 / 341 / 108
Регистрация: 12.02.2013
Сообщений: 653
|
|||||||
| 02.10.2013, 21:56 | |||||||
|
Добавлено через 1 минуту пример
1
|
|||||||
|
1 / 1 / 2
Регистрация: 02.10.2013
Сообщений: 76
|
||||||
| 03.10.2013, 00:51 [ТС] | ||||||
|
отлично, спасибо!
можете пожалуйста подсказать как можно вставить строки в листбокс из Clipboard? Добавлено через 1 час 57 минут по Вашему совету код получился намного короче! и красивее ![]()
![]() понимаю что основной тормоз это отображение линий в текстбоксе , листбокс ускорения не дает, может можно как то это ускорить?
0
|
||||||
|
369 / 341 / 108
Регистрация: 12.02.2013
Сообщений: 653
|
|
| 03.10.2013, 09:09 | |
|
tigorlab, скиньте обрабатываемый файл...
1
|
|
|
1 / 1 / 2
Регистрация: 02.10.2013
Сообщений: 76
|
|
| 03.10.2013, 09:28 [ТС] | |
|
Diman777, в архиве test - файл, а в Text for SQL1.rar сама программка (все что касается этой темы находится на второй вкладке формы), спасибо за помощь!
0
|
|
|
369 / 341 / 108
Регистрация: 12.02.2013
Сообщений: 653
|
||||||
| 03.10.2013, 10:12 | ||||||
|
tigorlab, держи, замени свой метод в проекте на этот
1
|
||||||
|
218 / 212 / 63
Регистрация: 17.04.2012
Сообщений: 382
|
||||||
| 03.10.2013, 10:48 | ||||||
|
Этот код тоже будет выполнятся долго. Вообще работа с контролами очень затратная операция, если постоянно их дергать. В виртуальной памяти все срабатывает намного быстрее.
Вот код, который делает то, что вам нужно в 2 раза быстрее чем предложил Diman777
1
|
||||||
|
1 / 1 / 2
Регистрация: 02.10.2013
Сообщений: 76
|
|||||||
| 03.10.2013, 11:37 [ТС] | |||||||
|
вот это скорость!! ребята спасибо огромное!
C17H19NO3 а за счет чего такой прирост скорости? методом, как в строке 25 быстрее заполняется массив? а строка 15 быстро выводит данные на форму? еще раз спасибо!!! Добавлено через 14 секунд вот это скорость!! ребята спасибо огромное! C17H19NO3 а за счет чего такой прирост скорости? методом, как в строке 25 быстрее заполняется массив? а строка 15 быстро выводит данные на форму? еще раз спасибо!!! Добавлено через 15 минут
0
|
|||||||
|
218 / 212 / 63
Регистрация: 17.04.2012
Сообщений: 382
|
|||||||||||
| 03.10.2013, 12:33 | |||||||||||
|
Скорость увеличивается за щет обработки в виртуальной памяти, удаления метода TrimToEnd() и использование контролов только для отображения.
1. Мы один раз загрузили данные в массив, а дальше оперируем данными в массиве, без обращения к какому либо контролу. - присвоили данные первому richTextBox1 - для метода Distinct() нам не нужно обращатся к richTextBox1 (на что тратится время) и опять выгружать данные с него, они у нас уже есть в массиве "source". 2. При разбиении текста на линии, мы указали StringSplitOptions.RemoveEmptyEntries. Это значит, что наш массив "source" не будет содеражать пустых строк.
4. Этот кусок кода тоже отработает быстрее в силу того, что мы не обращаемся 100500 раз к контролу и записываем по одной строке в него, а пишем рузультат в список "destination" (эта операция выполняется быстрее). После окончания обработки у нас есть готовая выборка данных и мы просто присваиваем эту выборку второму richTextBox.
2
|
|||||||||||
|
1 / 1 / 2
Регистрация: 02.10.2013
Сообщений: 76
|
|
| 03.10.2013, 12:49 [ТС] | |
|
спасибо за детальное объяснение!!!
я так понимаю что контролы это всякие текстбоксы, лейблы и т.д. - все то где отображается инфа? (вроде это гугл выдает) п.с. простите за глупый вопрос, я химик и очень далек от программирования
0
|
|
|
218 / 212 / 63
Регистрация: 17.04.2012
Сообщений: 382
|
|
| 03.10.2013, 12:59 | |
|
да-да-да
это они и есть. Все что вы кидаете на форму - это и есть контролы. Без проблем, все начинали с одного и того же, с НУЛЯ. Главное не забывать о том, какими мы были в начале.
1
|
|
|
369 / 341 / 108
Регистрация: 12.02.2013
Сообщений: 653
|
||||||||
| 03.10.2013, 13:39 | ||||||||
Познавательно! Как то не задумывался об этомМожно еще кстати сократить код
2
|
||||||||
|
1 / 1 / 2
Регистрация: 02.10.2013
Сообщений: 76
|
|
| 03.10.2013, 14:08 [ТС] | |
|
Diman777, C17H19NO3, огромное вам спасибо!!!
0
|
|
| 03.10.2013, 14:08 | |
|
Помогаю со студенческими работами здесь
13
Сохранение текста из RichTextBox с форматированием и с указанной кодировкой Почиму при сохранении в базу текста из RichTextBox измененный текст перекареживает насмерть? Обработка текста обработка вводимого текста Обработка изображений (распознавание текста) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога
SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
|
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
|
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога
SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
|
Установка 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
Решили писать научную статью с неким РОманом
|