Entwickler-Ecke
Internet / Netzwerk - Bild alle Sekunde von Webseite laden ohne es zu speichern...
Sniky - Mo 21.04.08 15:24
Titel: Bild alle Sekunde von Webseite laden ohne es zu speichern...
Hallo Ihr Lieben,
ich hab da mal eine Frage, ist es irgend wie möglich ein und das gleiche Bild immer wieder von einer Webseite in Delphi anzuzeigen ohne es zu cachen?
Mal zur Erklärung.
Wir haben hier eine WebCam auf einer Seite zu laufen und diese zeigt ja nun alle paar Sekunden ein Bild an. Wo dieses Bild her kommt (also den Link zum Bild kenn ich ja auch, ist aber immer der selbe, also z.B.
http://www.meine-seite.de/webcam.jpg)
So nun wollen wir gerne bei einem Kinderfest oder so für die Eltern der Kinder die auf der WebCam zu sehen sind ein kleies Programm starten, welches dann alle Sekunde dieses Bild läd. Am schönsten wäre natürlich wenn es mit dem alten überblendet werden würde. Wichtig wäre auch noch, es vielleicht so zu machen, das wenn er kein neues Bild findet das alte so lange anzeigt bis ein neues angezeigt werden kann oder ebend angezeigt wird, das keine Bilder mehr verfügbar sind... Da ja irgend wann nach einem Kinderfest oder so die Cam abgeschaltet wird.
Könntet ihr wir da vielleicht irgend wie helfen das zu realisieren?
Vielen Dank schon mal im vorraus für das lesen meines Beitrags und nun hoffe ich wirklich sehr auf eure hilfe... Ich muß noch dazu sagen, dass ich nicht besonders viel ahnung von delphi habe und hier mit der Enterprise version 6 arbeite.
Vielen Dank und Liebe Grüße,
Sniky
Moderiert von
Christian S.: Topic aus Sonstiges (Delphi) verschoben am Mo 21.04.2008 um 16:24
Chryzler - Mo 21.04.08 16:01
Sollte ned schwer sein. Such mal im Forum wie man Dateien runterlädt, mit der Indykomponente gehts warscheinlich am einfachsten (wobei ich mir nicht sicher bin ob es Indy für Delphi 6 gibt). Dazu noch nen Timer - fertig. ;)
Sniky - Mo 21.04.08 16:19
Chryzler hat folgendes geschrieben: |
| Sollte ned schwer sein. Such mal im Forum wie man Dateien runterlädt, mit der Indykomponente gehts warscheinlich am einfachsten (wobei ich mir nicht sicher bin ob es Indy für Delphi 6 gibt). Dazu noch nen Timer - fertig. ;) |
Ja sind dabei... nur weiß ich jetzt trotzdem nicht so genau wie ich das machen könnte :( ich such aber auch schon die ganze zeit hier im forum... ich werd mal jetzt noch mal nach indy suchen, vielleicht find ich ja da was passendes.
Danke...
Viele Grüße,
Sniky
jaenicke - Mo 21.04.08 16:22
Es gibt UrlDownloadToFile, das benutzt soweit ich weiß allerdings den Cache des IE, insofern weiß ich nicht, ob es da Probleme geben könnte. Auf jeden Fall wäre es eine sehr einfache Lösung.
Herunterladen in ein temporäres Verzeichnis und das Bild ins Programm laden.
Sniky - Mo 21.04.08 16:26
jaenicke hat folgendes geschrieben: |
Es gibt UrlDownloadToFile, das benutzt soweit ich weiß allerdings den Cache des IE, insofern weiß ich nicht, ob es da Probleme geben könnte. Auf jeden Fall wäre es eine sehr einfache Lösung.
Herunterladen in ein temporäres Verzeichnis und das Bild ins Programm laden. |
oder gibt es irgend wie eine möglichkeit eine php datei in der ein kleines javaScript läuft in delphi rein zu laden? das wäre mir ja fast noch viel viel lierber :D
Fighter#1 - Mo 21.04.08 18:34
Wenn du es nicht über den Dateiweg machen möchtest musst du es runterstreamen ... dh, du brauchst einen Stream, mit dem du die einzelnen Zeichen in eine Streamvariable lädst und diese lädst du mit Image blabla .picture.loadfromstream(mystream) ... wie du den Stream hinkriegst weiß ich nich =/ ... könntest nen HTTP Request an den Server schicken in dem du die Bilddatei forderst und dann halt das was du zurückkriegst eben in den stream tust.
klar soweit?
Jakob_Ullmann - Mo 21.04.08 18:58
Wenn du ein Bild PRO SEKUNDE von einer Website laden willst, wirst du denke ich nicht viel mehr außer ein Flackern zu sehen bekommen...
jaenicke - Mo 21.04.08 20:03
Du kannst auch den TWebBrowser benutzen. Darin kannst du eine Webseite wie im IE anzeigen.
Sniky - Mo 21.04.08 20:38
jaenicke hat folgendes geschrieben: |
| Du kannst auch den TWebBrowser benutzen. Darin kannst du eine Webseite wie im IE anzeigen. |
Ja das will ich machen, danach such ich schon den ganzen tag... ich find aber leider kein ganz kurzes beispiel wo wirklich nur eine seite eingeladen wird (z.B:
http://www.meineseite.de/bilder.php) mehr will ich ja gar nicht... ich hab zwar schon ein paar quellcode gefunden, wenn ich die dann aber in ein neues delphi formular kopiere lief das bis jetzt noch nie... mir würde wirklich so eine *.dfm datei, die ich dann mit einbauen kann reichen... aber man findet sowas wirklich nirgens... könnte mir jemand vielleicht sowas machen?
EDIT: in bilder.php würde dann ein Ajax Script die Bilder alle Sekunde anzeigen... das hätte ich dann auch schon fertig und hoffe das wäre kein Problem?
es soll auch wirklich nichts weiter können, nur ein kleines fenster wo eine seite eingeladen wird... mehr nicht.
Vielen Dank für eure mühe!
Liebe Grüße,
Sniky
FinnO - Mo 21.04.08 20:42
? du packst ins Create ereigness von deinem Form einfach
Delphi-Quelltext
1: 2: 3:
| begin MyBrowser.Navigate('www.Meineurl.de/MeinBild.jpg'); end; |
fertich
€ wieder schneller :(
Sniky - Mo 21.04.08 20:50
FinnO hat folgendes geschrieben: |
? du packst ins Create ereigness von deinem Form einfach
Delphi-Quelltext 1: 2: 3:
| begin MyBrowser.Navigate('www.Meineurl.de/MeinBild.jpg'); end; |
fertich
€ wieder schneller :( |
das ist bestimmt so einfach wie du da schreibst... aber für jemanden der das noch nie gemacht hat wohl ehr weniger :oops:
so sieht meine Datei aus nach dem ich eine erstellt habe und einen TWebBrowser mit rein packe und wo pack ich jetzt deinen code hin, damit das auch mal funktioniert? :D
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25:
| unit Unit1;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, OleCtrls, SHDocVw;
type TForm1 = class(TForm) WebBrowser1: TWebBrowser; private public end;
var Form1: TForm1;
implementation
{$R *.dfm}
end. |
ich hab echt gar keine ahnung... vielen dank noch mal für deine mühe.
Liebe Grüße,
Sniky
Moderiert von
Narses: Code- durch Delphi-Tags ersetzt
bflegel - Mo 21.04.08 21:10
Hallo Sniky,
was FinnO meinte:
Im ObjektInspektor wählst Du Deine Form aus, gehst auf die Ereignisse. Dort ist ein "OnCreate". Doppelklick darauf und Du kannst den Text von FinnO eingeben.
bye
bflegel
//Edit: Bzw. wenn Dein Webbrowser "WebBrowser1" heißt, muss es natürlich heißen:
Delphi-Quelltext
1: 2: 3:
| begin WebBrowser1.Navigate('www.Meineurl.de/MeinBild.jpg'); end; |
Sniky - Mo 21.04.08 21:17
bflegel hat folgendes geschrieben: |
Hallo Sniky,
was FinnO meinte:
Im ObjektInspektor wählst Du Deine Form aus, gehst auf die Ereignisse. Dort ist ein "OnCreate". Doppelklick darauf und Du kannst den Text von FinnO eingeben.
bye
bflegel
//Edit: Bzw. wenn Dein Webbrowser "WebBrowser1" heißt, muss es natürlich heißen:
Delphi-Quelltext 1: 2: 3:
| begin WebBrowser1.Navigate('www.Meineurl.de/MeinBild.jpg'); end; | |
Das ist ja ebend mein Problem, klicke ich jetzt 2 mal auf dieses weiße felt was ja der TWebBrowser ist, kommt folgende Meldung:
No property pages are available for this control
und ein OnCreate find ich auch nirgens :oops:
ich glaub ich bin für delphi echt nicht gemacht :cry:
kannst du mir da bitte noch mal helfen?
Vielen Dank!
Liebe Grüße,
Sniky
Sniky - Mo 21.04.08 21:23
Hat sich erledigt, habs hin bekommen vielen dank an euch beide!
Liebe Grüße,
Sniky
Moderiert von
Narses: Zitat entfernt
bflegel - Mo 21.04.08 21:25
Klicke nicht auf das weiße Feld des Webbrowsers, sondern auf die Form (das Fenster, welches sich als erstes geöffnet hat, als Du Delphi gestartet hast)!
Links im ObjektInspektor steht dann "Form1: TForm1"
Darunter hast Du 2 Reiter:
Eigenschaften | Ereignisse
Klicke auf Ereignisse. Dann siehst Du "OnCreate". Doppel-klicke auf das Feld rechts neben "OnCreate" und trage den Befehl ein.
bye
bflegel
//Edit:
Hmmmm - dann war ich zu langsam 8)
Sniky - Mo 21.04.08 21:32
bflegel hat folgendes geschrieben: |
Klicke nicht auf das weiße Feld des Webbrowsers, sondern auf die Form (das Fenster, welches sich als erstes geöffnet hat, als Du Delphi gestartet hast)!
Links im ObjektInspektor steht dann "Form1: TForm1"
Darunter hast Du 2 Reiter:
Eigenschaften | Ereignisse
Klicke auf Ereignisse. Dann siehst Du "OnCreate". Doppel-klicke auf das Feld rechts neben "OnCreate" und trage den Befehl ein.
bye
bflegel
//Edit:
Hmmmm - dann war ich zu langsam 8) |
ja aber trotzdem danke... vielleicht kannst du mir ja gleich noch mal helfen, kann ich bei dem webbrowser den scrollbalken komplett weg machen? also auch den rechten srollbalken? den brauch ich eigentlich nicht, scrollen soll da keiner :)
Vielen Dank noch mal.
Liebe Grüße,
Sniky
bflegel - Mo 21.04.08 21:40
Auf "konventionellem" Wege über Eigenschaften anscheinend nicht. Ob es andere Möglichkeiten gibt weiss ich leider nicht.
bye
bflegel
Sniky - Mo 21.04.08 21:42
bflegel hat folgendes geschrieben: |
Auf "konventionellem" Wege über Eigenschaften anscheinend nicht. Ob es andere Möglichkeiten gibt weiss ich leider nicht.
bye
bflegel |
oje, na ok trotzdem Danke :)... vielleicht weiß es ja jemand anderes?
Yogu - Mo 21.04.08 21:46
Sniky hat folgendes geschrieben: |
| kann ich bei dem webbrowser den scrollbalken komplett weg machen? |
Ich glaube, das geht irgendwie mit JavaScript. Vielleicht hilft dir
SelfHTML [
http://www.selfhtml.org] weiter.
Sniky - Mo 21.04.08 22:55
Yogu hat folgendes geschrieben: |
Sniky hat folgendes geschrieben: | | kann ich bei dem webbrowser den scrollbalken komplett weg machen? |
Ich glaube, das geht irgendwie mit JavaScript. Vielleicht hilft dir SelfHTML [http://www.selfhtml.org] weiter. |
stimmt wohl, der weg kann doch so einfach sein im body einfach ein scroll="no" und weg ist er :D
Danke noch mal an alle!
Liebe Grüße,
Sniky
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!