![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Нужно заменить текст в memo1. Код работает но очень медленно, а мемо содержит 15 тыс строк.
Сам код вот: PHP код:
Вопрос: можно ли как-то ускорить замену? |
|
#2
|
|||
|
|||
|
можно без строк:
Memo1.Text := StringReplace(Memo1.Text, 'null', '''null''', [rfReplaceAll, rfIgnoreCase]); |
|
#3
|
|||
|
|||
|
Знаю что можно, но скорости это не прибавляет
![]() |
|
#4
|
|||
|
|||
|
А вот если так:
Код:
f:= TStringList.Create(); f.Text:= mmo1.Text; mmo1.Text := StringReplace(f.Text, 'null', '''null''', [rfReplaceAll, rfIgnoreCase]); |
|
#5
|
|||
|
|||
|
Действительно, StringReplace на больших объемах работает очень медленно. Лучше напиши руками.
|
|
#6
|
||||
|
||||
|
Обрабатывай текст не в мемо, а в памяти. После обработки выводи. Уменьшит наглядность, но должно помочь в скорости.
|
|
#7
|
|||
|
|||
|
Цитата:
а лучше без стринглиста Код:
S:String; S:= mmo1.Text; mmo1.Text := StringReplace(S, 'null', '''null''', [rfReplaceAll, rfIgnoreCase]); |