Grupy dyskusyjne Google nie obsługują już nowych postów ani subskrypcji z Usenetu. Treści historyczne nadal będą dostępne.

pamięć urldownloadtofile....

44 wyświetlenia
Przejdź do pierwszej nieodczytanej wiadomości

krzysiek

nieprzeczytany,
27 gru 2003, 08:40:5727.12.2003
do
Hej wszystkim,

Co zrobić aby po kolejnym użyciu urldownloadtofile....w tej samej sesji
programu ściągany plik był aktualizowany?
Do tej pory mam problem bo powtarzana co 30 min operacja ściągania pliku
jest wykonywana ale zapisywany jest zawsze ten sam plik co był ściągany jako
pierwszy(ściągam jpg)..
innymi słowy aktalizacja nie nastepuje. - tak jakby komputer pamiętał to co
ściągnał z danego adresu i więcej się nie trudził. Uruchomienie programu
ponownie uaktualnia ściągany plik- ale przecież nie mogę tylko po to zamykać
i uruchamiać programu aby uaktualnić plik.
Czy istnieje jakiś rozkaz do skasowania tej podręcznej pamięci ściąganych
plików przez urldownloadtofile? lub inny sposób by poniższa procedura za
każdym razem wywołania ściągała nowy plik?

oto proc. która tylko raz ściąga plik- potem zapis następuje z jakiejś
pamięci.. zamiast z podanego adresu.

if
(urldownloadtofile(nil,'http://www.infomet.fcr.es/meteosat/ir-latest.jpg',
'c:\pogoda.jpg',0,nil)<>0) then goto koniec;

Bardzo proszę o pomoc jestem początkujący więc jeśli jakieś makabryczne byki
porobiłem to z góry przepraszam.

Krzysiek

Marek (MAROGO)

nieprzeczytany,
27 gru 2003, 19:16:2327.12.2003
do

Użytkownik "krzysiek" <las...@wp.pl> napisał w wiadomości
news:bsk2cs$l7r$1...@nemesis.news.tpi.pl...

> Hej wszystkim,
>
> Co zrobić aby po kolejnym użyciu urldownloadtofile....w tej samej sesji
> programu ściągany plik był aktualizowany?

Polecam do tego celu prosty komponencik HTTPGet. Do pobrania z:
http://www.utilmind.com/delphi/httpget.zip Demko:
http://www.utilmind.com/delphi/exe-demo/HTTPGetDemo.exe

Ma mozliwosc cache'owania pobranego pliku lub nie.

Krotki opis niektorych detali:

Properties:
FileName: String - ścieżka do lokalnego pliku w którym
zapisany będzie na dysku ściągany plik.
Password, UserName - ustawić ,jeśli chcesz pobierać dane
z katalogu zabezpieczonego hasłem.
URL: String - adres internetowy do sciąganego pliku
UseCache: Boolean - jeśli ustawione na True,pobierze ściągany
plik z Temporary Internet Files (jeśli juz tam jest),
jesli
False,to pobiera z netu zawsze swiezy plik.
Sam sprawdzalem.
Methods:
GetFile - pobiera plik z internetu i zapisuje go pod
nazwą FileName
GetString - rozpoczyna pobieranie danej z internetu i zwraca
ją jako String. String otrzymasz po wywołaniu
zdarzenia OnDoneString jako Result funkcji.
Abort - zatrzymuje ściąganie
Events:
OnDoneFile - występuje,gdy plik się ściągnął
OnDoneString - występuje gdy łańcuch się ściągnał
OnError - występuje,gdy pojawi się jakiś błąd
OnProgress - występuje,gdy ściąga się BINARY DATA,można
wykorzystać do ProgressBar-a

Pzdr.
Marek

Slava

nieprzeczytany,
29 gru 2003, 03:43:2329.12.2003
do

"krzysiek" <las...@wp.pl> wrote in message
news:bsk2cs$l7r$1...@nemesis.news.tpi.pl...

> if
> (urldownloadtofile(nil,'http://www.infomet.fcr.es/meteosat/ir-latest.jpg',
> 'c:\pogoda.jpg',0,nil)<>0) then goto koniec;

Hej,
gdzies/kiedysz czytalem ze jest nieopublikowany parameter - to zero, co
wstawiasz,
i jedna wartosc [1 ?] moze byc taka, zeby nie czytal z cache....
byc moze jest to zeby nie zapisywal do cache - teraz juz nie wiem...
i nie moge tego naraze odnalezc.... jeszcze poszukam..

DWORD dwReserved,


pozdrawiam,
slava

--
Květoslav Jansta
LCS International, a.s.
KJ(_at_at).Lcs.cz , http://www.Lcs.cz,
icq : 51076087


Slava

nieprzeczytany,
29 gru 2003, 03:57:1429.12.2003
do

"Slava" <DoNotSp...@lcs.cz> wrote in message
news:bsop9l$qe5$1...@news.onet.pl...

> > "krzysiek" <las...@wp.pl> wrote in message
news:bsk2cs$l7r$1...@nemesis.news.tpi.pl...
> >

(urldownloadtofile(nil,'http://www.infomet.fcr.es/meteosat/ir-latest.jpg',
> > 'c:\pogoda.jpg',0,nil)<>0)

> i jedna wartosc [1 ?] moze byc taka, zeby nie czytal z cache....


> byc moze jest to zeby nie zapisywal do cache - teraz juz nie wiem...
> i nie moge tego naraze odnalezc.... jeszcze poszukam..


OR :

3. příspěvek ve větvi
Od:Randy Birch (rgb_rem...@mvps.org)
Předmět:Re: URLDownloadToFile reads cached version on second attempt


