Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

idhttp


Рома ©   (2010-09-30 14:02:00) 

всем привет. Ух постараюсь объяснить, что я хочу сделать.
есть едит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('


Anatoly Podgoretsky   (2010-09-30 15:23:00) [1]


> Сергей М. ©   (30.09.10 14:19) [4]

Ты не прав, в коде используются переменная А, вот так и надо называть тему, чтобы нам было понятно. А


muinmy   (2010-09-30 15:06:00) [2]

Дело в том, что если даже перейти http://yandex.ru/yandsearch?p=1&text=1&lr=47несколько раз, формируются ссылки перед которыми присутствуют


Сергей М.   (2010-09-30 14:56:00) [3]

Браузер-то не рвет соединение с сервером при переходе между страницами..
А idhttp у автора законнектился. получил контент одной страницы и отключился..


И. Павел   (2010-09-30 14:55:00) [4]

> [8] muinmy ©   (30.09.10 14:45)

Например могло передаться время. Или что-то незначительно изменилось. Я загрузил страницу http://yandex.ru/yandsearch?p=1&text=1&lr=47
дважды в браузере - во второй раз около одной найденной ссылки появилась какая-то надпись "Санкт-Петербург" - страницы то не статические, а формируются каждый раз заново.


muinmy   (2010-09-30 14:45:00) [5]

И. Павел
скорее всего так оно и есть.
Я сделал вот так, зашел на яндекс написал в поиске 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:31:00) [6]

> а как тогда мне надо было назвать тему

- Вывод ссылок, найденных в яндексе, в memo.

Почему не проверяете результат функции pos? Она же может и не найти нужные вхождения.


Рома   (2010-09-30 14:26:00) [7]

Сергей М а как тогда мне надо было назвать тему? Помогите? Не работает? или еще как нибудь


Рома   (2010-09-30 14:24:00) [8]

Дело в том, что даже если сделать вот так

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:19:00) [9]


> создал тему с наз-ем idhttp1, т.к. построена программа на
> этой функции


Гениальная логика)
А почему бы тогда не обозвать тему "Pos" ? Программа же построена в т.ч. и на этой функции)
Более того, открою страшную тайну  - проблема стоит за работой именно этой функции).. так что см.[3]


oldman   (2010-09-30 14:11:00) [10]


> memo1.Lines.Add(copy(info[p], a, b-a));


А поставить точку останова и убедится в том, что a=b=0 религия запрещает?


Рома   (2010-09-30 14:10:00) [11]

Да я знаю что не причем. Просто создал тему с наз-ем idhttp1, т.к. построена программа на этой функции.


Сергей М.   (2010-09-30 14:07:00) [12]

idhttp-то тут причем ?

По-твоему он что ли виноват в том что у тебя какие-то там столбики писаються неправильно ?


Наверх

Титульная страница Поиск, карта сайта Написать письмо