AGB  ·  Datenschutz  ·  Impressum  







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

Timer, blicke nicht durch *revision*

Ein Thema von motivierter · begonnen am 19. Nov 2007 · letzter Beitrag vom 20. Nov 2007
Antwort Antwort
motivierter

Registriert seit: 17. Mai 2007
20 Beiträge
 
#1

Timer, blicke nicht durch *revision*

  Alt 19. Nov 2007, 14:59
Hallo,


ich habe eine SChleife wo ich warte bis eine Webseite geladen ist. Den Status prüfe ich mit READY_STATE, wenn er jedoch länger als 15 Sekunden lädt möchte ich dass der Browser die Seite neu öffnet. Wie realisiere ich das?


Gruß
  Mit Zitat antworten Zitat
Benutzerbild von Aurelius
Aurelius

Registriert seit: 29. Jan 2007
Ort: Erfurt
753 Beiträge
 
Delphi 7 Personal
 
#2

Re: Timer, blicke nicht durch

  Alt 19. Nov 2007, 15:03
Mach das ganze mit nem Timer, in etwa so(Pseudocode):
[delphi]Timer.Intervall = 1000

procedure Timer;
begin
if Ready_State ...//hier deine Abfrage ob er noch lädt
then Timer1.Tag + 1;
if Timer1.Tag = 15 then
begin
Refresh; //Seite neu laden
Timer1.Tag = 0;
end;
end;
Jonas
  Mit Zitat antworten Zitat
Brainshock

Registriert seit: 26. Nov 2004
Ort: 37345
214 Beiträge
 
Delphi 7 Professional
 
#3

Re: Timer, blicke nicht durch

  Alt 19. Nov 2007, 15:59
Delphi-Quellcode:
tmReadyTimer.Interval = 15000

TMyForm.tmReadyTimer(Sender: TObject);
begin
  if not READY_STATE then
    // hier das Browser.Reload rein
end;

TMyForm.ButtonClick(Sender: TObject);
begin
  tmReadyTimer.Enabled:= True;
  // Browserseite laden aufrufen
  tmReadyTimer.Enabled:= False;
end;
Probiers mal so, ist einfacher als die Idee von xX0815Xx.

Gruß,
Matthias
  Mit Zitat antworten Zitat
motivierter

Registriert seit: 17. Mai 2007
20 Beiträge
 
#4

Re: Timer, blicke nicht durch

  Alt 19. Nov 2007, 16:48
Danke euch. Kann ich auch sagen wenn Timer1 bei 15 sekunden angekommen ist dann inc(x) und x ist die zählvariable von while?
  Mit Zitat antworten Zitat
motivierter

Registriert seit: 17. Mai 2007
20 Beiträge
 
#5

Re: Timer, blicke nicht durch

  Alt 19. Nov 2007, 18:39
Also zum Beispiel:

Delphi-Quellcode:
while(x<=10)do
begin
EmbeddedWb1.go(url);
EmbeddedWb2.go(url);

 while embeddedwb1.ReadyState <> READYSTATE_COMPLETE do
  begin
    Application.ProcessMessages;

  end;
         while embeddedwb2.ReadyState <> READYSTATE_COMPLETE do
  begin
    Application.ProcessMessages;

  end;


inc(x);


end;
So wenn eine Seite nicht laden sollte, wie kann ich an der Stelle jetzt ein Timer einbauen der nach 15-20 Sekunden die Schlei neu ausführt????
  Mit Zitat antworten Zitat
motivierter

Registriert seit: 17. Mai 2007
20 Beiträge
 
#6

Re: Timer, blicke nicht durch *revision*

  Alt 19. Nov 2007, 19:03
BItte helft mir...
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

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

Re: Timer, blicke nicht durch *revision*

  Alt 19. Nov 2007, 19:15
Ehrlich gesagt habe ich das Problem noch nicht ganz verstanden. Du willst in einem Webbrowser eine Seite aufrufen und, wenn diese nicht nach 15 Sekunden vollständig geladen ist, einen Refresh durchführen?
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
motivierter

Registriert seit: 17. Mai 2007
20 Beiträge
 
#8

Re: Timer, blicke nicht durch *revision*

  Alt 19. Nov 2007, 20:37
jo ! aber die ganze schleife soll neu durchlaufen werdne!
  Mit Zitat antworten Zitat
Benutzerbild von LoCrux
LoCrux

Registriert seit: 5. Mär 2007
Ort: Gwang-Yang-City
48 Beiträge
 
Delphi 2009 Enterprise
 
#9

Re: Timer, blicke nicht durch *revision*

  Alt 20. Nov 2007, 09:48
I hope I got you right....

ich kenne zwar die Komponente nicht, aber...

maybe helps...

Delphi-Quellcode:
procedure TYourClass.FireEmUp;
begin
  EmbeddedWb1.go(url);
  EmbeddedWb2.go(url);
  FYourCounter := 0;
end;

function TYourClass.CheckState(const browser:TEmbeddedWB):Boolean;
begin
  result := (browser.ReadyState <> READYSTATE_COMPLETE);
end;

procedure TYourClass.YorTimer(Sender: TObject);
begin
  if (CheckState(EmbeddedWb1) or CheckState(EmbeddedWb2))
  then begin
    inc(FYourCounter);
    if (FYourCounter>15)
       then FireEmUp;
  end
  else YorTimer.Enabled := False;
end;

.
.
YourTimer.Interval := 1000;
FireEmUp; //[edit] Zeilentausch [/edit]
YorTimer.Enabled := True; //[edit] -- " -- [/edit]
While (YorTimer.Enabled)
do begin
  Application.ProcessMessages;
  // Was noch so ansteht
end;
.
.
ABER !!! Es besteht die Gefahr, dass Du niemehr aus der While-Schleife kommst (z.B. keine Internetverbindung)...

.. such nach was stilitisch schoenerem...
“C++ is an insult to the human brain.” [Niklaus Wirth]

2B OR NOT 2B (.. THAT IS FF)
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

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

Re: Timer, blicke nicht durch *revision*

  Alt 20. Nov 2007, 11:24
Zitat von LoCrux:
ABER !!! Es besteht die Gefahr, dass Du niemehr aus der While-Schleife kommst (z.B. keine Internetverbindung)...
Genau. Das Mindeste wäre z.B. eine Variable "Versuche", die beim Schleifendurchlauf erhöht wird. Wenn 3 erfolglose Versuche, dann eben nicht (so in der Art).
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
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 08:05 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