Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.07.27;
Скачать: CL | DM;

Вниз

Проблема с получением HTML кода   Найти похожие ветки 

 
lewka-serdceed   (2008-06-27 11:20) [0]

подскажите как сделать так чтобы работал вот такой цикл:
procedure TForm1.Button3Click(Sender: TObject);
var i:integer;
begin
memo2.Lines.LoadFromFile("c:\http.txt");
memo1.Clear;
ProgressBar1.Max:=memo2.Lines.Count-1;
for i:=0 to 5 do begin memo1.Clear;
label1.Caption:=memo2.Lines[i]+"    "+inttostr(i);
Memo1.Lines.Add(IdHTTP1.Get(label1.Caption));
end;
end;

С самого начала работы вылетает. Я так понимаю функция  Memo1.Lines.Add(IdHTTP1.Get(label1.Caption)) не успевает получить еще HTML код, а в нее уже подставляется новый адрес. Если это так, то как этого избежать?


 
Palladin ©   (2008-06-27 11:25) [1]

ты в TLabel.Caption чего суешь то?


 
lewka-serdceed   (2008-06-27 11:26) [2]

в TLabel.Caption я вставляю строку из memo2


 
Поросенок Винни-Пух ©   (2008-06-27 11:26) [3]

ты в TLabel.Caption чего суешь то?

Буквы


 
Поросенок Винни-Пух ©   (2008-06-27 11:27) [4]

+inttostr(i);

... и цифры


 
Palladin ©   (2008-06-27 11:27) [5]


> lewka-serdceed   (27.06.08 11:26) [2]

а +"    "+inttostr(i); это мне просто кажется? и текст ошибки ты кончено как ничего не значащую картинку воспринимаешь?


 
TUserClass ©   (2008-06-27 11:28) [6]

for i:=0 to 5 do begin memo1.Clear;
...
end;

Зачем каждый раз мемо очищаешь?


 
TUserClass ©   (2008-06-27 11:29) [7]


> TUserClass ©   (27.06.08 11:28) [6]


Ага...понял ... сори ..


 
TUserClass ©   (2008-06-27 11:34) [8]


> label1.Caption:=memo2.Lines[i]+"    "+inttostr(i);


Уверен что у тебя точно 6 строк в мемо? Может стоит так?:

for i:=0 to Memo2.Lines.Count - 1 do ...


 
Anatoly Podgoretsky ©   (2008-06-27 11:35) [9]

Автор жжет. Убери цикл.


 
lewka-serdceed   (2008-06-27 11:36) [10]

for i:=0 to 5 do begin
memo1.Clear;
label1.Caption:=memo2.Lines[i];
Memo1.Lines.Add(IdHTTP1.Get(label1.Caption));
end;


Даже если так то все равно не работает. Memo1 я очищаю чтобы не было предыдущего теста при добавлении нового.
а ошибка вот такая: HTTP\1.1 404 not Found.
я понимаю что не найдет адрес, но почему? Ведь туда подставляется текст из label1.Caption


 
Поросенок Винни-Пух ©   (2008-06-27 11:38) [11]

Ведь туда подставляется текст из label1.Caption
Это неверно. Нужен текст из Self.Caption
или Application.Title


 
TUserClass ©   (2008-06-27 11:39) [12]


> lewka-serdceed   (27.06.08 11:36) [10]


 Ну тогда все понятно - нету того УРЛ, который в гет подставляешь.


 
clickmaker ©   (2008-06-27 11:41) [13]

> я понимаю что не найдет адрес, но почему? Ведь туда подставляется
> текст из label1.Caption

Убийственная логика )


 
lewka-serdceed   (2008-06-27 11:41) [14]

а куда тогда URL девается. я же присваиваю его  label1.Caption


 
Palladin ©   (2008-06-27 11:42) [15]


> lewka-serdceed   (27.06.08 11:41) [14]

ты реально туп
label1.Caption:=memo2.Lines[i]+"    "+inttostr(i);
выделенное жирным это по твоему что?


 
Игорь Шевченко ©   (2008-06-27 11:43) [16]


> а куда тогда URL девается.


в recycle bin


 
lewka-serdceed   (2008-06-27 11:48) [17]

подскажите как мне исправить этот код. я попробывал и с Self.Caption и Application.Title.

for i:=0 to 5 do begin
memo1.Clear;
label1.Caption:=memo2.Lines[i];
Memo1.Lines.Add(IdHTTP1.Get(label1.Caption));
end;


 
Поросенок Винни-Пух ©   (2008-06-27 11:50) [18]

давайте оставим чела в покое.
:)


 
lewka-serdceed   (2008-06-27 11:53) [19]

Ребята покажите как надо изменить код,пожалуйста. Срочно надо.


 
Поросенок Винни-Пух ©   (2008-06-27 11:54) [20]

