Automatyczne wchodzenie na strony z listbox - IdHTTP

0

Witam
Mam w programie ListBox'a, w którym zawarte są linki do stron. Chciałbym teraz, aby program po kolei wchodził na stronę, następnie pobrał źródło strony po zakończeniu jej wczytywania, coś zrobił (dajmy na przykład wyświetlił ShowMessage) i wszedł na następną stronę. Próbowałem coś takiego:

  for i:=0 to adresy.Items.Count-1 do
  begin
  Memo1.Text:=IdHTTP1.Get(ListBox1.Items[i]);
  Memo1.Lines.SaveToFile('zrodlo.txt');
 //tutaj coś robi jeszcze :PP
  Memo1.Lines.Clear;
  end;

(jeszcze kod:

var
  od:integer;
  i:integer;

).
Ale nie działa :( Wchodzi tylko na jedną stronę (robi to za szybko pewnie...). Jak sprawdzić czy strona wczytała się do końca, po to, aby dalej wejść na następną. Nie chcę dawać funkcji Sleep(jakisczas); gdyż u kogoś to potrwa 2 sekundy, a u kogoś innego 20 ;]. Proszę o pomoc...

0

no to zamias sleep skorzystaj z OnTimer

0
daktyl500 napisał(a)

no to zamias sleep skorzystaj z OnTimer

Ale ani to ani to nie będzie chodzić... Bo nie wiem jaki czas wpisać ;] Bo każdy ma innego neta... Jednemu ustawie 2sekundy, drugiemu 10, a trzeciemu 30... ;/

0

masz zajebisty nick XD

mi loto ten kod nie wiem w czym problem zapisuje wszystkie źródła

procedure TForm1.Button1Click(Sender: TObject);
var
i:integer;
begin
 for i:=0 to listbox1.Items.Count-1 do
  begin
  Memo1.Text:=IdHTTP1.Get(ListBox1.Items[i]);
  Memo1.Lines.SaveToFile('zrodlo'+inttostr(i)+'.txt');
  showmessage(inttostr(i));
  end;
end;
0

a nie próbowałeś wykorzystać zdarzeń OnWOrkBegin, OnWorkEnd komponentu IdHTPP nie sprawdzałem ale wydaje mi się że powinny rozwiązać twój problem

1 użytkowników online, w tym zalogowanych: 0, gości: 1