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

На вскидку, еще не проверяя даже код вижу, что есть отличия Длина искомой строки находится, как разница между ее концом и ее началом т.е. EPos - BPos, а вы делаете наоборот, но основная тонкость даже не в этом. Вы обрабатываете текст как строку, а текст-то у вас содержит еще и переводы каретки, вот и не находится в итоге нужного вхождения. Поэтому вам надо сначала избавится от ненужных спецсимволов, а уже потом искать шаблоны.
Попробуйте так:
Код:
str := StringReplace(str,#13#10,'',[rfReplaceAll]);
while Pos('view.php?ad=',str)>0
do begin
    BPos := Pos('view.php?ad=',str)+12;
    EPos := Pos('" target="',str);
    ListView1.Items[0].SubItems.Append(Copy(str,BPos,EPos - BPos));
    Delete(str,1, BPos+12);
    end
ПС: Учитесь пользоваться встроенным отладчиком.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием