AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

problem mit schleife

Ein Thema von o0o · begonnen am 16. Jan 2008 · letzter Beitrag vom 16. Jan 2008
Antwort Antwort
Benutzerbild von o0o
o0o

Registriert seit: 20. Jul 2007
Ort: am...,da wo die sonne nicht scheint!
166 Beiträge
 
Delphi 2007 Enterprise
 
#1

problem mit schleife

  Alt 16. Jan 2008, 15:58
hi leutz,...also ich habn problem mit ner schleife^^
ich weiss nicht wieso aber die schleife laeuft mal 3x durch und mal 2x immer unterschiedlich und dann hoert es weiss gott wieso auf weiterzumachen 0_o
das programm haengt nicht oder so aber es hoert einfach auf mitten in der schleife ohne fehlermeldung.

so habe ich meine schleife gestalted:
Delphi-Quellcode:
var i: integer;
  doc: IHTMLDOCUMENT2;
  url: String;
begin
for i:=0 to 10 do
  begin
    delay(75000);
    IdHTTP1.HandleRedirects := True;
  url := 'http://www.sanook.com/xxx';
  doc := GetDocument(IdHttp1.Get(url)) as IHTMLDocument2;
  ExtractLinks(doc, memo2.lines);//links extrahieren
  delay(200);
  findlinks('http://www.sanook.com/xxx', false);//best. links finden

 nummer:=nummer+1;
 label2.caption:=inttostr(nummer);//durchlaeufe zaehlen

  embeddedwb1.navigate(listbox1.items[0]);
embeddedwb2.navigate(listbox1.items[1]);
embeddedwb3.navigate(listbox1.items[2]);
embeddedwb4.navigate(listbox1.items[3]);
listbox1.clear;
memo2.clear;

        Application.ProcessMessages;
  end;
also ich weiss beim besten willen nicht weiter,..waere nice wenn sich jemand mal kurz gedanken machen koennte wieso das so ist wie es ist^^

thx im vorraus

da o0o

btw was mir aufgefallen ist ich hab im taskmanager geguggt und sah dass die groesse vom programm durch das stehenbleiben der schleife immer weiter und weiter angestiegen ist 0_o (beim 3fachen groesse hab ich beendet)
(_/marabu-fan inside\_)
[-\_______________/-]
  Mit Zitat antworten Zitat
1234588

Registriert seit: 14. Jan 2007
Ort: Stuttgart
164 Beiträge
 
#2

Re: problem mit schleife

  Alt 16. Jan 2008, 16:14
delay(75000) wuerde ich nicht unbedingt verwenden. stattdessen kannst du ja einen timer mit dem interval 75000 verwenden.

//edit
imho sind das 75 sekunden wo das programm still steht
  Mit Zitat antworten Zitat
taaktaak

Registriert seit: 25. Okt 2007
Ort: Radbruch
1.993 Beiträge
 
Delphi 7 Professional
 
#3

Re: problem mit schleife

  Alt 16. Jan 2008, 16:31
Moin, Moin,
kein Ahnung ob das mit dem Abbruch zu tun hat: Aber nach dem ersten Durchgang wird der Inhalt von ListBox1 gelöscht, soll aber wohl in den nächsten Durchläufen wieder genutzt werden (wozu?, keine Ahnung) - da ist aber nix mehr drin in der ListBox1! Was ist der tiefere Sinn dessen?
Gruß Ralph
Ralph
  Mit Zitat antworten Zitat
Benutzerbild von semo
semo

Registriert seit: 24. Apr 2004
755 Beiträge
 
Delphi 2010 Professional
 
#4

Re: problem mit schleife

  Alt 16. Jan 2008, 16:37
(1) formatiere deinen code mal ein wenig lesbarer...

Delphi-Quellcode:
var i: integer;
  doc: IHTMLDOCUMENT2;
  url: String;
begin
  for i:=0 to 10 do
  begin
    delay(75000);
    IdHTTP1.HandleRedirects := True;
    url := 'http://www.sanook.com/xxx';
    doc := GetDocument(IdHttp1.Get(url)) as IHTMLDocument2;
    ExtractLinks(doc, memo2.lines);//links extrahieren
    delay(200);
    findlinks('http://www.sanook.com/xxx', false);//best. links finden

    nummer:=nummer+1;
    label2.caption:=inttostr(nummer);//durchlaeufe zaehlen

    embeddedwb1.navigate(listbox1.items[0]);
    embeddedwb2.navigate(listbox1.items[1]);
    embeddedwb3.navigate(listbox1.items[2]);
    embeddedwb4.navigate(listbox1.items[3]);
    listbox1.clear;
    memo2.clear;

    Application.ProcessMessages;
  end;
end;
(2) wenn du im 1. aufruf listbox1.clear(); aufrufst und im 2. durchlauf auf listbox1.Items[0] zugreifst, kann das nicht gut gehen.
oder was passiert in den methoden extractlinks oder findlinks?

(3) einen timer kann ich dir auch empfehlen. oder es gibt auch ein event des embedded webbrowser, das dir mitteilt wnan eine seite fertig geladen ist, wenn du dies benötigst...
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#5

Re: problem mit schleife

  Alt 16. Jan 2008, 16:39
Wieso soll das eigentlich 12 1/2 Minuten dauern? Gibt es da einen bestimmten Grund für?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von o0o
o0o

Registriert seit: 20. Jul 2007
Ort: am...,da wo die sonne nicht scheint!
166 Beiträge
 
Delphi 2007 Enterprise
 
#6

Re: problem mit schleife

  Alt 16. Jan 2008, 16:48
sry habs nicht so mit dem code formatieren^^

ok ich werde jetzt mal alles in einen timer setzen und schauen was passiert...
btw zur listbox,...ja mit extractlinks wieder aufgefuellt...solange waehrend dem prozess nix durcheinander geschmissen wird sollte das klappen^^

hab selbst ausprobiert indem ich es per hand einige male aufgerufen habe.

der embeddedeb funkt genauso wieder der twebbrowser,...dh man kann schon drauf zugreifen ob die site geladen ist nur normal wenn die 75sec eingehalten werden reicht das vollkommen aus

Zitat:
Wieso soll das eigentlich 12 1/2 Minuten dauern? Gibt es da einen bestimmten Grund für?
hmm das ist eigendlich nur zum testen jetzt,...eigendlich soll das teil wenns fertig ist den ganzen tag laufen(will damit einige info's ueberwachen ohne staendig selbst nachzuschauen^^)
(_/marabu-fan inside\_)
[-\_______________/-]
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:55 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz