Показать сообщение отдельно
  #26  
Старый 18.05.2009, 21:43
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,723
Репутация: 52347
По умолчанию

Функция Pos и PosEx очень шустрые функции, незнаю какой они алгоритм для поиска используют, но скорости на обработку 500 элементов хватит с избытком. Я думаю, там и пол секунды небудет.
Или я чего-то непонимаю, или вы какими-то заморочеными путями идете.
У вас есть элемент массива, он же - строка. Найти в этой строке все вхождения какой-либо другой подстроки, элементарно. Например есть строка телефонного трафика вида:
Код:
S := '01.01.2009 16:00:00 Вх. 9353345668 4567789032 26';
и есть массив с предопределенными номерами
Код:
Const
Tel:Array[1..2] of string = ('4567789032','4567789134');
надо найти все вхождения из Tel в S:

Код:
for i := 1 to 2
do begin
    P := 1;
    while P>0
    do begin
        P := PosEx(Tel[i],S,P);
        if P > 0 then ShowMessage(Tel[i]);
        end;
    end;
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием