Autor Beitrag
palama
Hält's aus hier
Beiträge: 9



BeitragVerfasst: Do 25.07.02 16:27 
habe folgenden code:

ausblenden Quelltext
1:
2:
3:
4:
5:
uses urlmon;

lauf:=lauf+1;
temp:='d:\webcam\fullsize'+inttostr(lauf)+'.jpg';
UrlDownloadToFile(nil, 'http://webcam.wippermann.de/fullsize.jpg', pChar(temp), 0, nil);


das prog soll mittels timer immer wieder ein bild speichen. dieses jpg ändert sich aber von sekunde zu sekunde (webcam - zu beobachten im web-browser/aktualisieren). es sollten also viele verschiedene bilder entstehen!
es wird allerdings immer nur ganz oft das bild gespeichert, welches zu der zeit des programmstarts gehört. :(

was mache ich falsch?

cu euer palama
hitstec
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 295



BeitragVerfasst: Do 25.07.02 18:15 
Hi,

kannst du deine Frage noch ein bißchen näher erleutern vielleicht mit mehr Quelltext.

Ich kann es nicht ganz nachvollziehen. :?
Ex0rzist
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 550

Win XP Prof.
Mandrake 10.0

D6
BeitragVerfasst: Do 25.07.02 23:38 
Mit diesem Schnipsel Quelltext ist alles in Ordnung.
Was interessant ist, ist die OnTimerProzedur.
Kann es vielleicht sein, dass du nicht den aktualisierten Dateinamen verwendest?

Gruß,
Ex0rzist
M4EiB
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 41



BeitragVerfasst: Fr 26.07.02 02:41 
*vermutung an*
ich benutzt urlmon zwar nicht aber, aber die proceduren werden ja auch vom internet-exploerer beuntzt.
es könnte ja sein das er das bild dann immer aus dem cache von der festplatte läd.
aber alles nur spekulation, habe keinen plan von urlmon.
*vermutung aus*
DeCodeGuru
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1333
Erhaltene Danke: 1

Arch Linux
Eclipse
BeitragVerfasst: Fr 26.07.02 10:33 
Hi Leute,

@M4EiB: Deine Vermutung ist gar nicht so schlecht, weil man ja auch bemerkt, dass der Download von einer datei, die man zweimal am gleichen Tag, ohne dass ein Neustart erfolgte, beimzweiten mal wesentlich schneller war als zuvor. Soll heiße, dass die Datei eigentlich sofot da ist.

--> Die Datei liegt immer noch im Cache.

Man müsste also den Cache leeren, und die Datei dann runterladen. Ich werde mich mal in der Richtung auch ein bisschen umgucken.

_________________
Viele Grüße
Jakob
Savage
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 110



BeitragVerfasst: Fr 26.07.02 11:48 
Um das Cachen zu unterdrücken, könntest du auch direkt deinen Request mittels einer TClientsocket Kompo machen:
Du brauchst dazu "nur" unter Adresse die IP des Webservers oder eines Proxys anzugeben und den richtigen Port (ich glaube 80 oder 8080).

Wenn der TClientsocket dann richtig verbunden hat, sendest du einfach einen HTTP Request:

ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
if clientsocket1.Socket.Connected then
  begin
    clientsocket1.Socket.SendText('GET http://webcam.wippermann.de/fullsize.jpg  HTTP/1.1');
    clientsocket1.Socket.SendText('no-cache:');  //File nicht vom Cache holen
    clientsocket1.Socket.SendText('');
    clientsocket1.Socket.SendText('');  //wichtig: 2 Leerzeilen senden.
  end;


Danach wird dir vom Server wieder ein Header gesendet, danach eine Leerzeile und danch die Nutzlast - dein Picture, und wenn er fertig ist, wird die Connection wieder geschlossen. So zur theorie.

Näheres zum HTTP-Verkehr: www.bolege.de/http-header/

Das wäre zumindest ein möglichkeit, es geht aber bestimmt auch noch anders.

Aber vieleicht konnte ich dir etwas helfen.

mfg
Savage
Steffer
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 299



BeitragVerfasst: Fr 26.07.02 11:56 
Schau dir mal das Beispeil von toms an:www.faqsen.de/find.j...544850495350495148;2
Download ohne Cache

_________________
Keine Signatur ...
M4EiB
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 41



BeitragVerfasst: Fr 26.07.02 13:08 
hi

probier es mal so: das idhttp ist der http cllient von indy, falls du das nicht hast, kannst du dir es hier downloaden:www.nevrona.com/indy/

ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
 
var
 buffer:tfilestream;
 ...
 ...
 ...
 lauf:=lauf+1;
 buffer := tfilestream.create('d:\webcam\fullsize'+inttostr(lauf)+'.jpg',fmcreate,fmShareDenyNone);
 try
  idhttp1.Get('http://webcam.wippermann.de/fullsize.jpg',buffer);
 except
 end;

 buffer.free;
matze
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 4613
Erhaltene Danke: 24

XP home, prof
Delphi 2009 Prof,
BeitragVerfasst: So 29.09.02 15:44 
nur nochmal zur sicherheit: damit wird jedes mal die Datei neu geladen ??? Ohne cache ??

_________________
In the beginning was the word.
And the word was content-type: text/plain.