Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #16  
Старый 23.08.2010, 23:51
bulldog bulldog вне форума
Начинающий
 
Регистрация: 10.05.2010
Сообщения: 160
Репутация: 14
По умолчанию

после цыфер идёт это
" target="_blank">...</a></b>
Ответить с цитированием
  #17  
Старый 24.08.2010, 02:02
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

Ну будем считать, что там идет всегда после цифр без пробелов " target="
Тогда можно попробовать примерно так:
Код:
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;
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #18  
Старый 24.08.2010, 12:57
bulldog bulldog вне форума
Начинающий
 
Регистрация: 10.05.2010
Сообщения: 160
Репутация: 14
По умолчанию

не находит так не чего, колонки пустые
А если в
ListView1.Items[0].SubItems.Append(Copy(str,BPos,EPos - BPos));
делаю так

ListView1.Items[0].SubItems.Append(Copy(str,EPos - BPos));
то получаю в колонки et="_blank">...</a></b>
МИСТИКА, сделал так
Код:
while Pos('view.php?ad=',str)>0
do begin
    BPos := Pos('view.php?ad=',str)+12;
    EPos := Pos('" target="',str);
    Form2.ListView1.Items[0].SubItems.Append(Copy(str,BPos,BPos - EPos));
    Delete(str,1, BPos+12);
получаю номер ссылку, тоесть то что мне нада, но вместе с ним" target="_blank">...</a></b>

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

Пошагово пройдитесь отладчиком, посмотрите значения пременных в процессе выполнения и найдете ошибку. Может выложите кусок вашего текста для парсинга строк в 20. Можно будет тогда более детально посмотреть.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #20  
Старый 24.08.2010, 13:47
bulldog bulldog вне форума
Начинающий
 
Регистрация: 10.05.2010
Сообщения: 160
Репутация: 14
По умолчанию

Код:
<tr style="font-weight: bold;" bgcolor="#FFFF00"><td><a onclick="javascript: this.style.textDecoration='line-through';" href="view.php?ad=3270480"
 target="_blank">!!! АВТОВЫПЛАТЫ !!! ДОЛЛАРЫ !!! ИНОСТРАНЦЫ - ТЕ КТО ПЛАТЯТ !!!</a><td align="center" style="color: #f00;">20</td><td
 align="center">401 / 24 / 425</td><td align="center">1000</td><td align="center"><a href="abuse.php?ad=3270480" title="Подать жалобу" target=
"_blank"><img src="images/abuse.png" alt="Жалоба" border="0" /></a></td></tr><tr style="font-weight: bold;" bgcolor="0"><td><a onclick="javascript: this.style.textDecoration='line-through';" href="view.php?ad=3266636" target="_blank">Партнерка. Минимум 50 коп за клик. Выплата получена.</a><td align="center" 
style="color: #f00;">30</td><td align="center">919 / 41 / 960</td><td align="center">1500</td><td align="center"><a href="abuse.php?ad=3266636" title=
"Подать жалобу" target="_blank"><img src="images/abuse.png" alt="Жалоба" border="0" /></a></td></tr><tr style="font-weight: bold;" bgcolor="#FFFF00"><
td><a onclick="javascript: this.style.textDecoration='line-through';" href="view.php?ad=3266635" target="_blank">WMLINK - лучшая цена за клик!</a><td align="ce
nter" style="color: #f00;">30</td><td align="center">902 / 34 / 936</td><td align="center">1500</td><td align="center"><a href="abuse.php?ad=3266635"
 title="Подать жалобу" target="_blank"><img src="images/abuse.png" alt="Жалоба" border="0" /></a></td></tr><tr style="font-weight: bold;" bgcolor="0">
<td><a onclick="javascript: this.style.textDecoration='line-through';" href="view.php?ad=3266633" target="_blank">Самая лучшая кликовая партнерка!</a>
<td align="center" style="color: #f00;">30</td><td align="center">885 / 43 / 928</td><td align="center">1500</td><td align="center"><a href="abu
se.php?ad=3266633" title="Подать жалобу" target="_blank"><img src="images/abuse.png" alt="Жалоба" border="0" /></a></td></tr></table>
</div>
Нужно вытенуть цыфры в
href="view.php?ad=3268731" target="_blank">...</a><td align="center" style="color: #f00;">20</td><td align="center">609 / 30 / 639</td><td align="center">1040</td><td align="center"><a href="abuse.php?ad=3268731" title="Подать жалобу" target="_blank"><img src="images/abuse.png" alt="Жалоба" border="0" /></a></td></tr><tr style="font-weight: bold;" bgcolor="red"><td><a onclick="javascript: this.style.textDecoration='line-through';
длинна 3268731 может оказаться произвольной