for i:=0 to 5 do begin
memo1.Clear;
label1.Caption:=memo2.Lines[i];
Memo1.Lines.Add(IdHTTP1.Get("http://delphimaster.net/view/2-1214551258/"));
end;


 
sanka_mozgoed   (2008-06-27 11:57) [21]

мда. не повезло тебе коллега


 
Ega23 ©   (2008-06-27 11:58) [22]

А ведь он, поди, за это деньги получает...


 
Поросенок Винни-Пух ©   (2008-06-27 11:59) [23]

Да просто очередной приколист из старичков


 
clickmaker ©   (2008-06-27 12:01) [24]

> [23] Поросенок Винни-Пух ©   (27.06.08 11:59)
> Да просто очередной приколист из старичков

"Не верьте, ребята, девчатам из чата:
У них есть и дети и даже внучата,
Еще борода и прокуренный свитер,
А рядом стоит, как минимум, литр" (с)
o)


 
lewka-serdceed   (2008-06-27 12:01) [25]

Дак так он 5 раз будет отрывать один и то же HTML код, а мне нужно чтобы вместо http://delphimaster.net/view/2-1214551258/ подставлялась i-ая строка из Memo2, и  в Memo1 были HTML-коды каждой страницы по очереди


 
Поросенок Винни-Пух ©   (2008-06-27 12:04) [26]

зато целых пять раз работает без ошибок


 
Поросенок Винни-Пух ©   (2008-06-27 12:05) [27]

даже шесть


 
lewka-serdceed   (2008-06-27 12:07) [28]

Дак как мне сделать то?
Это часть моей лабораторной! на экзамен надо ее


 
Ega23 ©   (2008-06-27 12:15) [29]


> Это часть моей лабораторной! на экзамен надо ее


"Тебя отчислят, и правильно сделают"  (с) Дмитрий Акуличев aka DimondShark


 
Anatoly Podgoretsky ©   (2008-06-27 12:16) [30]

> Поросенок Винни-Пух  (27.06.2008 11:54:20)  [20]

А цикл то тут зачем?


 
Anatoly Podgoretsky ©   (2008-06-27 12:17) [31]

> lewka-serdceed  (27.06.2008 12:07:28)  [28]

Деньги есть? Заплати бедному соседу.
А после окончания ВУЗа что собираешься делать, занимать чьето место?


 
Поросенок Винни-Пух ©   (2008-06-27 12:20) [32]

А цикл то тут зачем?

для надежности. вдруг новые посты в ветке появятся


 
clickmaker ©   (2008-06-27 12:21) [33]

> [32] Поросенок Винни-Пух ©   (27.06.08 12:20)
> А цикл то тут зачем?
>
> для надежности. вдруг новые посты в ветке появятся

О, да это практически движок нового ДМ-клиента :)


 
TUserClass ©   (2008-06-27 12:36) [34]

procedure TForm1.Button3Click(Sender: TObject);
var
 I : integer;
begin
 If not fileexists ("c:\http.txt") then begin
    ShowMessage ("промазал!");
    exit;
 end;

 memo2.Lines.LoadFromFile("c:\http.txt");

 Memo1.Clear;

 ProgressBar1.Max := memo2.Lines.Count-1;

 If Memo2.Lines.Count = 0 then
   ShowMessage ("Пустой Я!")
 else
   For i:=0 to Memo2.Lines.Count - 1 do begin
     Memo1.Lines.Add ("HTML-код сайта " + Memo2.Lines[I] + ":");    
     Memo1.Lines.Add(IdHTTP1.Get(Memo2.Lines[I]));
     Memo1.Lines.Add ("");
   end;

  Memo1.Lines.Add ("Выгоните меня из института, ПОЖАЛУСЙТА!");
end;


 
TUserClass ©   (2008-06-27 12:39) [35]

тока еще try ... except надо добавить для Memo1.Lines.Add(IdHTTP1.Get(Memo2.Lines[I]));



Страницы: 1 вся ветка

Текущий архив: 2008.07.27;
Скачать: CL | DM;

Наверх




Память: 0.54 MB
Время: 0.031 c
2-1214289700
petvv
2008-06-24 10:41
2008.07.27
После переброски Упаковка = #Z SZ#S = ??? (XP, D2007)


15-1213180802
Petr V. Abramov
2008-06-11 14:40
2008.07.27
А есть ли тут кто из Серпухова?


15-1212761210
Ega23
2008-06-06 18:06
2008.07.27
Не дать организьму умереть от обезвоживания?


2-1214667019
NewQuestion
2008-06-28 19:30
2008.07.27
Разделитель целой и дробной части в денежной единице.


15-1212446696
alex-drob
2008-06-03 02:44
2008.07.27
Где написать код, чтобы он выполнился после загрузки программы