![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Поиск и вставка. [D7, XP]
Wood © (2007-04-02 04:32:00)Здравствуйте.
В строке S: string неопределенной длины произвожу поиск функцией
AnsiStrPos()
при нахождении искомого, делаю вставку (string) процедурой
Insert()
Есть что-нибудь побыстрее? Если да, то какие функции/процедуры для поиска и вставки текста лучше использовать?
Спасибо.
Wood (2007-04-02 05:42:00) [1]Прошу прощения, AnsiReplaceStr() работает.
Тем не менее, может есть что-нибудь на API, то что быстрее?
Wood (2007-04-02 05:15:00) [2]медленно - понятие, конечно абстрактное...
При поиске AnsiStrPos() приходится использовать цикл, чтобы найти все в строке, но и AnsiReplaceStr() тоже использует цикл... И если строка "большая", то поиск затягивается. Ну, а если еще и insert() после этого, то еще дольше...
Wood (2007-04-02 05:03:00) [3]
> А что, есть проблемы с временем поиска? Какие?
Считаю, что медленно работает...
К примеру, функция Pos - быстрая
while pos(#0, S)>0 do
S[Pos(#0, S)] := ' ';
Правда, здесь замещение, и только символа. Мне бы подошла даже функция
AnsiReplaceStr(), если бы она работала при поиске #13 :(, но, увы
не работает.
AnsiReplaceStr(S,#13,'totext')
Германн (2007-04-02 04:41:00) [4]
> Есть что-нибудь побыстрее?
А что, есть проблемы с временем поиска? Какие?