AGB  ·  Datenschutz  ·  Impressum  







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

label.caption alle 0,5sec refreshen lassen ?

Ein Thema von noo.bee · begonnen am 13. Okt 2009 · letzter Beitrag vom 13. Okt 2009
Antwort Antwort
noo.bee

Registriert seit: 13. Sep 2009
24 Beiträge
 
#1

label.caption alle 0,5sec refreshen lassen ?

  Alt 13. Okt 2009, 21:08
ich lasse mir von einer webseite mittels pos uns posex einen gewissen text in einem label wiedergeben. dieser ändert sich jedoch kontinuierlich.
jetzt gibt es zwar die möglichkeit, mit label3.refresh zu aktualisieren, jedoch geschieht dies dann nur 1x.
gibts ne möglichkeit, dieses im extremfall alle 0,5 sec wiederholen zu lassen ?
  Mit Zitat antworten Zitat
Daniel
(Co-Admin)

Registriert seit: 30. Mai 2002
Ort: Hamburg
13.919 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: label.caption alle 0,5sec refreshen lassen ?

  Alt 13. Okt 2009, 21:14
Mittels der Komponente TTimer kannst Du alle X Millisekunden ein Event generieren, in dem Du dann das Label aktualisieren kannst. Der Vollständigkeit halber sei nur erwähnt, dass Du Dich bei Windows so ohne Weiteres nicht auf exakte Zeitintervalle verlassen kannst, da es kein Echtzeitbetriebssystem ist. Es wird also darauf hinauslaufen, dass Du "etwa" alle halbe Sekunde einen Refresh bekommen wirst.
Daniel R. Wolf
mit Grüßen aus Hamburg
  Mit Zitat antworten Zitat
Hobby-Programmierer

Registriert seit: 19. Jan 2006
Ort: München
392 Beiträge
 
Delphi XE Starter
 
#3

Re: label.caption alle 0,5sec refreshen lassen ?

  Alt 13. Okt 2009, 21:19
Warum aktualisierst Du das Label nicht gleich wenn die Daten von der Website gelesen werden und sich geändert haben?
Mario
'Lesen Sie schnell, denn nichts ist beständiger als der Wandel im Internet!'
  Mit Zitat antworten Zitat
noo.bee

Registriert seit: 13. Sep 2009
24 Beiträge
 
#4

Re: label.caption alle 0,5sec refreshen lassen ?

  Alt 13. Okt 2009, 21:21
wenn ich mich einlogge, werden die daten in label5.caption ja aktualisiert. bin ich dann aber 5 minuten online, sind die daten in label5.caption bereits alt und nutzlos.
somit muss ich alle paar sekunden aktualisieren lassen um ständig die aktuellen daten zu sehen
  Mit Zitat antworten Zitat
Hobby-Programmierer

Registriert seit: 19. Jan 2006
Ort: München
392 Beiträge
 
Delphi XE Starter
 
#5

Re: label.caption alle 0,5sec refreshen lassen ?

  Alt 13. Okt 2009, 21:30
Das ist schon klar, nur kannst Du das Label refreshen sooft Du willst - wenn sich der Inhalt net ändert kann auch nix anderes angezeigt werden.
Du musst natürlich den Inhalt der Website lesen und dann dem Label zuweisen, dann hat sich das mit dem refresh erledigt. Allerdings halte ich nix davon alle 0,5s von einer Seite die Daten zu holen - vielleicht alle 30 s.

[Edit] Du hast ja sicher schon eine Prozedur\Funktion zum einlesen der Daten. Diese kannst Du dann wie Daniel bereits sagte Timergesteuert aufrufen.
Mario
'Lesen Sie schnell, denn nichts ist beständiger als der Wandel im Internet!'
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.163 Beiträge
 
Delphi 12 Athens
 
#6

Re: label.caption alle 0,5sec refreshen lassen ?

  Alt 13. Okt 2009, 21:34
Zitat von noo.bee:
jetzt gibt es zwar die möglichkeit, mit label3.refresh ...
Wenn man einem Label einen neuen Text zuweißt, dann sollte sich dieses bei nächster Gelegenheit eigentlich selber refreschen.

Bzw. nur durch Label3.Refresh wird sich doch der Text nicht ändern?

Zitat von noo.bee:
dieses im extremfall alle 0,5 sec wiederholen zu lassen ?
Du willst also alle 0,5 Sekunden die Webseite downloaden ... erlaubt das denn überhaupt der Webseitenbetreiber?
Da dieses doch schon etwas Traffic verursacht.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#7

Re: label.caption alle 0,5sec refreshen lassen ?

  Alt 13. Okt 2009, 21:41
Die Abfrage der Website (bei dem kurzen Intervall) würde ich auch über einen Thread realisieren.
Wenn die Abfrage mal länger dauert, dann blockierst Du nicht dein ganzes Programm.

Den Refresh des Labels erledigst Du dann entweder über einen Timer der die Daten vom Thread abholt (als Hinweis sei dazu TCriticalSection genannt) oder du lässt deinen Thread einen Event (mit Syncronize) feuern, natürlich nur, wenn wirklich neue Informationen vorliegen, und darüber dein Label füllen, welches damit automatisch refresht wird.

Die Event-Steuerung ist etwas aufwändiger aber auch schonender bei den Ressourcen, da ein Neuzeichnen des Labels nur bei einer wirklichen Änderung erfolgt.

cu

Oliver

Zitat von himitsu:
Du willst also alle 0,5 Sekunden die Webseite downloaden ... erlaubt das denn überhaupt der Webseitenbetreiber?
Da dieses doch schon etwas Traffic verursacht.
Kann ja auch seine eigene Seite sein, die er überwachen möchte, however. Aber auch im Internet ist Rücksichtnahme nicht fehl am Platz
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
noo.bee

Registriert seit: 13. Sep 2009
24 Beiträge
 
#8

Re: label.caption alle 0,5sec refreshen lassen ?

  Alt 13. Okt 2009, 21:45
naja ihr habt schon recht... der refresh ist ja immo nur alle 30 sek und es müssen keine genauen 30sek sein

Zitat:
Du hast ja sicher schon eine Prozedur\Funktion zum einlesen der Daten. Diese kannst Du dann wie Daniel bereits sagte Timergesteuert aufrufen.
japp, hab die procedure in den ttimer eingebuden und lasse es alle 30 sek abrufen schien mir am einfachsten zu realiseren
  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 05:44 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