Einzelnen Beitrag anzeigen

Maxisoft2

Registriert seit: 8. Nov 2007
20 Beiträge
 
#1

Schleife abbrechen, wenn eine gewisse Website angezeigt wird

  Alt 4. Feb 2008, 23:28
Hallo,

Ich mache große Fortschritte mit meinem Programm, jedoch stehe ich einmal wieder vor einer Frage,
die ich heute den ganzen Tag versuche zu lösen, aber ihr einfach nicht auf den Grund komme.

Die Problematik besteht darin, dass ich eine Schleife beenden will, wenn eine bestimmte Webseite
in meinem TWebBrowser aufgerufen wird.

Ich habe das Ganze zuerst mit einer repeat until schleife versucht, was ebenfalls scheiterte,
somit habe ich es so versucht:

Delphi-Quellcode:
procedure TForm1.Button3Click(Sender: TObject);
Var
i : integer;
begin
i := 0;
continue := true;
while (i < 50) and continue do
begin
  Application.ProcessMessages;
  i:=i+1;
  Application.ProcessMessages;
  if Webbrowser1.LocationURL = 'http://www.webseite.de/stop.phpthen continue := false else
    begin
    Application.ProcessMessages;
    WebBrowser1.Navigate('http://www.webseite.de/profile.php?'+memo1.Lines[memo1.Lines.Count-1]);
    Application.ProcessMessages;
    sleep(3000);
    Application.ProcessMessages;
    Profil := memo1.Lines[memo1.Lines.Count-1];
    Application.ProcessMessages;
    memo1.Lines.delete(memo1.Lines.Count-1);
    Application.ProcessMessages;
  end;
   Application.ProcessMessages;
  end;
  PlaySound('SystemQuestion', 0, SND_ALIAS or SND_ASYNC) ;
  PlaySound('DeviceConnect', 0, SND_ALIAS or SND_ASYNC) ;

end;
Was aber auch nicht funktioniert, die Schleife läuft einfach 50 mal durch und das wars,
selbst wenn innerhalb der 50x die "Stop-Seite" kommt, rennt er weiter. Außerdem öffnen
sich zwar die Seiten, wobei der TWebBrowser aber nicht aktuallisiert wird, d.h. die erste
Seite bleibt stehen (Und die Seiten öffnen sich unsichtbar alle 3 Sekunden).

Die Abfrage der Webseite ohne Schleife geht super, z.B. um einen Button zu disablen, daher
wundert es mich, dass es in meiner Schleife nicht geht.

Bin echt am Verzweifeln und mit meinem latein am Ende,
es muss doch einfach irgendwie gehen, dass trotz der Schleife die angezeigte Seite aktuallisiert
und bei der Stop - Seite die Schleife beendet wird !?

Freue mich auf Antworten,
Grüße,
- M.S.

EDIT:
Mit den vielen Application.ProcessMessages; versuche ich , das Programm "nicht hängend" aussehen zu lassen, sodass es refreshed wird während der Schleife sozusagen.
  Mit Zitat antworten Zitat