Последний раз редактировалось bulldog, 24.08.2010 в 14:19.
Ответить с цитированием
  #21  
Старый 24.08.2010, 14:48
Аватар для pesi
pesi pesi вне форума
Активный
 
Регистрация: 12.09.2008
Сообщения: 275
Репутация: 43
По умолчанию

Сравни код Страдальца и свой и найди отличия.
Ответить с цитированием
  #22  
Старый 24.08.2010, 17:04
bulldog bulldog вне форума
Начинающий
 
Регистрация: 10.05.2010
Сообщения: 160
Репутация: 14
По умолчанию

Цитата:
Сравни код Страдальца и свой и найди отличия.
Я уже и код страдальца пробывал и переделывал его, у меня либо пусто, либо получаю нужную часть ссылки, вплоть до канцовки её
Ответить с цитированием
  #23  
Старый 24.08.2010, 20:27
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 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
ПС: Учитесь пользоваться встроенным отладчиком.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.

Последний раз редактировалось Страдалецъ, 24.08.2010 в 20:43.
Ответить с цитированием
  #24  
Старый 24.08.2010, 22:01
bulldog bulldog вне форума
Начинающий
 
Регистрация: 10.05.2010
Сообщения: 160
Репутация: 14
По умолчанию

Цитата:
ПС: Учитесь пользоваться встроенным отладчиком.
Знать бы ещё где он находится
Цитата:
Попробуйте так:
Код:
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
Нечего не выводит
Цитата:
сначала избавится от ненужных спецсимволов, а уже потом искать шаблоны.
Попробуйте так:
Код:
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,BPos - EPos));
Delete(str,1, BPos+12);
end
Выводит, но с мусором, последний вариан хоть что то показывает
Ответить с цитированием
  #25  
Старый 24.08.2010, 22:07
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

Или я чего-то не понимаю, или одно из двух. Я на вашем примере и с моим последнем вариантом кода получил нормальное заполнение столбца в ListView. Запустить отладчик очень просто, установите курсор на строку str := StringReplace(str,#13#10,'',[rfReplaceAll]); и вызвав локальное меню установите точку останова (Toggle breakpoint). Запустите программу и когда она остановится на этой строке, по клавише F7 выполняйте пошагово и смотрите значения переменных.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.

Последний раз редактировалось Страдалецъ, 24.08.2010 в 22:09.
Ответить с цитированием
  #26  
Старый 24.08.2010, 23:24
bulldog bulldog вне форума
Начинающий
 
Регистрация: 10.05.2010
Сообщения: 160
Репутация: 14
По умолчанию

так подождите, ведь #13#10-это интер или параграф, уже забыл как называется, а ''-это что тогда. И т.б. если правельней смотреть код страницы сайта то #13#10 там вобще нету, текст идёт плашмёй
Вложения
Тип файла: txt 11.txt (2.3 Кбайт, 1 просмотров)

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

Я ориентировался от текста который вы предложили ранее, там переводы каретки присутствовали. Возможно движок форумный превнес свои изменения. Теперь проверю с текстом из 11.txt
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #28  
Старый 24.08.2010, 23:45
bulldog bulldog вне форума
Начинающий
 
Регистрация: 10.05.2010
Сообщения: 160
Репутация: 14
По умолчанию

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

Так, становится понятно. Выйдете на меня по аське 561058055, я думаю так побыстрее будет.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #30  
Старый 25.08.2010, 00:02
bulldog bulldog вне форума
Начинающий
 
Регистрация: 10.05.2010
Сообщения: 160
Репутация: 14
По умолчанию

давай ты на меня, а то я не знаю антиспам пропустил меня или нет 41пять7три-три-ноль99
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 19:07.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter