HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

Az Internet Explorer átmeneti tárolójába helyezett állományok megjelenítése, törlése


Példaprogram letöltése

4868 bájt

Miközben böngésszük a világhálót az Internet Explorer rendületlenül gyűjti egy mappába az összes általunk meglátogatott web oldal tartalmát. Ebbe a mappába kerülnek HTML állományok, kép állományok, bármi, ami csak kell az adott web oldal megjelenítéséhez. Amikor újra meglátogatjuk ugyanazt a web helyet, akkor a szükséges állományokat már nem kell letölteni, hanem csak ellenőrizni, hogy tartalmuk nem változott-e. Ha nem, akkor a web hely megjelenítése igen gyors lesz, mert az ebből a mappából történik, mely ilyenkor cache-ként működik.
Mellékelt példában egy olyan komponenst készítünk, mely képes az itt tárolt állományok eredeti URL-jének megjelenítésére és szükség esetén ezen állományok törlésére is.

A mellékelt példaprogram megnyitása előtt a DeleteCache.pas-ban lévő komponenst telepítenie kell a Delphi alá. Ehhez válassza a Component - Install Component menüpontot.
Ennek a cache mappának a fizikai helye függ az operációs rendszer verziójától és adott esetben az aktuálisan bejelentkezett felhasználótól is. Így például lehet ez az alábbi mappa is:
C:\Documents and Settings\Rendszergazda\Local Settings\Temporary Internet Files
Nézzük most a gyakorlatot:
A létrehozott komponens Execute függvényét kell meghívni abban az esetben, ha listáztatni, vagy esetleg törölni is szeretnénk a cache elemeit. Ez utóbbit a Delete logikai típusú property szabályozza.
procedure TDeleteCache.Execute;
begin
  size := 0;
A keresést a FindFirstUrlCacheEntry függvény hívásával indíthatjuk el. Előtte azonban szükségünk lesz arra a méretre, hogy a függvény működéséhez mekkora memória buffert kell lefoglalnunk. Ezt az értéket szintén e függvény adja meg, ha annak első és második paraméterében nil értéket adunk át.
  FindFirstUrlCacheEntry(nil, TInternetCacheEntryInfo(nil^), size);
  GetMem(icei, size);
  if size > 0 then begin
    icei^.dwStructSize:=size;
  end;
Ezek után már indíthatjuk a keresést, melyet egy repeat ciklusban ismétlünk addig, amíg csak van eleme a cache-nek.
  d:=FindFirstUrlCacheEntry(nil, icei^, size);
  if d <> 0 then begin
    repeat
A ciklusmagban egy eseményen keresztül értesítjük a komponensen kívüli világot arról, hogy újabb elem találtatott a cache-ben. Ilyenkor a megtalált objektum eredeti URL-jét át is adjuk az eseménykezelőnek.
      if Assigned(FOnDeleteFile) then begin
        FOnDeleteFile(self, icei^.lpszSourceUrlName);
      end;
Ha a Delete property igaz, akkor a DeleteUrlCacheEntry függvény hívásával töröljük az adott objektumot a cache-ből.
      if FDelete then begin
        DeleteUrlCacheEntry(icei^.lpszSourceUrlName);
      end;
      FreeMem(icei, size);
      size:=0;
A FindNextUrlCacheEntry függvény fogja a következő elemet elővenni a cache-ből. Ehhez azonban ismét szükséges egy nil paraméterekkel történő hívás, hogy megtudhassuk mekkora memória területet kell lefoglalnunk a híváshoz.
      FindNextUrlCacheEntry(d, TInternetCacheEntryInfo(nil^), size);
      GetMem(icei, size);
      if size > 0 then begin
        icei^.dwStructSize:=size;
      end;
      Application.ProcessMessages;
    until not FindNextUrlCacheEntry(d, icei^, size);
  end;
  FreeMem(icei, size);
A listázását a FindCloseUrlCache függvény hívása zárja.
  FindCloseUrlCache(d);
end;

Cikksorozat

#IDKategóriaCikk címeSorozat
1488DelphiMS SQL tárolt eljárások1. rész
1499DelphiMS SQL tárolt eljárások2. rész
1507DelphiMS SQL tárolt eljárások3. rész
1519DelphiMS SQL tárolt eljárások4. rész
1526DelphiMS SQL tárolt eljárások5. rész
1537DelphiMS SQL tárolt eljárások6. rész
1546DelphiMS SQL tárolt eljárások7. rész
1553DelphiMS SQL tárolt eljárások8. rész
1564DelphiMS SQL tárolt eljárások9. rész
1573DelphiMS SQL tárolt eljárások10. rész
1582DelphiMS SQL tárolt eljárások11. rész
1591DelphiMS SQL tárolt eljárások12. rész
1600DelphiMS SQL tárolt eljárások13. rész
1609DelphiMS SQL tárolt eljárások14. rész
1617DelphiMS SQL tárolt eljárások15. rész
1626DelphiMS SQL tárolt eljárások16. rész


Könyv
Ez a cikk megtalálható ebben a könyvben: Delphi Software Offline 2002 évkönyv 447. oldal

Felhasználási feltételek
A Software Online szoftverfejlesztői magazin mindegyik cikke, minden megjelent képe, és egyéb publikált anyaga szerzői jog védelme alatt áll! Bármilyen formában történő másodlagos terjesztésük, közzétételük vagy felhasználásuk kizárólag a kiadó előzetes írásbeli engedélyével történhet!

Copyright © 1999-2012 Animare Software Kft. Minden jog fenntartva!
| Készült: Animare Stúdió | Adatvédelem | Kapcsolat |