View this article only
Newsgroups:microsoft.public.vb.winapi
Datum:2003-10-22 19:54:24 PST

Someone mentioned setting the reserved parameter in the API call to 2
prevented this. Give that a try.


-----
slava


babla

nieprzeczytany,
29 gru 2003, 07:19:2729.12.2003
do
1. Zamiast URLDownloadFile proponuję użyć klasy VCL implementującej już tą
funkcję łącznie z callbackami.
2. Nadpisując tę klasę z "lekką" modyfikacją można osiągnąć łatwo i
przyjemnie pożądany rezultat:
<code>
unit Downloader;

interface

uses
Classes, UrlMon, ExtActns;

type
TDownloader = class(TDownLoadURL)
protected
function GetBindInfo(out grfBINDF: Cardinal;
var bindinfo: _tagBINDINFO): HRESULT; reintroduce; stdcall;
end;

implementation

{ TDownloader }

function TDownloader.GetBindInfo(out grfBINDF: Cardinal;
var bindinfo: _tagBINDINFO): HRESULT;
begin
grfBINDF := BINDF_ASYNCHRONOUS or BINDF_ASYNCSTORAGE or
BINDF_DONTUSECACHE or BINDF_NOWRITECACHE or BINDF_PRAGMA_NO_CACHE;
Result := E_NOTIMPL;
end;

end.
</code>
... a potem używac tego:
<code>

procedure TForm1.DownloadProgressHTML(Sender: TDownLoadURL; Progress,
ProgressMax: Cardinal; StatusCode: TURLDownloadStatus;
StatusText: String; var Cancel: Boolean);
begin
case StatusCode of
dsFindingResource, dsConnecting:
begin
ProgressBar1.Visible := True;
lblInfo1.Visible := True;
end;
dsBeginDownloadData:
begin
ProgressBar1.Max := ProgressMax;
ProgressBar1.Position := Progress;
end;
dsDownloadingData:
begin
ProgressBar1.Position := Progress;
lblInfo1.Caption := format('Pobieranie... %d z %d kB', [Progress div
1000, ProgressMax div 1000]);
end;
dsEndDownloadData:
begin
BitmapProgressBar1.Visible := False;
lblInfo1.Visible := False;
end;
end;
Application.ProcessMessages;
end;

// tutaj caly kod

durl := TDownloader.Create(self);
try
durl.URL := http://www.kokoloko.pl/source.zip';
durl.Filename := 'C:\target.zip';
durl.OnDownloadProgress := DownloadProgressCallback;
durl.ExecuteTarget(nil);
finally
durl.Free;
end;
</code>

prawda że proste?

pozdrawiam serdecznie...
-----------
Andrzej Wąsik

Tocbac

nieprzeczytany,
29 gru 2003, 07:36:5329.12.2003
do

Użytkownik "babla" <n...@spam.pl> napisał w wiadomości
news:bsp61p$5o2$1...@atlantis.news.tpi.pl...

> 1. Zamiast URLDownloadFile proponuję użyć klasy VCL implementującej już tą
> funkcję łącznie z callbackami.
> 2. Nadpisując tę klasę z "lekką" modyfikacją można osiągnąć łatwo i
> przyjemnie pożądany rezultat:
> <code>
> unit Downloader;
>
> interface
>
> uses
> Classes, UrlMon, ExtActns;
>
> type
> TDownloader = class(TDownLoadURL)

> prawda że proste?

Jeszcze nie. ;-)
Będzie proste, kiedy wrzucisz mi na priv
TDownLoadURL. Na pewno do piątki nie ma.

Pozdrawiam

Tocbac.

Slava

nieprzeczytany,
29 gru 2003, 07:51:3229.12.2003
do

"Tocbac" <gn...@o2.pl> wrote in message
news:bsp74o$99q$1...@zeus.polsl.gliwice.pl...

>
> Użytkownik "babla" <n...@spam.pl> napisał w wiadomości
> > 1. Zamiast URLDownloadFile proponuję użyć klasy VCL

> > prawda że proste?


> Będzie proste, kiedy wrzucisz mi na priv
> TDownLoadURL. Na pewno do piątki nie ma.

no, jakosz w D5Ent tego tez nie widze :o(
A jak to tam jest konkretno zrobione ?
albo podeszlij mi na priv tez....

thx.,
slava


babla

nieprzeczytany,
30 gru 2003, 07:51:2530.12.2003
do
wysylam wiec na grupe bsc.public.bin, ok?


-----------
Andrzej Wąsik

Slava

nieprzeczytany,
31 gru 2003, 04:39:0231.12.2003
do
"babla" <n...@spam.pl> wrote in message
news:bsrs9t$8un$1...@atlantis.news.tpi.pl...

> wysylam wiec na grupe bsc.public.bin, ok?
ok,

no, miej wiecej tak mam moj kod napisany w D5 :o)
ExtActns.pas jest chyba az od Delphi 6...
hm... znow widze, ze nie ma poco przejsc z D5 dalej :o(
,bo jest tam kod, ktory juz dawno mam, tak samo jak bylo z XMLDOM.


aha, tak to calkowicie przegapilem, ze v UrlMon jest jeszcze :
BINDF_PRAGMA_NO_CACHE = $00002000;

zawsze uzywalem tylko :
BINDF_NOWRITECACHE = $00000020;

i w tym bedzie zakopany pies.
ok, dzienki za wskazanie nowego flag-a :o),

btw. tutaj jest caly opis BINDF
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/guide_ppc/htm/urlmon3_lkss.asp

pozdrawiam,
slava

--
Květoslav Jansta
LCS International, a.s.

KJ(at_at).Lcs.cz , http://www.Lcs.cz,
icq : 51076087


Nowe wiadomości: 0