Форум: "Начинающим";
Текущий архив: 2010.12.26;
Скачать: [xml.tar.bz2];
Внизidhttp Найти похожие ветки
← →
Рома (2010-09-30 14:02) [0]всем привет. Ух постараюсь объяснить, что я хочу сделать.
есть едит1, мемо1, и кнопка баттон1. В едит 1 мы пишем что хотим найти, нажимаем на кнопку и в мемо 1 выписываются только ссылки в столбик найденные на яндекс. Так вот у меня почему то выписываються пустые столбики, а почему я не могу понять, где у меня ошибка?
procedure TForm1.Button1Click(Sender: TObject);
var ssilka,text: string;
info: array [0..9] of string;
p,a,b: integer;
begin
text:=edit1.Text;
//Тут мы заменяем в поиске пробел на +
repeat
if pos(" ",text)<>0 then
text[pos(" ",text)]:="+";
until (pos(" ",text)=0);
//10 страниц яндекса
for p:=0 to 9 do
begin
ssilka:="http://yandex.ru/yandsearch?p="+inttostr(p)+"&text="+text+"&lr=47";
info[p]:=idhttp1.Get(ssilka);
//Позиция начала ссылки
a:=pos("<a class="agp" tabindex="2" href="",info[p])+34;
//Позиция конца ссылки
b:=pos("" onmousedown="rc",info[p]);
//Обрезаем чтоб осталась только ссылка
memo1.Lines.Add(copy(info[p], a, b-a));
end;
end;
end.
← →
Сергей М. © (2010-09-30 14:07) [1]idhttp-то тут причем ?
По-твоему он что ли виноват в том что у тебя какие-то там столбики писаються неправильно ?
← →
Рома (2010-09-30 14:10) [2]Да я знаю что не причем. Просто создал тему с наз-ем idhttp1, т.к. построена программа на этой функции.
← →
oldman © (2010-09-30 14:11) [3]
> memo1.Lines.Add(copy(info[p], a, b-a));
А поставить точку останова и убедится в том, что a=b=0 религия запрещает?
← →
Сергей М. © (2010-09-30 14:19) [4]
> создал тему с наз-ем idhttp1, т.к. построена программа на
> этой функции
Гениальная логика)
А почему бы тогда не обозвать тему "Pos" ? Программа же построена в т.ч. и на этой функции)
Более того, открою страшную тайну - проблема стоит за работой именно этой функции).. так что см.[3]
← →
Рома (2010-09-30 14:24) [5]Дело в том, что даже если сделать вот так
a:=pos("<a class="agp" tabindex="2" href="",info[p])+34;
memo1.Lines.Add(copy(info[p], a, 10));
По смыслу мы выводим с позиции "а" первых 10 символов, но он выводит вообще фигню. Получается не правильно работает info[p]:=idhttp1.Get(ssilka); ссылка генерируется правильно.
← →
Рома (2010-09-30 14:26) [6]Сергей М а как тогда мне надо было назвать тему? Помогите? Не работает? или еще как нибудь
← →
И. Павел © (2010-09-30 14:31) [7]> а как тогда мне надо было назвать тему
- Вывод ссылок, найденных в яндексе, в memo.
Почему не проверяете результат функции pos? Она же может и не найти нужные вхождения.
← →
muinmy © (2010-09-30 14:45) [8]И. Павел
скорее всего так оно и есть.
Я сделал вот так, зашел на яндекс написал в поиске 1
получил ссылку http://yandex.ru/yandsearch?text=1&lr=47, перешел на вторую страницу и получил http://yandex.ru/yandsearch?p=1&text=1&lr=47
сделал переменную p = 1 чтоб тоже открывал только вторую страницу
получилось http://yandex.ru/yandsearch?p=1&text=1&lr=47, получается ссылки одинаковые, но когда вывел info[p]:=idhttp1.Get(ssilka) в мемо, исходные коды у них почему то разные
← →
И. Павел © (2010-09-30 14:55) [9]> [8] muinmy © (30.09.10 14:45)
Например могло передаться время. Или что-то незначительно изменилось. Я загрузил страницу http://yandex.ru/yandsearch?p=1&text=1&lr=47
дважды в браузере - во второй раз около одной найденной ссылки появилась какая-то надпись "Санкт-Петербург" - страницы то не статические, а формируются каждый раз заново.
← →
Сергей М. © (2010-09-30 14:56) [10]Браузер-то не рвет соединение с сервером при переходе между страницами..
А idhttp у автора законнектился. получил контент одной страницы и отключился..
← →
muinmy © (2010-09-30 15:06) [11]Дело в том, что если даже перейти http://yandex.ru/yandsearch?p=1&text=1&lr=47 несколько раз, формируются ссылки перед которыми присутствуют <a class="agp" tabindex="2" href=", а в idhttp1.Get нет.
← →
Anatoly Podgoretsky © (2010-09-30 15:23) [12]
> Сергей М. © (30.09.10 14:19) [4]
Ты не прав, в коде используются переменная А, вот так и надо называть тему, чтобы нам было понятно. А
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2010.12.26;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.003 c