| Autor |
Beitrag |
Sniky
      
Beiträge: 53
|
Verfasst: Mo 21.04.08 15:24
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. 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
      
Beiträge: 1097
Erhaltene Danke: 2
|
Verfasst: 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 
      
Beiträge: 53
|
Verfasst: 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
      
Beiträge: 19346
Erhaltene Danke: 1754
W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: 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 
      
Beiträge: 53
|
Verfasst: 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 
|
|
Fighter#1
      
Beiträge: 787
Win XP, Ubuntu 8.04
Turbo Delphi 2006, Delphi 2005 Pe, Delphi 5 Pe, Netbeans 6.1, Eclipse, Microsoft VisualC#, Dev C++, PHP, HTML, CSS
|
Verfasst: 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?
_________________ Wer andere beherrscht ist stark,
wer sich selbst beherrscht ist mächtig. Lao Tse
|
|
Jakob_Ullmann
      
Beiträge: 1747
Erhaltene Danke: 15
Win 7, *Ubuntu GNU/Linux*
*Anjuta* (C, C++, Python), Geany (Vala), Lazarus (Pascal), Eclipse (Java)
|
Verfasst: 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
      
Beiträge: 19346
Erhaltene Danke: 1754
W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Mo 21.04.08 20:03
Du kannst auch den TWebBrowser benutzen. Darin kannst du eine Webseite wie im IE anzeigen.
|
|
Sniky 
      
Beiträge: 53
|
Verfasst: 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: 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
|
|
jaenicke
      
Beiträge: 19346
Erhaltene Danke: 1754
W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Mo 21.04.08 20:41
1. TWebBrowser aufs Formular.
2. WebBrowser1.Navigate mit der Adresse als Parameter aufrufen.
3. Freuen  .
Mehr zu dem Thema:
dn.codegear.com/article/27843
bzw.
forum.delphi-treff.d...wthread.php?t=4791#2
|
|
FinnO
      
Beiträge: 1331
Erhaltene Danke: 123
Mac OSX, Arch
TypeScript (Webstorm), Kotlin, Clojure (IDEA), Golang (VSCode)
|
Verfasst: 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 
      
Beiträge: 53
|
Verfasst: 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
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?
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
      
Beiträge: 193
Erhaltene Danke: 1
Win XP, Win 7, BS2000
D5
|
Verfasst: 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; |
_________________ I know all the jokes about my name
|
|
Sniky 
      
Beiträge: 53
|
Verfasst: 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
ich glaub ich bin für delphi echt nicht gemacht
kannst du mir da bitte noch mal helfen?
Vielen Dank!
Liebe Grüße,
Sniky
|
|
Sniky 
      
Beiträge: 53
|
Verfasst: 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
      
Beiträge: 193
Erhaltene Danke: 1
Win XP, Win 7, BS2000
D5
|
Verfasst: 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 
_________________ I know all the jokes about my name
|
|
Sniky 
      
Beiträge: 53
|
Verfasst: 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  |
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
      
Beiträge: 193
Erhaltene Danke: 1
Win XP, Win 7, BS2000
D5
|
Verfasst: 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
_________________ I know all the jokes about my name
|
|
Sniky 
      
Beiträge: 53
|
Verfasst: 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
      
Beiträge: 2598
Erhaltene Danke: 156
Ubuntu 13.04, Win 7
C# (VS 2013)
|
Verfasst: 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 weiter.
|
|