![]() |
Jede Minute ein bild von einer IP holen... Prog. hängt!!!
Hallo,
ich möchte mir ein Programm schreiben das mir jede Minute ein Bild von meiner IP-Cam holt und in einem Ordner speichert. Die URL, auf die ich zugreifen muss um NUR das bild zu sehen ist hier an diesem PC "http://192.168.1.39:3333/cam.jpg" Mit welchem Code oder noch viel besser mit welcher Komponente (JEDI ist installiert) kann ich das am einfachsten und besten Lösen??? Ich erwarte hier keine fertigen lösungen oder so sondern eig. nur denkansätze, vorschläge oder vorlagen wie ich das machen kann, weil eigentlich will ja ich das Programm ja schreiben :-D :-D :-D danke für antworten!!! |
Re: Jede Minute ein bild von einer IP holen
Hi,
nimm die Indy IdHttp Komponente, das ganze kombinierst Du dann mit einem Timer oder noch besser in einem Thread und das wars schon. Gruß Data |
Re: Jede Minute ein bild von einer IP holen
danke, mit der komponente hab ichs hinbekommen!!!
was ich vorhabe: mit der IP-Cam morgen jede minute oder alle 10 minuten ein bild vom himmel zu machen und dann am abend zu nem Film zusammenschneiden. Sieht bestimmt nicht schlecht aus :-) |
Re: Jede Minute ein bild von einer IP holen
Zu früh gefreut:
Während ich das Bild downloade (ca. 15 sekunden) bleibt das Programm hängen... :( IdAntiFreeze ist auf das Projekt gezogen, bleibt trozdem hängen. :gruebel: Es läuft nur 1 download parallel. Wenn der Download fertig ist läuft alles weiter. OnlyWhenIdle hab ich schon auf True und auf False probiert, geht beides nicht!!! :coder2: nochma danke für alles antworten :-D :-D :-D |
Re: Jede Minute ein bild von einer IP holen... Prog. hängt!!
Hi,
wie gross sind den die Bilder wenn der Download 15 Sekunden dauerd ? Für Dein Problem gibt es 2 Lösungsmöglichkeiten : 1. Schreib Dir nen Thread der das ganze im Hintergrund erledigt, das wird definitiv funktionieren. 2. Setz beim IdAntiFreeze die Properies "ApplicationHasPriority" auf true und "OnlyWhenIdle" auf false. Gruß Data |
Re: Jede Minute ein bild von einer IP holen... Prog. hängt!!
Liste der Anhänge anzeigen (Anzahl: 1)
Da ich noch nie mit Threads gearbeitet habe und es ja anscheinend eine alternative gibt die auch überall außer bei mir läuft, würde ich methode 2 bevorzugen, aber das geht nicht :(
Im Anhang ein Screenshot und hier der Code:
Delphi-Quellcode:
unit laden;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, IdHTTP, XPMan, IdAntiFreezeBase, IdAntiFreeze; type TForm1 = class(TForm) IdHTTP1: TIdHTTP; Edit1: TEdit; Edit2: TEdit; Label1: TLabel; Label2: TLabel; Button1: TButton; Label3: TLabel; Status: TLabel; XPManifest1: TXPManifest; IdAntiFreeze1: TIdAntiFreeze; procedure Button1Click(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); var lStream: TFileStream; begin Status.Caption := 'Herunterladen...'; IdHTTP1.Head(Edit1.Text); lStream:=TFileStream.Create(Edit2.Text, fmCreate or fmShareDenyNone); try idHTTP1.Get(Edit1.Text, lStream); finally if Assigned(lStream) then lStream.Free; end; Status.Caption := 'Fertig!!!'; end; end. |
Re: Jede Minute ein bild von einer IP holen... Prog. hängt!!
Es gab mal einen Thread hier, wo genau dein Problem gelöst wurde. Musst mal nach IdHTTP + Thread suchen.
Ich weiß noch, dass ich auch meinen Senf dazugegeben hatte. Florian |
Re: Jede Minute ein bild von einer IP holen... Prog. hängt!!
OK, habe das Problem gelöst!!!
Das es alle wissen die das das Problem auch mal haben: In das Ereigniss OnWork vom IdHTTP einfach Application.ProcessMessages; eintragen, schon hängt nix mehr!!! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:18 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz